XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
A better way to construct regular expressions in XML Schemas?

Hi Folks,

 

I have an XML Schema that needs some complex regular expressions. I have been using <!ENTITY> to construct the regexes. See below. I find it pretty hard to debug these regular expressions. Is there a better way to construct regexes?  /Roger

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:schema [
<!ENTITY Language-Tag "(&lang-tag;)|(&private-use;)|(&grandfathered;)">
<!ENTITY lang-tag "(&language;)(-&script;)?(-&region;)?(-&variant;)*(-&extension;)*(-&private-use;)?">
<!ENTITY language "([&ALPHA;]{2,3}(-&extlang;)?)|([&ALPHA;]{4})|([&ALPHA;]{5,8})">
<!ENTITY extlang "[&ALPHA;]{3}(-[&ALPHA;]{3}){0,2}">
<!ENTITY script "[&ALPHA;]{4}">
<!ENTITY region "([&ALPHA;]{2})|([&DIGIT;]{3})">
<!ENTITY variant "([&alphanum;]{5,8})|([&DIGIT;][&alphanum;]{3})">
<!ENTITY extension "((&singleton;)(-[&alphanum;]{2,8})+)">
<!ENTITY singleton "([&DIGIT;])|([A-W])|([Y-Z])|([a-w])|(y-z)">
<!ENTITY private-use "x(-[&alphanum;]{1,8})+">
<!ENTITY grandfathered "(&irregular;)|(&regular;)">
<!ENTITY irregular "(en-GB-oed)|(i-ami)|(i-bnn)|(i-default)|(i-enochian)|(i-hak)|(i-klingon)|(i-lux)|(i-mingo)|(i-navajo)|(i-pwn)|(i-tao)|(i-tay)|(i-tsu)|(sgn-BE-FR)|(sgn-BE-NL)|(sgn-CH-DE)">
<!ENTITY regular "(art-lojban)|(cel-gaulish)|(no-bok)|(no-nyn)|(zh-guoyu)|(zh-hakka)|(zh-min)|(zh-min-nan)|(zh-xiang)">
<!ENTITY ALPHA "a-zA-Z">
<!ENTITY DIGIT "0-9">
<!ENTITY alphanum "(&ALPHA;)|(&DIGIT;)">
]>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   
    
<xs:element name="language">
       
<xs:simpleType>
           
<xs:restriction base="xs:string">
               
<xs:pattern value="&Language-Tag;" />
           
</xs:restriction>
       
</xs:simpleType>
   
</xs:element>
   
</xs:schema>

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS