xsl-list
[Top] [All Lists]

RE: Xpath patern question

2003-03-10 10:34:37
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(_at_)jenitennison(_dot_)com] 
Sent: segunda-feira, 10 de Março de 2003 17:19
To: Hélder Sousa
Cc: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] 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



<Prev in Thread] Current Thread [Next in Thread>