|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] position matching
Hai All,
I am working on automatic XSLT generation project and here is the
mapping table.
Here is my XML file:
<map>
<source>article</source>
<source>@docsubtype</source>
<source>@version</source>
<target>article</target>
<target>@article-type</target>
<target>@dtd-version</target>
</map>
My stylesheet:
<xsl:template match="map">
<xsl:if test="count(child::source) = count(child::target) and
count(child::*) != 2">
<mac:template match="{source[1]}">
<mac:element name="{target[1]}">
<xsl:for-each select="target[position() > 2">
<mac:attribute name="substring-after({target},'@')"><mac:value-of
select="preceding-sibling::source[position()]"/></mac:attribute>
<xsl:for-each>
<mac:apply-templates select="@*|node()"/>
</mac:element>
</mac:template>
</xsl:if>
</xsl:template>
Expected Output:
<xsl:template match="article>
<xsl:element name="article">
<xsl:attribute name="article-type"><xsl:value-of
select="@docsubtype"></xsl:attribute>
<xsl:attribute name="@dtd-version"><xsl:value-of
select="@version"></xsl:attribute>
</xsl:element>
<xsl:template>
I am not getting the desired result. Please let me know where I am going wrong.
Regards,
Ganesh
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








