[Home] [By Thread] [By Date] [Recent Entries]
Anthony, just your luck there've been at least 3 posts today about just this
business of determining some property of a "related" node.
So, this XML (yours, extended): <data>
<LeftNavTree n="1">
<LeftNavParamList>
<SelectedNode>Link 1.1.1</SelectedNode>
</LeftNavParamList>
<TreeNodeList>
<TreeNode>
<NodeID>Link 1</NodeID>
<NodeContent>...</NodeContent>
<TreeNodeList>
<TreeNode>
<NodeID>Link 1.1</NodeID>
<NodeContent>...</NodeContent>
<TreeNodeList>
<TreeNode>
<NodeID>Link 1.1.1</NodeID>
<NodeContent>...</NodeContent>
</TreeNode>
</TreeNodeList>
</TreeNode>
</TreeNodeList>
</TreeNode>
</TreeNodeList>
</LeftNavTree><LeftNavTree n="2">
<LeftNavParamList>
<SelectedNode>Link 2.2.2</SelectedNode>
</LeftNavParamList>
<TreeNodeList>
<TreeNode>
<NodeID>Link 2</NodeID>
<NodeContent>...</NodeContent>
</TreeNode>
</TreeNodeList>
</LeftNavTree>
</data>With this XSL: <?xml version="1.0" encoding="iso8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/">
<data>
<xsl:apply-templates select="//NodeID"/>
</data>
</xsl:template><xsl:template match="NodeID"> <xsl:copy> <xsl:attribute name="SelectedNode"> <xsl:value-of select="ancestor::LeftNavTree//SelectedNode[1]"/> </xsl:attribute> <xsl:value-of select="."/> </xsl:copy> </xsl:template> </xsl:stylesheet> Yields this: <?xml version="1.0" encoding="UTF-8"?> <data> <NodeID SelectedNode="Link 1.1.1">Link 1</NodeID> <NodeID SelectedNode="Link 1.1.1">Link 1.1</NodeID> <NodeID SelectedNode="Link 1.1.1">Link 1.1.1</NodeID> <NodeID SelectedNode="Link 2.2.2">Link 2</NodeID> </data> Of course, you could optimize this quite a few ways, but you get the idea. Regards, --A From: Anthony <apwebdesign@xxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: select a node: child of an ancestor Date: Thu, 19 May 2005 16:55:51 -0700 (PDT) _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
|

Cart



