|
Subject: Re: [xsl] How to count the distinct values where elements with missing child are counted as one of the distinct values? From: "Mukul Gandhi mukulg@xxxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 27 May 2022 05:27:33 -0000 |
Hi Roger,
How about below mentioned solution, for your requirements.
XML document : provided XML document
XSLT stylesheet,
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="3.0">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:value-of select="count(distinct-values(test/row/transition)) +
(if (some $row in
test/row satisfies not($row/transition)) then 1 else 0)"/>
</xsl:template>
</xsl:stylesheet>
On Thu, May 26, 2022 at 7:38 PM Roger L Costello costello@xxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi Folks,
>
> The following XML document has two row elements with no transition element
> and two row elements with a transition element :
>
> <test>
> <row>
> </row>
> <row>
> </row>
> <row>
> <transition>ABC</transition>
> </row>
> <row>
> <transition>DEF</transition>
> </row>
> </test>
>
> I want a count of the number of distinct transition values, where row
> elements with no transition element are counted as 1.
>
> So for the above XML document the count should return 3.
>
> This XPath seems to work:
>
> count(distinct-values(/test/row/transition)) +
> count(/test/row[not(transition)][1])
>
> But I am wondering if there is a better (simpler, less kludgy) XPath
> expression?
>
--
Regards,
Mukul Gandhi
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] How to count the distinct, Dimitre Novatchev dn | Thread | [xsl] Not able to render XML in Chr, Joga Singh Rawat jra |
| Re: [xsl] Not able to render XML in, Joga Singh Rawat jra | Date | Re: [xsl] Not able to render XML in, Norm Tovey-Walsh ndw |
| Month |