|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: how to rename attributes and restrict selection?
> 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/
|
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








