XML Tutorial/XML Schema/NMTOKEN

Материал из Web эксперт
Перейти к: навигация, поиск

The NMTOKEN datatype is derived from the token type

   <source lang="xml">

<xsd:element name="title">

 <xsd:complexType>
  <xsd:complexContent>
   <xsd:extension base="xsd:anyType">
   <xsd:attribute name="degree" type="xsd:NMTOKEN"/>
   </xsd:extension>
  </xsd:complexContent>
 </xsd:complexType>

</xsd:element>

<title degree="MS">Mister</title></source>


Use xs:NMTOKEN

   <source lang="xml">

File: Data.xml <?xml version="1.0"?> <library>

 <book id="b0836217462" available="true"> 
   <isbn>1111111111</isbn> 
   <title lang="en">Java</title> 
   <author id="CMS"> 
     <name></name> 
     <born>2008-11-26</born> 
     <dead>2000-02-12</dead> 
   </author> 
   <character id="Snoopy"> 
     <name>Snoopy</name> 
     <born>1950-10-04</born> 
     <qualification>not</qualification> 
   </character> 
 </book> 

</library> File: Schema.xsd <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

 <xs:element name="name" type="xs:token"/> 
 <xs:element name="qualification" type="xs:token"/> 
 <xs:element name="born" type="xs:date"/> 
 <xs:element name="dead" type="xs:date"/> 
 <xs:element name="isbn" type="xs:NMTOKEN"/> 
 <xs:attribute name="id" type="xs:ID"/> 
 <xs:attribute name="available" type="xs:boolean"/> 
 <xs:attribute name="lang" type="xs:language"/> 
 <xs:element name="title"> 
   <xs:complexType> 
     <xs:simpleContent> 
       <xs:extension base="xs:token"> 
         <xs:attribute ref="lang"/> 
       </xs:extension> 
     </xs:simpleContent> 
   </xs:complexType> 
 </xs:element> 
 <xs:element name="library"> 
   <xs:complexType> 
     <xs:sequence> 
       <xs:element ref="book" maxOccurs="unbounded"/> 
     </xs:sequence> 
   </xs:complexType> 
 </xs:element> 
 <xs:element name="author"> 
   <xs:complexType> 
     <xs:sequence> 
       <xs:element ref="name"/> 
       <xs:element ref="born"/> 
       <xs:element ref="dead" minOccurs="0"/> 
     </xs:sequence> 
     <xs:attribute ref="id"/> 
   </xs:complexType> 
 </xs:element> 
 <xs:element name="book"> 
   <xs:complexType> 
     <xs:sequence> 
       <xs:element ref="isbn"/> 
       <xs:element ref="title"/> 
       <xs:element ref="author" minOccurs="0" maxOccurs="unbounded"/>  
       <xs:element ref="character" minOccurs="0" 
         maxOccurs="unbounded"/> 
     </xs:sequence> 
     <xs:attribute ref="id"/> 
     <xs:attribute ref="available"/> 
   </xs:complexType> 
 </xs:element> 
 <xs:element name="character"> 
   <xs:complexType> 
     <xs:sequence> 
       <xs:element ref="name"/> 
       <xs:element ref="born"/> 
       <xs:element ref="qualification"/> 
     </xs:sequence> 
     <xs:attribute ref="id"/> 
   </xs:complexType> 
 </xs:element> 

</xs:schema></source>