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 |