Yes, the error is apt because distinct-values() returns strings. I'm
assuming this is because you don't want to process elements of
duplicate string value.
If you use <xsl:for-each-group group-by="." select="........"> then
you will have control at the first element of each value and so your
context will allow the <xsl:apply-templates/>
I hope this helps.
. . . . . Ken
At 2024-02-08 22:12 +0000, dvint@xxxxxxxxx wrote:
I'm trying to process a collection of documents and extract the
distinct-values for several attributes. My first attempt was this
which is very slow
<xsl:variable name="ditacollectionString"
select="concat($srcPath, '?select=*.dita')"/>
<xsl:variable name="xmlcollectionString"
select="concat($srcPath, '?select=*.xml')"/>
<xsl:for-each
select="distinct-values(collection($ditacollectionString)//*/@audience)" >
<xsl:value-of select="concat(., ' ')"/>
</xsl:for-each>
<xsl:for-each
select="distinct-values(collection($ditacollectionString)//*/@platform)" >
<xsl:value-of select="concat(., ' ')"/>
</xsl:for-each>
<xsl:for-each
select="distinct-values(collection($ditacollectionString)//*/@props)" >
<xsl:value-of select="concat(., ' ')"/>
</xsl:for-each>
I'm looking for a way to just make a single for-each loop and tried this
<xsl:for-each
select="distinct-values(collection($ditacollectionString)//element())" >
<xsl:apply-templates mode="conditions"/>
</xsl:for-each>
<xsl:template match="@product | @audience " mode="conditions">
<xsl:value-of select="concat(., ' ')"/>
</xsl:template>
But I get an error on the <xsl:apply-templates mode="conditions"/> indicating
The required item type of the context item is node(), but the
supplied expression {.} has item type xs:anyAtomicType.
I also need to do this with both .dita and .xml files and I'm
planning on making 2 collections, is there a way to do one collection()?
--
Contact info, blog, articles, etc. http://www.CraneSoftwrights.com/s/ |
Check our site for free XML, XSLT, XSL-FO and UBL developer resources |
Streaming hands-on XSLT/XPath 2 training class @US$125 (5 hours free) |
Essays (UBL, XML, etc.) http://www.linkedin.com/today/author/gkholman |
|