Subject: Re: [xsl] Using contains with more than one string - XSLT2.0 From: "Michele R Combs mrrothen@xxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 28 Jan 2015 20:56:36 -0000 |
Hi Michael -- Pretty sure. Using equal would constrain it to exact matches, yes? Which is not what I want. For example, I want to use "neg" to find "negatives" "negative" "neg" "negs" and so on, since the exact phrasing may vary. Michele -----Original Message----- From: Michael Kay mike@xxxxxxxxxxxx [mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx] Sent: Wednesday, January 28, 2015 3:53 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Using contains with more than one string - XSLT2.0 Either use matches() as David Sewell suggests, or construct an expression along the lines contains(., 'abc') or contains(., 'xyz') or contains(., 'pqr') But are you sure you actually want contains()? People often misuse it, thinking it means "Node N contains value V". For that, you want an "equals" test. Michael Kay Saxonica mike@xxxxxxxxxxxx +44 (0) 118 946 5893 On 28 Jan 2015, at 20:22, Michele R Combs mrrothen@xxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > I've done some googling on this but nothing seems quite to match what I want to do. > > At the top of my style sheet I have this: > > <xsl:variable name="target" select="'Photo'"/> > > Then later I do this to find all titles with that string in them: > > <xsl:for-each select="//dsc//unittitle[contains(normalize-space(.),$target)]"> > > So far so good, works great. The problem comes when I want to tell the contains function to match on any one of several strings, e.g. Photo or Neg or Film. So far I have tried the following but none of them work: > > <xsl:variable name="target" select="'Photo|Neg'"/> > <xsl:variable name="target" select="'Photo'|'Neg'"/> > <xsl:variable name="target" select="'Photo' or 'Neg'"/> > <xsl:variable name="target" select="'Photo Neg'"/> > > If I must, I can stick the or'ed terms directly in the contains function rather than using a variable, but when I tried a few variations on that, they didn't work either. > > Thanks > > Michele > +++++++++++++++ > Michele Combs > Lead Archivist > Special Collections Research Center > Syracuse University Libraries > 315-443-2081 > mrrothen@xxxxxxx > scrc.syr.edu
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Using contains with more , Michael Kay mike@xxx | Thread | Re: [xsl] Using contains with more , Vishnu vishnu@xxxxxx |
Re: [xsl] Using contains with more , Michael Kay mike@xxx | Date | Re: [xsl] Using contains with more , Michele R Combs mrro |
Month |