XML Tutorial/XML Schema/Reference — различия между версиями

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

Текущая версия на 08:26, 26 мая 2010

Referencing Already Defined Elements

You can only reference element declarations within sequences, sets of choices, unordered groups, and named group definitions.
Each reference may contain distinct values for minOccurs and maxOccurs.
 
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</name> 
      <born>1998-11-26</born> 
      <dead>2000-02-12</dead> 
    </author> 
    <character id="PP"> 
      <name>Swing</name> 
      <born>1996-08-22</born> 
      <qualification>Yes</qualification> 
    </character> 
    <character id="Web"> 
      <name>JSP</name> 
      <born>1997-10-04</born> 
      <qualification>No</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:string"/> 
  <xs:element name="qualification" type="xs:string"/> 
  <xs:element name="born" type="xs:date"/> 
  <xs:element name="dead" type="xs:date"/> 
  <xs:element name="isbn" type="xs:string"/> 
  <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:string"> 
          <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>