<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML_Tutorial%2FXML_Schema%2Fpattern</id>
		<title>XML Tutorial/XML Schema/pattern - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML_Tutorial%2FXML_Schema%2Fpattern"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML_Tutorial/XML_Schema/pattern&amp;action=history"/>
		<updated>2026-04-04T07:17:06Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=XML_Tutorial/XML_Schema/pattern&amp;diff=10553&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML_Tutorial/XML_Schema/pattern&amp;diff=10553&amp;oldid=prev"/>
				<updated>2010-05-26T08:26:43Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 08:26, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=XML_Tutorial/XML_Schema/pattern&amp;diff=10552&amp;oldid=prev</id>
		<title> в 18:22, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML_Tutorial/XML_Schema/pattern&amp;diff=10552&amp;oldid=prev"/>
				<updated>2010-05-25T18:22:32Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== A character class expression is simply a character group, enclosed in square brackets==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
For example, if we wanted to allow any single upper case ASCII letter:&lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;[A-Z]&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uses the &amp;quot;s-e range&amp;quot; form, a contiguous range of character values beginning with the min value and up to and including the max value. &lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;[min-max]&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Any ASCII letter: adding a second character range to the character group expression==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;[A-Za-z]&amp;quot; /&amp;gt;&lt;br /&gt;
invert our positive character group to be a negative character group, simply by preceding the above character ranges with a caret (^) character&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;[^A-Za-z]&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Any single normal character will match only that character==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
For example, only a single &amp;quot;A&amp;quot; character can match the following regular expression:&lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;A&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== A phone number==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsd:simpleType name=&amp;quot;phoneType&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsd:restriction base=&amp;quot;xsd:string&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xsd:pattern value=&amp;quot;[0-9]{3}-[0-9]{7}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
&amp;lt;/xsd:simpleType&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Character classes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
\s  Spaces. &lt;br /&gt;
\S  Characters that are not spaces.  &lt;br /&gt;
\d  Digits&lt;br /&gt;
\D  Characters that are not digits.  &lt;br /&gt;
\w  Extended &amp;quot;word&amp;quot; characters &lt;br /&gt;
\W  Nonword characters.  &lt;br /&gt;
\i  XML 1.0 initial name characters  &lt;br /&gt;
\I  Characters that may not be used as a XML initial name character.  &lt;br /&gt;
\c  XML 1.0 name characters &lt;br /&gt;
\C  Characters that may not be used in a XML 1.0 name.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Define a pattern that can be used for zip codes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsd:simpleType name=&amp;quot;zipType&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsd:restriction base=&amp;quot;xsd:string&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xsd:pattern value=&amp;quot;[0-9]{5}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
&amp;lt;/xsd:simpleType&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Getting rid of leading zeros==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.wbex.ru&amp;quot; xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;myType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:integer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:pattern value=&amp;quot;[+-]?([1-9][0-9]*|0)&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== list of atoms that match a single character==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
\n   New line (can also be written as &amp;quot;&amp;amp;#x0A;- since we are in a XML document).  &lt;br /&gt;
\r   Carriage return (can also be written as &amp;quot;&amp;amp;#x0D; -- ).  &lt;br /&gt;
\t   Tabulation (can also be written as &amp;quot;&amp;amp;#x09; -- )  &lt;br /&gt;
\\   Character &amp;quot;\&amp;quot;  &lt;br /&gt;
\|   Character &amp;quot;|&amp;quot;  &lt;br /&gt;
\.   Character &amp;quot;.&amp;quot;  &lt;br /&gt;
\-   Character &amp;quot;-&amp;quot;  &lt;br /&gt;
\^   Character &amp;quot;^&amp;quot;  &lt;br /&gt;
\?   Character &amp;quot;?&amp;quot;  &lt;br /&gt;
\*   Character &amp;quot;*&amp;quot;  &lt;br /&gt;
\+   Character &amp;quot;+&amp;quot;  &lt;br /&gt;
\{   Character &amp;quot;{&amp;quot;  &lt;br /&gt;
\}   Character &amp;quot;}&amp;quot;  &lt;br /&gt;
\(   Character &amp;quot;(&amp;quot;  &lt;br /&gt;
\)   Character &amp;quot;)&amp;quot;  &lt;br /&gt;
\[   Character &amp;quot;[&amp;quot;  &lt;br /&gt;
\]   Character &amp;quot;]&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Merge our three patterns into one==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;  &lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt; &lt;br /&gt;
    &amp;lt;xs:simpleType name=&amp;quot;myByte&amp;quot;&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:byte&amp;quot;&amp;gt; &lt;br /&gt;
        &amp;lt;xs:pattern value=&amp;quot;1?5?&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
    &amp;lt;/xs:simpleType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Meta Characters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Meta character  Use/Meaning&lt;br /&gt;
.               Match any character, except end-of-line (#x0D and/or #x0A) - same as [^\n\r] &lt;br /&gt;
\               Begin escape sequence&lt;br /&gt;
?               Zero or one occurrences&lt;br /&gt;
*               Zero or more occurrences&lt;br /&gt;
+               One or more occurrences&lt;br /&gt;
{ }           Enclose a numeric quantifier or character group&lt;br /&gt;
( )           Enclose a regular expression (may be the atom of another regex)&lt;br /&gt;
[ ]           Enclose a character class expression&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== pattern Constrains the lexical space to literals that must match a defined pattern==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsd:simpleType name=&amp;quot;isbnType&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsd:restriction base=&amp;quot;xsd:string&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xsd:pattern value=&amp;quot;[0-9]{10}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
&amp;lt;/xsd:simpleType&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Pattern for time==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsd:schema xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.wbex.ru&amp;quot; xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsd:element name=&amp;quot;gestation&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsd:simpleType&amp;gt;&lt;br /&gt;
      &amp;lt;xsd:restriction base=&amp;quot;xsd:time&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:pattern value=&amp;quot;P\d+D&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
&amp;lt;/xsd:schema&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Pattern syntax==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
.          for any character at all&lt;br /&gt;
\d         for any digit; &lt;br /&gt;
\D         for any non-digit&lt;br /&gt;
\s         for any white space (including space, tab, newline, and return); &lt;br /&gt;
\S         for any character that is not white space&lt;br /&gt;
x*         to have zero or more x&amp;quot;s; &lt;br /&gt;
(xy)*      to have zero or more xy&amp;quot;s&lt;br /&gt;
x?         to have one or zero x&amp;quot;s; &lt;br /&gt;
(xy)?      to have one or no xy&amp;quot;s&lt;br /&gt;
x+         to have one or more x&amp;quot;s; (xy)+ to have one or more xy&amp;quot;s&lt;br /&gt;
[abc]      to include one of a group of values (a, b, or c)&lt;br /&gt;
[0?      to include the range of values from 0 to 9&lt;br /&gt;
A|B        to have A or B in the content. &lt;br /&gt;
x{5}       to have exactly 5 x&amp;quot;s (in a row)&lt;br /&gt;
x{5,}      to have at least 5 x&amp;quot;s (in a row)&lt;br /&gt;
x{5,8}     to have at least 5 and at most 8 x&amp;quot;s (in a row)&lt;br /&gt;
(xyz){2}   to have exactly two xyz&amp;quot;s (in a row).&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== pattern: USA_SSN datatype==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
File: Schema.xsd&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.wbex.ru&amp;quot; xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;USA_SSN&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:pattern value=&amp;quot;[0-9]{3}-[0-9]{2}-[0-9]{4}&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Special regex characters (-[]) cannot be used for the single normal character form of the character range.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
For example, we can match either the opening or closing square bracket with the following: &lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;[\[\]]&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Specifying a Pattern for a Simple Type==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsd:schema xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.wbex.ru&amp;quot; xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsd:element name=&amp;quot;invoice_number&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsd:simpleType&amp;gt;&lt;br /&gt;
      &amp;lt;xsd:restriction base=&amp;quot;xsd:string&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:pattern value=&amp;quot;INV #99\d{3}&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
File: Data.xml &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;invoice_number xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&amp;gt;INV #99426&amp;lt;/invoice_number&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== These three characters should be used with caution:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Hybrid  Use/Meaning&lt;br /&gt;
^       Begin a negative character group&lt;br /&gt;
-       1) Begin a character class subtraction&lt;br /&gt;
        2) Separate the minimum/maximum values that define a range of character values&lt;br /&gt;
,       Separate the minimum/maximum values for number of occurrences of an atom&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== To match a string of any length (including the empty string) that is comprised exclusively of lower-case ASCII letters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;[a-z]*&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below is an example of element content that matches the above pattern:&lt;br /&gt;
&amp;lt;example&amp;gt;qwertyuiop&amp;lt;/example&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Describing structured numeric strings like US Social Security Numbers (SSNs): &lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;\d{3}-\d{2}-\d{4}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Allow only the ten ASCII digits, using this character class expression&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xs:pattern value=&amp;quot;[0-9]{3}-[0-9]{2}-[0-9]{4}&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Unicode character classes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Unicode Character Class   Includes &lt;br /&gt;
C                           Other characters (non-letters, non symbols, non-numbers, non-separators)  &lt;br /&gt;
Cc                           Control characters &lt;br /&gt;
Cf                           Format characters &lt;br /&gt;
Cn                           Unassigned code points &lt;br /&gt;
Co                           Private use characters &lt;br /&gt;
L                           Letters &lt;br /&gt;
Ll                           Lowercase letters &lt;br /&gt;
Lm                           Modifier letters &lt;br /&gt;
Lo                           Other letters &lt;br /&gt;
Lt                           Titlecase letters &lt;br /&gt;
Lu                           Uppercase letters &lt;br /&gt;
M                           All Marks &lt;br /&gt;
Mc                           Spacing combining marks &lt;br /&gt;
Me                           Enclosing marks &lt;br /&gt;
Mn                           Non-spacing marks &lt;br /&gt;
N                           Numbers &lt;br /&gt;
Nd                           Decimal digits &lt;br /&gt;
Nl                           Number letters &lt;br /&gt;
No                           Other numbers &lt;br /&gt;
P                           Punctuation &lt;br /&gt;
Pc                           Connector punctuation &lt;br /&gt;
Pd                           Dashes &lt;br /&gt;
Pe                           Closing punctuation &lt;br /&gt;
Pf                           Final quotes (may behave like Ps or Pe) &lt;br /&gt;
Pi                           Initial quotes (may behave like Ps or Pe) &lt;br /&gt;
Po                           Other forms of punctuation &lt;br /&gt;
Ps                           Opening punctuation &lt;br /&gt;
S                           Symbols &lt;br /&gt;
Sc                           Currency symbols &lt;br /&gt;
Sk                           Modifier symbols &lt;br /&gt;
Sm                           Mathematical symbols &lt;br /&gt;
So                           Other symbols &lt;br /&gt;
Z                           Separators &lt;br /&gt;
Zl                           Line breaks &lt;br /&gt;
Zp                           Paragraph breaks &lt;br /&gt;
Zs                           Spaces&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Use quantifiers to limit the number of leading zeros-for instance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
The following pattern limits the number of leading zeros to up to 2:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;  &lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt; &lt;br /&gt;
    &amp;lt;xs:simpleType name=&amp;quot;myByte&amp;quot;&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:byte&amp;quot;&amp;gt; &lt;br /&gt;
        &amp;lt;xs:pattern value=&amp;quot;0{0,2}1?5?&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
    &amp;lt;/xs:simpleType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== User-defined character classes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
[azertyuiop]   define the list of letters on the first row of a French keyboard, &lt;br /&gt;
[a-z]          specify all the characters between &amp;quot;a&amp;quot; and &amp;quot;z&amp;quot;,  &lt;br /&gt;
[^a-z]         for all the characters that are not between &amp;quot;a&amp;quot; and &amp;quot;z,&amp;quot; but also  &lt;br /&gt;
[-^\\]         define the characters &amp;quot;-,&amp;quot; &amp;quot;^,&amp;quot; and &amp;quot;\,&amp;quot; or  &lt;br /&gt;
[-+]           specify a decimal sign.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== You can use patterns to offer choices for an element&amp;quot;s content.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
File: Schema.xsd&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsd:schema xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.wbex.ru&amp;quot; xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsd:element name=&amp;quot;language&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsd:simpleType&amp;gt;&lt;br /&gt;
      &amp;lt;xsd:restriction base=&amp;quot;xsd:string&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:pattern value=&amp;quot;English|Latin&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
&amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
File: Data.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;language xmlns=&amp;quot;http://www.wbex.ru&amp;quot;&amp;gt;English&amp;lt;/language&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>