Subject: RE: Xpath patern question
From: Hélder Sousa <Helder.Sousa@xxxxxx>
Date: Mon, 10 Mar 2003 17:34:37 -0000
|
I had think about that solution but my date can be like "1/1/2003" and I can't change it to " 1/ 1/2003".. So that doesn't work. I can put some more conditions in [...] but in this case it's better to use the script..
The regular expression would be the best way..
Tks anyway :)
-----Original Message-----
From: Jeni Tennison [mailto:jeni@xxxxxxxxxxxxxxxx]
Sent: segunda-feira, 10 de Março de 2003 17:19
To: Hélder Sousa
Cc: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Xpath patern question
Hi Hélder,
> Imagine that I want all elements "campo" with value matching a
> determinate patern. For example, I want all elements "campo" whose
> value is like "2 digits, a separator("/" or "-"), 2 digits, a
> separator("/" or "-"), 4 digits". This is a date!
Try something like:
/xxx/yyyy/campo[number(substring(., 1, 2)) and
(substring(., 2, 1) = '/' or
substring(., 2, 1) = '-') and
number(substring(., 4, 2)) and
(substring(., 2, 1) = '/' or
substring(., 2, 1) = '-') and
number(substring(., 7, 4))]
This will allow things like " 3/ 7/ 4", which you might not want;
you could disallow them by adding a "not(contains(., ' '))" clause.
Note that XPath 2.0 will allow you to use a regular expression here, so you will be able to do:
/xxx/yyyy/campo[matches(., '\d{2}[-/]\d{2}[-/]\d{4}')]
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|