[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Regular expressions in a schema

Subject: Re: Regular expressions in a schema
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Sat, 11 May 2002 01:10:51 +0100
regular expression real number
Hi Chuck,

XML Schema questions are best directed to xmlschema-dev@xxxxxxx But
I'll answer this here anyway...

> I'm trying to write a validating pattern in my schema to allow from
> 1 to 4 occurrances of the pattern [+]?[\.0-9]+%[ ]?
>
> (That's 1 - 4 real number percentages delimited by a space)
>
>     <simpleType name = "background_position_percentage_Type">
>         <restriction base = "string"><!-- percentage_Type{1,4} -->
>             <pattern value = "[[+]?[\.0-9]+%[ ]?]{1,4}"/>
>         </restriction>
>     </simpleType>
>
> doesn't work because I can't put [] inside of an atom. Does anyone
> know if there is a proper way to write this pattern?

You just need to use braces to group together the atoms, rather than
square brackets:

  (+?[\.0-9]+% ?){1,4}

although having said that, you'd be better off creating a list type
that was limited to between one and four real number percentages, as
follows:

<xs:simpleType name="background_position_percentage_type">
  <xs:restriction>
    <xs:simpleType>
      <xs:list>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:pattern value="+?[\.0-9]+%" />
          </xs:restriction>
        </xs:simpleType>
      </xs:list>
    </xs:simpleType>
    <xs:minLength value="1" />
    <xs:maxLength value="4" />
  </xs:restriction>
</xs:simpleType>

Among other things (and to try to keep this vaguely on topic), this
specifies the type as a list type, which means that an XPath 2.0
processor will be able to create a sequence of real number percentages
automatically, rather than you having to break up the string yourself
to get at the values.

You might want to revisit your regular expression so that the numbers
that you get can't have two or more decimal points in them, or change
the markup language so that you don't include the % signs in the list,
and instead just make it a list of real numbers -- that would have the
added benefit that a processor would deliver the numbers rather than
you having to convert them yourself.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.