Subject: Re: [xsl] Filtering, xslt 2.0 From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 2 Nov 2022 16:00:50 -0000 |
On Wed, 2 Nov 2022 at 13:01, Dave Pawson dave.pawson@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > On Wed, 2 Nov 2022 at 12:34, David Carlisle d.p.carlisle@xxxxxxxxx > <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > > > > > > On Wed, 2 Nov 2022 at 12:13, Dave Pawson dave.pawson@xxxxxxxxx < > xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > You should use xs:string not xs:string* as if you passed in a sequence > your later tokenize would fail. > > > > I'd do > > > > <xsl:param name="types" as="xs:string*"/> > > <xsl:variable name="typesseq" as="xs:string*" select=" tokenize($types, > ', *') /> > spurious * sorry <xsl:param name="types" as="xs:string"/> <xsl:variable name="typesseq" as="xs:string*" select=" tokenize($types, ', *') /> which was my main point: your $types is a single string not a sequence of strings, so as="xs:string" with no* > > > Then use the sequence explicitly rather than relying on the optimiser to > avoid tokenizing on every use. > > > > > > <xsl:when test="type = $typesseq "> > > > > David > > Which seems to tokenize once rather than n times? Agreed more > efficient (not a concern with my use) > I don't understand > select=" tokenize($types, ', *') > > The 'token' seems to be ,* > where I tokenize on , only? > > Is that significant please? > as Martin says, that is a regex for comma followed by 0 or more spaces, to allow types="a, b, c" rather than just types="a,b,c" > > Being v.suspicious of David That is not how you spell "trusting" David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Filtering, xslt 2.0, C. M. Sperberg-McQue | Thread | Re: [xsl] Filtering, xslt 2.0, Wendell Piez wapiez@ |
Re: [xsl] Filtering, xslt 2.0, Graydon graydon@xxxx | Date | Re: [xsl] Filtering, xslt 2.0, Liam R. E. Quin liam |
Month |