FWIW, a 1.0 solution without Muenchian grouping:
<xsl:template ...>
...
<xsl:variable name="keep"><xsl:apply-templates><xsl:sort select="name()"
/></xsl:apply-templates></xsl:variable>
count: <xsl:value-of select="string-length(normalize-space($keep))" />
</xsl:template>
<xsl:template match="*[name()=name(preceding-sibling::*[1])]" />
<xsl:template match="*[not(starts-with(name(), 'WAAUX'))]" />
<xsl:template match="*[not(translate(substring(name(),6,2),
'0123456789','') = '')]" />
<xsl:template match="*">0</xsl:template>
Khorasani, Houman wrote:
HI David,
muenchian grouping; I have to read and learn more about it. However I
can imagine what the index is supposed to do; to prevent the counting of
doubles in my case.
I don't get an error with your code. However I get a count of 10 when I
should have gotten 2.
<WAAUX03MeterPulse action="add">
<WAAUX03WithholdNumber action="add">
<WAAUX01MeterPulse action="add">
<WAAUX01Bar141 action="add">
<WAAUX01CallBarring action="add">
<WAAUX01Line action="add">
<WAAUX03ICB action="add">
<WAAUX01OCBE action="add">
<WAAUX03OCB action="add">
<WAAUX03Line action="add">
It still counts everything with WAAUX following two digits, which are
10.
As I said, I am very new to muenchian grouping. However could it be that
this is wrong:
<xsl:key name="WAAUX" match="*[starts-with(name(),'WAAUX')]"
use="name()"/>
Because not each element that starts with WAAUX needs a unique index.
But each element that starts with WAAUX AND a two number digits needs a
unique index, right? But how is this possible? The Translate won't help
in this situation. Unless the problem is somewhere else...
Many thanks
Houman
-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk]
Sent: 06 October 2005 10:38
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Wildcard problem
However the translate() funcation eliminates this differences.
Is that possible or too complicated for XSLT?
You just need to do the de-duplication before the translate.
eg using keys (muenchian grouping)
<xsl:key name="WAAUX" match="*[starts-with(name(),'WAAUX')]"
use="name()"/>
<xsl:value-of select="count(*
[generate-id()=generate-id(key('WAAUX',name())[1])]
[starts-with(translate(name(),'123456789','000000000'),'WAAUX00')])"/>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--