|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: select-distinct in for-each ?
On Sun, 3 Oct 1999, Jarno Elovirta wrote:
>
> ...
> Works for me if your source should've used the c instead of x.
>
Jarno,
Thanks for your help ... my test data was not
correctly described. As it turns out .. *blush*
David's answer is right on (which is why it is in
the FAQ). My problem was whitespace: some of my
tags had <c> X </c> and others had <c>X</c>. I've
always thought of them as equivalent... but I guess
not. *sigh*
..
Can this be fixed? (remove whitespace matching problems?)
Rather than require this strict conformance for my
XML users, I tried to modify David's distinct-select
to use normalize(), only this seems to break things.
Without the "normalize" stuff, I get exactly
what I had expected "XYZ". However, when I add
the "normalize() calls as below, it does not
seem to be doing the test ... "XXXXYZZ".
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"
xmlns:xt="http://www.jclark.com/xt"
extension-element-prefixes="xt">
<xsl:template match="root">
<xsl:for-each select="//c[not(normalize(text())
=normalize(following::c/text()))]" >
<xsl:sort order="ascending" select="." />
<xsl:value-of select="." />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
........
<?xml version="1.0"?>
<root>
<a>
<b id="101" >
<c>X</c>
</b>
<b id="102" >
<c>Y</c>
</b>
<b id="103" >
<c>X</c>
</b>
<b id="104" >
<c>Z</c>
</b>
<b id="105" >
<c>Z</c>
</b>
<b id="106" >
<c>Z</c>
</b>
</a>
<a>
<b id="201" >
<c>X</c>
</b>
<b id="202" >
<c>Z</c>
</b>
</a>
<a>
<b id="301" >
<c>X</c>
</b>
<b id="302">
<c>X</c>
</b>
</a>
</root>
XSL-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








