[Home] [By Thread] [By Date] [Recent Entries]

  • To: "'xml-dev@l...'" <xml-dev@l...>
  • Subject: Fun with regular expressions
  • From: Max Chappell <max@m...>
  • Date: Wed, 04 Feb 2004 15:12:38 +0000
  • Organization: Maxxml Limited
  • Reply-to: max@m...
  • User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)

Hi,

I need to restrict xs:double to any allowable double value - with the 
exception of NaN.

Having looked further into regular expressions for XML Schema - there 
seems to be contradictory advice around.

Following one set of advice would allow us to use ^ at the start of the 
reg exp to exclude NaN:
"[^N].*"  - this doesn't work with either Xerces or XML Spy.
I find the relevant section of the W3C spec somewhat difficult to 
decipher. However, I get the impression that ^ is simply a normal 
character in xsd land..

Another piece of advice is to use nested brackets such as: 
"[a-zA-Z-[ABC]]" (Use any letters except AB or C).
Along these lines I've tried:
"[.-[NaN]]*" - far from working...
and "[.*-[NaN]]*" - ditto... 

So then, the next option is to define a larger regular expression such as:
"[+\-]?(\d+(\.\d*)?([eE][+\-]?\d+)?)|([+\-]?INF)"

This does not allow .00009 for example, so we'll have to make the reg 
exp even more complicated.


My question is:
Does anyone know of a simpler way of doing this?

Thanks

Max





Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member