<!DOCTYPE xsd:schema 
  PUBLIC "-//W3C//DTD XMLSCHEMA 200105//EN"
         "http://www.w3.org/2001/XMLSchema.dtd" [
<!ENTITY % schemaAttrs "
  xmlns:this CDATA #IMPLIED
  xmlns:xsd  CDATA #IMPLIED"
>
<!ENTITY % p "xsd:">
<!ENTITY % s ":xsd">
<!ENTITY % html-for-documentation SYSTEM
  "ancillary/xhtml-for-annotation.dtd">
%html-for-documentation;

<!ENTITY SIGN '[-+]'>
<!ENTITY SIGN '(-|+)'>
<!ENTITY SIGN '(+|\-)'>
<!ENTITY SIGN '[+\-]'>
<!ENTITY SIGN '[\-+]'>
<!ENTITY oSIGN '&SIGN;?'>
<!ENTITY oSIGN '[-+]?'>
<!ENTITY oSIGN '(+|-)?'>

<!ENTITY SIGNlh '(\+|-)'>
<!ENTITY DIGITlh '\d'>

<!ENTITY pD '[0-9]+'>
<!ENTITY sD '[0-9]*'>
<!ENTITY D  '[0-9]'>

<!ENTITY frac   '\.&pD;'>
<!ENTITY frac0  '\.&sD;'>

<!ENTITY DEC '(&pD;(&frac0;)?|&frac;)'>
<!ENTITY INT '&pD;'>
<!ENTITY E '[Ee]'>
<!ENTITY E '(e|E)'>
<!ENTITY SPECIALS '&INFINITIES;|NaN'>
<!ENTITY INFINITIES '&oSIGN;INF'>
<!ENTITY oEXPT '(&E;&oSIGN;&INT;)?'>

<!ENTITY YY '(&INT;Y)'>
<!ENTITY MM '(&INT;M)'>
<!ENTITY DD '(&INT;D)'>
<!ENTITY HH '(&INT;H)'>
<!ENTITY SS '(&INT;(&frac;)?S)'>
<!ENTITY SS '(&DEC;S)'>
<!ENTITY oHMS '(T(&HH;&MM;?&SS;?|&MM;?&SS;?|&SS;))?'>

<!ENTITY YYYY '([1-9]&D;{3,}|0&D;{3})'>
<!ENTITY YYYY '([1-9]&D;&D;&pD;)|(0&D;&D;&D;)'>
<!ENTITY YYYY '([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9])'>


<!ENTITY MMMM '(0[1-9]|1[0-2])'>
<!ENTITY MMMM '(0[1-9])|(1[0-2])'>

<!ENTITY DDDD '(0[1-9]|[12]&D;|3[01])'>
<!ENTITY DDDD '(0[1-9])([12]&D;)|(3[01])'>
<!ENTITY DDDD '([0-2]&D;)|(3[01])'>
<!ENTITY DDDD '([0-2]&D;|3[01])'>

<!ENTITY oTZ '(Z|(&SIGN;(0&D;|1[0-4]):&MINS;))?'>
<!ENTITY oTZ '(&SIGN;(0&D;)|(1[0-4]):&MINS;)?'>
<!ENTITY oTZ '(&SIGN;(0&D;|1[0-4]):&MINS;)?'>

<!ENTITY HOURS '([01]&D;|2[0-3])'>
<!ENTITY HOURS '([01]&D;)|(2[0-3])'>
<!ENTITY MINS  '[0-5]&D;'>
<!ENTITY SECS  '[0-5]&D;(&frac;)?'>
<!ENTITY SECS  '([0-5]&D;)(&frac;)?'>
<!ENTITY MIDNIGHT '(24:00:00(\.0+)?)'>

<!ENTITY TOD_ '&HOURS;:&MINS;:&SECS;'>
<!ENTITY TOD_ '((&HOURS;):(&MINS;):(&SECS;))'>

<!ENTITY TOD '(&TOD_;|&MIDNIGHT;)'>

]>
<xsd:schema 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:tns="http://www.w3.org/XML/2008/xsdl-exx/ns1" 
 targetNamespace="http://www.w3.org/XML/2008/xsdl-exx/ns1"
 elementFormDefault="qualified" 
 >
 <xsd:annotation>
  <xsd:documentation>
   <div xmlns="http://www.w3.org/1999/xhtml"
   >
    <p>Sample schema for discussion and testing purposes.
     Includes the regexes given in the spec for each
     built-in datatype.
     31 May 2008.
    </p>
   </div>
  </xsd:documentation>
  <xsd:appinfo>
  </xsd:appinfo>
 </xsd:annotation>

 <xsd:simpleType name="string"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(\s|\S)*"/>
   <!--* appears to be OK *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="boolean"><xsd:restriction base="xsd:string">
   <xsd:pattern value="true|false|0|1"/>
   <!--* appears to be OK *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="decimal"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(+|-)?(([0-9]+(.[0-9]*)?)|(.[0-9]+))"/>
   <!--* does not parse:  + not escaped *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="decimal-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&SIGNlh;?((\d+(.\d*)?)|(.\d+))"/>
   <!--* semantic error: . not escaped *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="decimal-lh-bis"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[+\-]?((\d+(\.\d*)?)|(\.\d+))"/>
   <!--* OK, but \d is not the same as [0-9] *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="decimal-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&oSIGN;&DEC;"/>
   <!--* seems to work *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="decimal-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))"/>
   <!--*  *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="precisionDecimal"><xsd:restriction base="xsd:string">
   <xsd:pattern value="not-supplied"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="precisionDecimal-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&oSIGN;&DEC;&oEXPT;|&SPECIALS;"/>
   <!--* same as float (now); previously float lacked +INF *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="float"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(-|+)?(([0-9]+(.[0-9]*)?)|(.[0-9]+))((e|E)(-|+)?[0-9]+)?|-?INF|NaN"/>
   <!--* does not parse:  + unescaped.
       * semantically wrong:  . unescaped. *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="float-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&SIGNlh;?((\d+(.\d*)?)|(.\d+))((e|E)&SIGNlh;?\d+)?|-?INF|NaN"/>
   <!--* semantic problem: . not escaped *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="float-lh-bis"><xsd:restriction base="xsd:string">
   <xsd:pattern value="([+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][+\-]?\d+)?|-?INF|NaN)"/>
   <!--* correct, but out of date: +INF now legal *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="float-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&oSIGN;&DEC;&oEXPT;|&SPECIALS;"/>
   <!--* OK (but not legal against PER) *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="float-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?|-?INF|NaN "/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="double"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(-|+)?(([0-9]+(.[0-9]*)?)|(.[0-9]+))((e|E)(-|+)?[0-9]+)?|-?INF|NaN"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="double-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&oSIGN;&DEC;&oEXPT;|&SPECIALS;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="double-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?|-?INF|NaN "/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="duration">
  <xsd:restriction>
   <xsd:simpleType>
    <xsd:restriction>
     <xsd:simpleType>
      <xsd:restriction base="xsd:string">
       <xsd:pattern value="-?P([0-9]+Y)?([0-9]+M)?([0-9]+D)?(T([0-9]+H)?([0-9]+M)?((([0-9]+(.[0-9]*)?)|(.[0-9]+))S)?)?"/>
      </xsd:restriction>
     </xsd:simpleType>
     <xsd:pattern value=".*[YMDHS].*'"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:pattern value=".*[^T]"/>
  </xsd:restriction>
 </xsd:simpleType>

 <xsd:simpleType name="duration-w3">
  <xsd:restriction>
   <xsd:simpleType>
    <xsd:restriction>
     <xsd:simpleType>
      <xsd:restriction base="xsd:string">
       <xsd:pattern value="-?P&YY;?&MM;?&DD;?(T&HH;?&MM;?&SS;?)?"/>
      </xsd:restriction>
     </xsd:simpleType>
     <xsd:pattern value=".*[YMDHS].*'"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:pattern value=".*[^T]"/>
  </xsd:restriction>
 </xsd:simpleType>

 <xsd:simpleType name="duration2"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?P(((([0-9]+Y([0-9]+M)?)|(([0-9]+M)))(([0-9]+D(T(([0-9]+H([0-9]+M)?([0-9]+(\.[0-9]+)?S)?)|(([0-9]+M)([0-9]+(\.[0-9]+)?S)?)|(([0-9]+(\.[0-9]+)?S))))?)|((T(([0-9]+H([0-9]+M)?([0-9]+(\.[0-9]+)?S)?)|(([0-9]+M)([0-9]+(\.[0-9]+)?S)?)|(([0-9]+(\.[0-9]+)?S))))))?)|((([0-9]+D(T(([0-9]+H([0-9]+M)?([0-9]+(\.[0-9]+)?S)?)|(([0-9]+M)([0-9]+(\.[0-9]+)?S)?)|(([0-9]+(\.[0-9]+)?S))))?)|((T(([0-9]+H([0-9]+M)?([0-9]+(\.[0-9]+)?S)?)|(([0-9]+M)([0-9]+(\.[0-9]+)?S)?)|(([0-9]+(\.[0-9]+)?S))))))))"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="duration2-w3a"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?P((((&INT;Y&MM;?)|(&MM;))((&INT;D(T((&INT;H&MM;?&SS;?)|(&MM;&SS;?)|(&SS;)))?)|((T((&INT;H&MM;?&SS;?)|(&MM;&SS;?)|(&SS;)))))?)|(((&INT;D(T((&INT;H&MM;?&SS;?)|(&MM;&SS;?)|(&SS;)))?)|((T((&INT;H&MM;?&SS;?)|(&MM;&SS;?)|(&SS;)))))))"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="duration2-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?P(&YY;&MM;?&DD;?&oHMS;|&MM;&DD;?&oHMS;|&DD;?&oHMS;|T(&HH;&MM;?&SS;?|&MM;?&SS;?|&SS;))"/>
   <!--* previous version did not parse *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="dateTime"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\-?([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9])\-(0[1-9])|(1[0-2])\-(0[1-9])([12][0-9])|(3[01])T(([01][0-9])|(2[0-3]):[0-5][0-9]:([0-5][0-9])(\.[0-9]+)?)|(24:00:00(\.0+)?)([+\-](0[0-9])|(1[0-4]):[0-5][0-9])?"/>
   <!--* time zone problem, operator precedence errors (parentheses off) *-->
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="dateTime-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?([1-9]\d\d\d+|0\d\d\d)-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T(([01]\d|2[0-3]):[0-5]\d:[0-5]\d(\.\d+)?|24:00:00(\.0+)?)(Z|&SIGNlh;(0\d|1[0-4]):[0-5]\d)?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="dateTime-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?&YYYY;-&MMMM;-&DDDD;T&TOD;&oTZ;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="dateTime-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?([1-9][0-9][0-9][0-9]+|0[0-9][0-9][0-9])-(0[1-9]|1[0-2])\-(0[1-9]|[12][0-9]|3[01])T((([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?)|24:00:00(\.0+)?)(((\+|-)(0[0-9]|1[0-3]):[0-5][0-9]|14:00)|Z)? "/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="time"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(((([01][0-9])|(2[0-3])):([0-5][0-9]):(([0-5][0-9])(\.[0-9]+)?))|(24:00:00(\.0+)?))(Z|((+|-)(0[0-9]|1[0-4]):[0-5][0-9]))?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="time-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(([01]\d|2[0-3]):[0-5]\d:[0-5]\d(\.\d+)?|24:00:00(\.0+)?)(Z|&SIGNlh;(0\d|1[0-4]):[0-5]\d)?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="time-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&TOD;&oTZ;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="time-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="((([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?)|24:00:00(\.0+)?)(((\+|-)(0[0-9]|1[0-3]):[0-5][0-9]|14:00)|Z)? "/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="date"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\-?([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9])\-(0[1-9])|(1[0-2])\-([0-2][0-9])|(3[01])((+|\-)(0[0-9]|1[0-4]):[0-5][0-9])?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="date-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?([1-9]\d\d\d+|0\d\d\d)-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(Z|&SIGNlh;(0\d|1[0-4]):[0-5]\d)?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="date-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?&YYYY;-&MMMM;-&DDDD;&oTZ;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="date-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?([1-9][0-9][0-9][0-9]+|0[0-9][0-9][0-9])-(0[1-9]|1[0-2])-([0[1-9]|[12][0-9])|(3[01])(((\+|-)(0[0-9]|1[0-3]):[0-5][0-9]|14:00)|Z)? 
"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gYearMonth"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\-?([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9])\-(0[1-9])|(1[0-2])((+|\-)(0[0-9]|1[0-4]):[0-5][0-9])?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gYearMonth-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?([1-9]\d\d\d+|0\d\d\d)-(0[1-9]|1[0-2])(Z|&SIGNlh;(0\d|1[0-4]):[0-5]\d)?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gYearMonth-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?&YYYY;-&MMMM;&oTZ;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gYearMonth-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9])-(0[1-9])|(1[0-2]) 
 (((\+|-)(0[0-9]|1[0-3]):[0-5][0-9]|14:00)|Z)? "/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gYear"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\-?([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9])((+|\-)(0[0-9]|1[0-4]):[0-5][0-9])?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gYear-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?([1-9]\d\d\d+|0\d\d\d)(Z|&SIGNlh;(0\d|1[0-4]):[0-5]\d)?"/>
  </xsd:restriction></xsd:simpleType>

<!--* 
   <xsd:pattern value="
\-?([1-9][0-9][0-9][0-9]+)
|(0[0-9][0-9][0-9])((+|\-)(0[0-9]|1[0-4]):[0-5][0-9])?"/>
*-->

 <!--* wouldn't this be simpler? *-->
 <xsd:simpleType name="gYear-msm"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\-?([1-9]*[0-9]{3,})(&SIGN;(0[0-9]|1[0-4]):[0-5][0-9])?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gYear-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?&YYYY;&oTZ;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gYear-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9])(((\+|-)(0[0-9]|1[0-3]):[0-5][0-9]|14:00)|Z)? "/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gMonthDay"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\-\-(0[1-9])|(1[0-2])\-([0-2][0-9])|(3[01])((+|\-)(0[0-9]|1[0-4]):[0-5][0-9])?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gMonthDay-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="--(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(Z|&SIGNlh;(0\d|1[0-4]):[0-5]\d)?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gMonthDay-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="--&MMMM;-&DDDD;&oTZ;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gMonthDay-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="--(0[1-9]|1[0-2])-([0[1-9]|[12][0-9]|3[01])((+|\-)(0[0-9]|1[0-4]):[0-5][0-9]|14:00)|Z)?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gDay"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\-\-\-([0-2][0-9]|3[01])((+|\-)(0[0-9]|1[0-4]):[0-5][0-9])?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gDay-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="---(0[1-9]|[12]\d|3[01])(Z|&SIGNlh;(0\d|1[0-4]):[0-5]\d)?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gDay-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="---&DDDD;&oTZ;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gDay-ed"><xsd:restriction base="xsd:string">
   <xsd:pattern value="---([0-[1-9]|[12][0-9]|3[01])((+|-)(0[0-9]|1[0-4]):[0-5][0-9]|14:00)|Z)? "/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gMonth"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\-\-(0[1-9])|(1[0-2])((+|\-)(0[0-9]|1[0-4]):[0-5][0-9])?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gMonth-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="--(0[1-9]|1[0-2])(Z|&SIGNlh;(0\d|1[0-4]):[0-5]\d)?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gMonth-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="--&MMMM;&oTZ;"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="gMonth"><xsd:restriction base="xsd:string">
   <xsd:pattern value="--(0[1-9]|1[0-2])((+|-)(0[0-9]|1[0-4]):[0-5][0-9]|14:00)|Z)? "/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="hexBinary"><xsd:restriction base="xsd:string">
   <xsd:pattern value="([0-9a-fA-F]{2})*"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="base64Binary-lh"><xsd:restriction base="xsd:string">
   <xsd:pattern value="((([A-Za-z0-9+/] ?){4})*(([A-Za-z0-9+/] ?){3}[A-Za-z0-9+/]|([A-Za-z0-9+/] ?){2}[AEIMQUYcgkosw048] ?=|[A-Za-z0-9+/] ?[AQgw] ?= ?=))?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="base64Binary-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="((([A-Za-z0-9+/] ?){4})*(([A-Za-z0-9+/] ?){3}[A-Za-z0-9+/]|([A-Za-z0-9+/] ?){2}[AEIMQUYcgkosw048] ?=|[A-Za-z0-9+/] ?[AQgw] ?= ?=))?"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="anyURI"><xsd:restriction base="xsd:string">
   <xsd:pattern value="not given"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="QName"><xsd:restriction base="xsd:string">
   <xsd:pattern value="xxx"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="NOTATION"><xsd:restriction base="xsd:string">
   <xsd:pattern value="xxx"/>
  </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="normalizedString"><xsd:restriction base="xsd:string">
   <xsd:pattern value="xxx"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="token"><xsd:restriction base="xsd:string">
   <xsd:pattern value="xxx"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="language"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="NMTOKEN"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\c+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="NMTOKENS"><xsd:restriction base="xsd:string">
   <xsd:pattern value="xxx"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="Name"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\i\c*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="NCName"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\i\c* ~ [\i-[:]][\c-[:]]*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="NCName-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\i-[:]][\c-[:]]*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="ID"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\i\c* ~ [\i-[:]][\c-[:]]*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="ID-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\i-[:]][\c-[:]]*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="IDREF"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\i\c* ~ [\i-[:]][\c-[:]]*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="IDREF-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\i-[:]][\c-[:]]*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="IDREFS"><xsd:restriction base="xsd:string">
   <xsd:pattern value="xxx"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="IDREFS-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(([\i-[:]][\c-[:]] )*[\i-[:]][\c-[:]])?"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="ENTITY"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\i\c* ~ [\i-[:]][\c-[:]]*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="ENTITY-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\i-[:]][\c-[:]]*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="ENTITIES"><xsd:restriction base="xsd:string">
   <xsd:pattern value="xxx"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="ENTITIES-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="(([\i-[:]][\c-[:]] )*[\i-[:]][\c-[:]])?"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="integer"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="integer-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&oSIGN;&pD;"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="nonPositiveInteger"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="nonPositiveInteger-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?&pD;|\+0+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="negativeInteger"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="negativeInteger-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-&pD;"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="long"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="long-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&oSIGN;&pD;"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="int"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="int-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&oSIGN;&pD;"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="short"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="short-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="&oSIGN;&pD;"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="byte"><xsd:restriction base="xsd:string">
   <xsd:pattern value=" [\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="byte-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value=" &oSIGN;&pD;"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="nonNegativeInteger"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="nonNegativeInteger-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\+?&pD;|-0+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="unsignedLong"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="unsignedLong-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\+?&pD;|-0+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="unsignedInt"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="unsignedInt-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\+?&pD;|-0+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="unsignedShort"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="unsignedShort-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\+?&pD;|-0+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="unsignedByte"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="unsignedByte-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\+?&pD;|-0+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="positiveInteger"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[\-+]?[0-9]+"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="positiveInteger-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="\+?&pD;"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="yearMonthDuration"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?P((([0-9]+Y)([0-9]+M)?)|([0-9]+M))"/>
   <xsd:pattern value="-?P[0-9]+(Y([0-9]+M)?|M)"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="yearMonthDuration-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="-?P(&YY;&MM;?|&MM;)"/>
   <xsd:pattern value="-?P&INT;(Y(&INT;M)?|M)"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="dayTimeDuration"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[^YM]*[DT].*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="dayTimeDuration-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[^YM]*[DT].*"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="dayTimeDuration-bis"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[^YM]*(T.*)?"/>
   </xsd:restriction></xsd:simpleType>

 <xsd:simpleType name="dayTimeDuration-bis-w3"><xsd:restriction base="xsd:string">
   <xsd:pattern value="[^YM]*(T.*)?"/>
   </xsd:restriction></xsd:simpleType>

</xsd:schema>
<!-- Keep this comment at the end of the file
Local variables: 
mode: xml 
sgml-default-dtd-file:nil 
sgml-omittag:t 
sgml-shorttag:t 
End:
-->

