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(_at_)mitre(_dot_)org <
xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> 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
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--