📄 schema_facets.asp
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XML Schema Restrictions/Facets</title>
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Keywords" content="xml,tutorial,html,dhtml,css,xsl,xhtml,javascript,asp,ado,vbscript,dom,sql,colors,soap,php,authoring,programming,training,learning,beginner's guide,primer,lessons,school,howto,reference,examples,samples,source code,tags,demos,tips,links,FAQ,tag list,forms,frames,color table,w3c,cascading style sheets,active server pages,dynamic html,internet,database,development,Web building,Webmaster,html guide" />
<meta name="Description" content="Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building." />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="stylesheet" type="text/css" href="../stdtheme.css" />
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "../../https@ssl./default.htm" : "../../www./default.htm");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3855518-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</head>
<body>
<a name="top"></a>
<table cellpadding="0" cellspacing="0" width="100%" bgcolor="#808080">
<tr>
<td width="234" valign="top">
<a href="../default.htm"><img src="../images/w3default80.jpg" border="0" alt="W3Schools" /></a>
</td>
<th valign="middle" align="left" class="right">
<iframe style="background-color:#808080" src="../banners/bannerframe.asp@adpartner=w3markup" height="90" width="728"
marginwidth="0" marginheight="0" frameborder="0" scrolling="no">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>
<br /></th>
</tr>
</table>
<table style="margin-left:1px" width="800px" border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="137" class="content" valign="top"><br />
<a class="left" href="../default.asp" target="_top">
<img src="../images/homeicon.gif" border="0" alt="home" /></a>
<a class="left" href="../default.asp" target="_top">
<b>HOME</b></a>
<br /><br />
<b>Schema Tutorial</b><br />
<a class="left" target="_top" href="default.asp" >XSD HOME</a><br />
<a class="left" target="_top" href="schema_intro.asp" >XSD Intro</a><br />
<a class="left" target="_top" href="schema_why.asp" >XSD Why Use</a><br />
<a class="left" target="_top" href="schema_howto.asp" >XSD How To</a><br />
<a class="left" target="_top" href="schema_schema.asp" >XSD <schema></a><br />
<br />
<b>Simple Types</b><br />
<a class="left" target="_top" href="schema_simple.asp" >XSD Elements</a><br />
<a class="left" target="_top" href="schema_simple_attributes.asp" >XSD Attributes</a><br />
<a class="left" target="_top" href="schema_facets.asp" style='font-weight:bold;'>XSD Restrictions</a><br />
<br />
<b>Complex Types</b><br />
<a class="left" target="_top" href="schema_complex.asp" >XSD Elements</a><br />
<a class="left" target="_top" href="schema_complex_empty.asp" >XSD Empty</a><br />
<a class="left" target="_top" href="schema_complex_elements.asp" >XSD Elements Only</a><br />
<a class="left" target="_top" href="schema_complex_text.asp" >XSD Text Only</a><br />
<a class="left" target="_top" href="schema_complex_mixed.asp" >XSD Mixed</a><br />
<a class="left" target="_top" href="schema_complex_indicators.asp" >XSD Indicators</a><br />
<a class="left" target="_top" href="schema_complex_any.asp" >XSD <any></a><br />
<a class="left" target="_top" href="schema_complex_anyattribute.asp" >XSD <anyAttribute></a><br />
<a class="left" target="_top" href="schema_complex_subst.asp" >XSD Substitution</a><br />
<a class="left" target="_top" href="schema_example.asp" >XSD Example</a><br />
<br />
<b>Data Types</b><br />
<a class="left" target="_top" href="schema_dtypes_string.asp" >XSD String</a><br />
<a class="left" target="_top" href="schema_dtypes_date.asp" >XSD Date</a><br />
<a class="left" target="_top" href="schema_dtypes_numeric.asp" >XSD Numeric</a><br />
<a class="left" target="_top" href="schema_dtypes_misc.asp" >XSD Misc</a><br />
<br />
<a class="left" target="_top" href="schema_summary.asp" >XSD Summary</a><br />
<br />
<b>References</b><br />
<a class="left" target="_top" href="schema_elements_ref.asp" >XSD Reference</a><br />
<a class="left" target="_blank" href="../../www.w3.org/2001/03/webdata/xsv">XSD Validator</a><br /><br />
<b>Selected Reading</b><br />
<a class="left" target="_top" href="../browsers/browsers_stats.asp">Web Statistics</a><br />
<a class="left" target="_top" href="../site/site_glossary.asp">Web Glossary</a><br />
<a class="left" target="_top" href="../hosting/default.asp">Web Hosting</a><br />
<a class="left" target="_top" href="../quality/default.asp">Web Quality</a><br /><br />
<a class="left" target="_top" href="../forum/default.asp">W3Schools Forum</a><br /><br />
<a class="left" target="_top" href="../about/about_helping.asp">Helping W3Schools</a><br /><br />
<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*LeftLinkUnit*/
google_ad_slot = "4854527104";
google_ad_width = 120;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
<td valign="top">
<table style="border: 1px solid gray" width="100%" bgcolor="#FFFFFF" border="0" cellpadding="5" cellspacing="0">
<tr>
<td>
<h1>XSD Restrictions/Facets</h1>
<a href="schema_simple_attributes.asp"><img border="0" src="../images/btn_previous.gif" alt="prev" /></a>
<a href="schema_complex.asp"><img border="0" src="../images/btn_next.gif" alt="next" /></a>
<hr />
<p class="intro">Restrictions are used to define acceptable values for XML
elements or attributes. Restrictions on XML elements are called facets.</p>
<hr />
<h2>Restrictions on Values</h2>
<p>The following example defines an element called "age" with a restriction. The value of
age cannot be lower than 0 or greater than 120:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="age"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<br />
<hr />
<h2>Restrictions on a Set of Values</h2>
<p>To limit the content of an XML element to a set of
acceptable
values, we would use the enumeration constraint.</p>
<p>The example below defines an element called "car" with a restriction.
The only acceptable values are: Audi, Golf, BMW:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="car"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<p>The example above could also have been written like this:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="car" type="carType"/></pre>
<pre><xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType></pre>
</td>
</tr>
</table>
<p><b>Note:</b> In this case the type "carType" can be used by other elements
because it is not a part of the "car" element.</p>
<hr />
<h2>Restrictions on a Series of Values</h2>
<p>To limit the content of an XML element to define a series of numbers or
letters that can be used, we would use the pattern constraint.</p>
<p>The example below defines an element called "letter" with a restriction.
The only acceptable value is ONE of the LOWERCASE letters from a to z:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="letter"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<p>The next example defines an element called "initials" with a
restriction. The only acceptable value is THREE of the UPPERCASE letters from a
to z:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="initials"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<p>The next example also defines an element called "initials" with a
restriction. The only acceptable value is THREE of the LOWERCASE OR UPPERCASE
letters from a to z:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="initials"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<p>The next example defines an element called "choice" with a restriction.
The only acceptable value is ONE of the following letters: x, y, OR z:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="choice"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<p>The next example defines an element called "prodid" with a
restriction. The only acceptable value is FIVE digits in a sequence, and each
digit must be in a range from 0 to 9:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="prodid"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<br />
<hr />
<h2>Other Restrictions on a Series of Values</h2>
<p>The example below defines an element called "letter" with a
restriction. The acceptable value is zero or more occurrences of lowercase
letters from a to z:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="letter"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<p>The next example also defines an element called "letter" with a
restriction. The acceptable value is one or more pairs of letters, each pair
consisting of a lower case letter followed by an upper case letter. For example,
"sToP" will be validated by this pattern, but not "Stop" or "STOP" or "stop":</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="letter"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<p>The next example defines an element called "gender" with a
restriction. The only acceptable value is male OR female:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="gender"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<p>The next example defines an element called "password" with a
restriction. There must be exactly eight characters in a row and those
characters must be lowercase or uppercase letters from a to z, or a number from
0 to 9:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><xs:element name="password"></pre>
<pre><xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{8}"/>
</xs:restriction>
</xs:simpleType></pre>
<pre></xs:element> </pre>
</td>
</tr>
</table>
<br />
<hr />
<h2>Restrictions on Whitespace Characters</h2>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -