|
Subject: Re: [xsl] Find several different attribute values on many elements From: "Andre Cusson akhu01@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 9 Feb 2024 03:18:59 -0000 |
Hi,
Would something like this run any better?
<xsl:value-of
(string-join((distinct-values(collection($ditacollectionString)//*/@*[local-n
ame()
in ('audience', 'platform', 'props')]), ' ')"/>
Regards.
Le jeu. 8 fC)vr. 2024, C 17 h 11, dvint@xxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> a C)crit :
> 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()?
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Find several different at, Martin Honnen martin | Thread | [xsl] Getting all the text of an el, rick@xxxxxxxxxxxxxx |
| Re: [xsl] Find several different at, dvint dvint@xxxxxxxx | Date | [xsl] Getting all the text of an el, rick@xxxxxxxxxxxxxx |
| Month |