[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Grouping based on element content
Subject: [xsl] Grouping based on element content From: "Ganesh Babu N" <nbabuganesh@xxxxxxxxx> Date: Tue, 25 Nov 2008 18:57:17 +0530 |
Dear All, Inspired by the Bob DuCharme article on Automating Stylesheet Creation, I am trying to create automatic XSL from meta XML prepared from a table. Here is the XML file of mapping table and needs to be converted into source and target groups based on "to". But when i apply my stylesheet all the <Cell> are getting converted into <source>. Please guide me where I am going wrong. Input XML: <Row> <Cell><Data ss:Type="String">doi</Data></Cell> <Cell><Data ss:Type="String">pii</Data></Cell> <Cell><Data ss:Type="String">aid</Data></Cell> <Cell><Data ss:Type="String">to</Data></Cell> <Cell><Data ss:Type="String">article-id</Data></Cell> <Cell><Data ss:Type="String">@doi</Data></Cell> <Cell><Data ss:Type="String">@pii</Data></Cell> <Cell><Data ss:Type="String">@publisher-id</Data></Cell> </Row> XSL: <xsl:template match="ss:Row"> <xsl:element name="map"> <xsl:for-each-group select="ss:Cell/ss:Data" group-ending-with="*[text() eq 'to']"> <xsl:for-each select="current-group()"> <source><xsl:apply-templates/></source> </xsl:for-each> </xsl:for-each-group> </xsl:element> </xsl:template> Expected output: <map> <source>doi</source> <source>pii</source> <source>aid</source> <target>article-id</target> <target>@doi</target> <target>@pii</target> <target>@publisher-id</target> </map>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] help with an 'or', Jennifer Pollard | Thread | Re: [xsl] Grouping based on element, David Carlisle |
[xsl] help with an 'or', Jennifer Pollard | Date | re: [xsl] help with an 'or', Vladimir Nesterovsky |
Month |