|
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 |