<!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
  "/Library/SGML/Public/W3C/xhtml-divs.dtd">
%html-for-documentation;

]>
<xsd:schema 
 xmlns:xsd ="http://www.w3.org/2001/XMLSchema" 
 xmlns:this="http://www.example.com/myschema" 
 targetNamespace="http://www.example.com/myschema"
 elementFormDefault="qualified" 
 >
 <xsd:annotation>
  <xsd:documentation>
   <div xmlns="http://www.w3.org/1999/xhtml"
   >
    <p>Dummy schema for regex testing.
     This is not a real schema; it is just a holder for
     a lot of pattern facets.

     26 March 2008.
    </p>
   </div>
  </xsd:documentation>
  <xsd:appinfo>
  </xsd:appinfo>
 </xsd:annotation>
 
 <xsd:simpleType name="dummy">	
  <xsd:restriction base="xsd:string">

   <!--* ^ 1 and $ as anchors, and otherwise *-->
   <xsd:pattern value="^a*$"/>	
   <xsd:pattern value="a+b"/>	
   <xsd:pattern value=".*a+b.*"/>	
   <xsd:pattern value="a*^b$a+"/>	
   <xsd:pattern value="a*\^b\$a+"/>	

   <!--* 2 Char -> NormalChar is purely cosmetic *-->

   <!--* 3 | as a metacharacter, or not *-->
   <xsd:pattern value="|"/>	
   <xsd:pattern value="|+"/>	
   <xsd:pattern value="|||"/>	
   <xsd:pattern value="\||\|"/>	

   <!--* 4 {} as normal characters or as metacharacters *-->
   <xsd:pattern value="{"/>	
   <xsd:pattern value="{}"/>	
   <xsd:pattern value="x{4}"/><!--* how many parses? *-->
   <xsd:pattern value="x{4,}"/>	
   <xsd:pattern value="x{,4}"/>	

   <!--* 5 wildcard escape as multi-char escape or separate *-->
   <xsd:pattern value="\s"/>	
   <xsd:pattern value="\d"/>	
   <xsd:pattern value="\W"/>	
   <xsd:pattern value="."/>	
   <xsd:pattern value="[.]"/>	
   <xsd:pattern value="[.-[abc]]"/>	
   <xsd:pattern value="[^.]"/>	
   <xsd:pattern value="[^.-[\r]]"/>	

   <!--* 6 wildcard escape in prose *-->

   <!--* 7 charGroup refactoring, does not change language *-->

   <!--* 8 posCharGroup redefined, loses catEsc, complEsc, MultiCharEsc *-->
   <!--* 10 redefinition of charGroupPart *-->
   <xsd:pattern value="[abc]"/>	
   <xsd:pattern value="[a-cx-z]"/>	
   <xsd:pattern value="[\d\s]"/>	
   <xsd:pattern value="[^\d\s]"/>	
   <xsd:pattern value="[0-9-[135]]"/>	
   <xsd:pattern value="[\d-[13579]]"/>	
   <xsd:pattern value="[\p{Lu}-[AEIOU]]"/>	
   <xsd:pattern value="[\p{IsBasicLatin}-[AEIOU]]"/>	
   <xsd:pattern value="[\p{Lu}\p{Ll}-[\p{IsCherokee}]]"/>	
   <xsd:pattern value="[\p{L}-[\p{Lm}]]"/>	

   <xsd:pattern value="[-]"/>	
   <xsd:pattern value="[a-kl-z]"/>	
   <xsd:pattern value="[a-k-z]"/>	
   <xsd:pattern value="[a\-k-z]"/>	
   <xsd:pattern value="[a-k\-z]"/>	
   <xsd:pattern value="[a\-k\-z]"/>	

   <!--* 12 changes to charRange *-->
   <xsd:pattern value="[+--]"/>	
   <xsd:pattern value="[+-\-]"/>	
   <xsd:pattern value="[+\--]"/>	
   <xsd:pattern value="[\--=]"/>	
   <xsd:pattern value="[--=]"/>	
   <xsd:pattern value="[-\-=]"/>	
   <xsd:pattern value="[\-\-=]"/>	
   <xsd:pattern value="[--?]"/>	
   <xsd:pattern value="[\--?]"/>	
   <xsd:pattern value="[-\-?]"/>	
   <xsd:pattern value="[\-\-?]"/>	
   <xsd:pattern value="[--\?]"/>	
   <xsd:pattern value="[\--\?]"/>	
   <xsd:pattern value="[xyz0-9()*/+-]"/>	
   <xsd:pattern value="[xyz0-9()*/+\-]"/>	
   <xsd:pattern value="[^-+*/]"/>	
   <xsd:pattern value="[^\-+*/]"/>	

   <!--* 19 changes to list of blocks *-->
   <xsd:pattern value="\p{IsBasicLatin}"/>   
   <xsd:pattern value="\p{IsCherokee}"/>   
   <xsd:pattern value="\p{IsCoptic}"/>   
   <xsd:pattern value="\p{IsGothic}"/>   
   <xsd:pattern value="\p{IsHighSurrogates}"/>   

  </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:
-->
