|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Adding attributes to all ancestors of a given node (wa
Mac,
(I changed the thread) You wrote: I am trying to simply duplicate an XML tree with the addition of adding an attribute to all the ancestors of a given element. That's a tip-off. This is an application of a near-identity transformation: <xsl:template match="node()|@*">
<xsl:copy>
<xsl:if test="descendant::*[@task='1']">
<xsl:attribute name="task">
<!-- your attribute's value goes here -->
</xsl:attribute>
</xsl:if>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>It simply adds a 'task' attribute to any element that has a descendant with your criterion. Since attributes have no descendants, it isn't a problem to handle them in the same template. Since the template doesn't match the root node (q: why doesn't it?), we don't need to worry about it either (it'll be handled by default). Cheers, Wendell ___&&__&_&___&_&__&&&__&_&__&__&&____&&_&___&__&_&&_____&__&__&&_____&_&&_
"Thus I make my own use of the telegraph, without consulting
the directors, like the sparrows, which I perceive use it
extensively for a perch." -- ThoreauXSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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








