Apart from using xslt to transform the structure of my original XML
document, i want to:
1) only transform those elements that are "part of a list" (i
need to be
able to specify/restrict the selection to the elements "B"
with attributes
"C" and "D" in the example below).
2) i want to rename the attribute of these selected elements
(so attribute
"C" will be renamed into "renamed_C", etc.)
Is this possible??
The general approach is to write an identity template rule that copies
elements across unchanged:
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
and then add an overriding rule for elements that you want to modify, e.g.
to rename attribute C of element B do
<xsl:template match="B">
<xsl:copy>
<xsl:copy-of select="@* except C"/> <!-- this is XPath 2.0 syntax -->
<xsl:attribute name="renamed_C"><xsl:value-of
select="@C"/></xsl:attribute>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--