Subject: RE: [xsl] Creating multiple nodes from a source node data From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 18 Sep 2009 09:11:43 +0100 |
> I'm trying to find a way to transform an XML element text and > form elements using that text. > > I/P XML > > <info> > <p> Name:</p> > </nl>emp1 > <p>Emp No:</P> > </nl>1234 > <p>address:</p> > </nl>address1 > </nl>--------------- > <p>Name:</p> > </nl>emp2 > <p>Emp No:</p> > </nl>12345 > <p>address:</p> > </nl>address2 > </info> I hope that's not your input, because it's not XML. But assuming that's just carelessness, the way to solve this kind of problem in XSLT 2.0 is with <xsl:template match="info"> <xsl:for-each-group select="node()" group-starting-with="text()[.='------------']"> <emp> <xsl:apply-templates select="current-group()"/> </emp> </ </ Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > > Desired O/P XML > > <emp> > <empinfo> > <empname>emp1</empname> > <empno>1234</empno> > </empinfo> > <empaddress> > <address>address1</address> > </empaddress> > </emp> > <emp> > <empinfo> > <empname>emp2</empname> > <empno>12345</empno> > </empinfo> > <empaddress> > <address>address2</address> > </empaddress> > </emp> > > In input XML ------------ is a delimiter which signifies the > starting of new emp info. > I'm using XSL version 2.0, can the gurus please suggest me a > way to achieve this. > > -- > Regards, > Byran
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Creating multiple nodes f, Christopher R. Maden | Thread | [xsl] Group elements by two keys, Jens Reese |
Re: [xsl] Creating multiple nodes f, Christopher R. Maden | Date | Re: [xsl] Problem with count iterat, J23 |
Month |