Subject: Re: [xsl] Member function? From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 2 Aug 2022 14:54:08 -0000 |
I would always use a map for this in XSLT 3.0, rather than a node tree; and then use map:contains() to check if a value is present. Michael Kay Saxonica > On 2 Aug 2022, at 15:50, Martin Honnen martin.honnen@xxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > Am 02.08.2022 um 16:10 schrieb Dave Pawson dave.pawson@xxxxxxxxx: >> xpath 2 or 3 >> >> I have a sort index >> <d:sort_index name="my_sort"> >> <d:entry key="Jan" index="0"/> >> <d:entry key="Feb" index="1"/> >> <d:entry key="Mar" index="2"/> >> <d:entry key="Apr" index="3"/> >> <d:entry key="May" index="4"/> >> <d:entry key="Jun" index="5"/> >> <d:entry key="Jul" index="6"/> >> <d:entry key="Aug" index="7"/> >> <d:entry key="Sep" index="8"/> >> <d:entry key="Oct" index="9"/> >> <d:entry key="Nov" index="10"/> >> <d:entry key="Dec" index="11"/> >> >> </d:sort_index> >> >> <xsl:variable name="sort_index" select="document('')//d:sort_index"/> > > > Given that you say XPath 2 or 3 I assume XSLT 2 or 3 so I would prefer a > variable or parameter e.g. > > > <xsl:variable name="sort-index"> > > <d:entry key="Jan" index="0"/> > <d:entry key="Feb" index="1"/> > <d:entry key="Mar" index="2"/> > <d:entry key="Apr" index="3"/> > <d:entry key="May" index="4"/> > <d:entry key="Jun" index="5"/> > <d:entry key="Jul" index="6"/> > <d:entry key="Aug" index="7"/> > <d:entry key="Sep" index="8"/> > <d:entry key="Oct" index="9"/> > <d:entry key="Nov" index="10"/> > <d:entry key="Dec" index="11"/> > > </xsl:variable> > > and then a key > > <xsl:key name="sort-index" match="d:entry" use="@key"/> > > > and then a check on > > key('sort-index', tokenize(d, ' '), $sort-index) > > or > > key('sort-index', tokenize(d, '')[1], $sort-index) > >> and xml with many >> >> <book> >> <author> >> <f>H</f> >> <s>Stone</s> >> </author> >> <t>Jane Doe</t> >> <d>Jul 2018</d> >> </book> >> >> I want to check that the d element (month) has an entry in the sort >> index using xsl:for-each over //book/d >> >> Suggestions please? >> >> TiA
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Member function?, Martin Honnen martin | Thread | Re: [xsl] Member function?, Dave Pawson dave.paw |
Re: [xsl] Member function?, Martin Honnen martin | Date | Re: [xsl] Member function?, Dave Pawson dave.paw |
Month |