[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Keeping track of processed nodes, to avoid redunda
Subject: Re: Keeping track of processed nodes, to avoid redundant output.
From: George Cristian Bina <george@xxxxxxxxxxxxx>
Date: Tue, 11 Sep 2007 13:48:35 +0300
|
Hi John,
You can define a key that matches enElement and use the name attribute.
Then you can process only the first element that matches a given value:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:key name="name" match="anElement" use="@name"/>
<xsl:template match="/">
<out><xsl:apply-templates/></out>
</xsl:template>
<xsl:template match="anElement">
<xsl:if test="generate-id(.)=generate-id(key('name', @name)[1])">
<name><xsl:value-of select="@name"/></name>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Regards,
George
---------------------------------------------------------------------
George Cristian Bina - http://aboutxml.blogspot.com/
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
John Smith wrote:
Hello,
This is a simplified description of what I am trying to do, I have an
xml document like this:
<main>
<someElement>
<anElement name="John" />
</someElement>
<someElement>
<anElement name="Jane" />
</someElement>
<someElement>
<anElement name="John" />
</someElement>
<someElement>
<anElement name="Jane" />
</someElement>
</main>
and I like to retrieve each 'name' attribute from 'anElement', but I
only want to process the name once. So if the 'John' attribute is
repeated I want to somehow keep track that I have already processed
it, hence there is no need to process it again.
So for the given example I like to output something like:
<out>
<name>John</name>
<name>Jane</name>
</out>
Thanks,
John
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|