[Home] [By Thread] [By Date] [Recent Entries]
First, I'd like to thank Ken Hollman for all the help he has given me.
He has saved this list much wasted bandwidth in answering my questions.
Here is a problem I am having that I think may be a grouping problem. Imagine I have nested lists of items within a document, something like this: <section name="first">
<nestlist name="level_1">
<item name="apple"/>
<item name="orange"/>
<item name="truck"/>
<item name="foo"/>
<nestlist name="level_2">
<item name="orange"/>
<item name="bar"/>
<item name="truck"/>
<nestlist name="level_3">
<item name="orange"/>
<item name="foo"/>
<item name="fnord"/>
<item name="truck"/>
<nestlist name="level_4">
<item name="foobar"/>
<item name="apple"/>
<item name="bar"/>
</nestlist>
</nestlist>
</nestlist>
</nestlist>
</section>I would like to be able to select the first instance of every item in the above with a specific name attribute, without having prior knowledge of what that name might be. For example, I would like to be able to create a select statement that would process item elements along these lines: - apple orange truck and foo in the level_1 nestlist - bar in the level_2 nestlist - fnord in level_3 - foobar in level_4 I have very large lists like this, and need to perform operations on the first occurance of a unique name. I have been attempting it with something like: <xsl:for-each select="section">
<xsl:variable name="sectname" select="$name"/>
<xsl:for-each select="//nestlist/item">
<xsl:variable name="name" select="@name"/>
<xsl:for-each select="(/section//nestlist/item[@name=$name])[1]">
<!--Do something here-->
</xsl:for-each>
+</xsl:for-each>
</xsl:for-each>But, it seems, this is not valid. How would I go about this? XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|

Cart



