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

  • From: "Christopher R. Maden" <crism@m...>
  • To: xml-dev@l...
  • Date: Mon, 17 Sep 2001 02:18:49 -0700

At 01:37 17-09-2001, Matt Loryman wrote:
>Just for your interest this is what i decided to go with for providing a
>pattern match for IP addresses.
>Essentially this means "four groups of one to three numbers between zero and
>nine separated by periods".
>Doesn't cover all eventualities i know, but then again it doesn't stop
>somebody providing a perfectly valid
>but inaccurate IP address!

I'm not sure what you mean by "Doesn't cover all eventualities" - this 
accepts all valid IP addresses, but accepts invalid ones as well (as you note).

>          <simpleType>
>             <restriction base="string">
>               <pattern
>value="[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"/>
>             </restriction>
>           </simpleType>

Another way to do it would be

          <simpleType>
             <restriction base="string">
               <pattern value=
"((0|1[0-9]{1,2}|2([0-4][0-9]?|5[0-5]?|[6-9]))\.){3}(0|1[0-9]{1,2}|2([0-4][0-9]?|5[0-5]?|[6-9]))"
               />
             </restriction>
           </simpleType>

That restricts each number to 0-255, with no leading zeroes.

-Chris
-- 
Christopher R. Maden, Principal Consultant, HMM Consulting Int'l, Inc.
DTDs/schemas - conversion - ebooks - publishing - Web - B2B - training
<URL: http://www.hmmci.com/ > <URL: http://crism.maden.org/consulting/ >
PGP Fingerprint: BBA6 4085 DED0 E176 D6D4  5DFC AC52 F825 AFEC 58DA


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