XML/XML Schema/extension

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

complexType with extension

   <source lang="xml">

File: Data.xml <?xml version="1.0"?> <Book xmlns="http://www.wbex.ru"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.wbex.ru Schema.xsd">
   <Title>title 1</Title>
   <Author>author 1</Author>
   <Author>author 2</Author>
   <Date>1993</Date>
   <ISBN>1-11111-111-1</ISBN>
   <Publisher>publisher 1</Publisher>

</Book>

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

       targetNamespace="http://www.wbex.ru"
       xmlns="http://www.wbex.ru"
       elementFormDefault="qualified">
   <xsd:element name="Book" type="bookType"/>
   
   
   <xsd:complexType name="Publication">
       <xsd:sequence>
           <xsd:element name="Title" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
           <xsd:element name="Author" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
           <xsd:element name="Date" type="xsd:gYear" minOccurs="1" maxOccurs="1"/>
       </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="bookType">
       <xsd:complexContent>
           <xsd:extension base="Publication" >
               <xsd:sequence>
                   <xsd:element name="ISBN" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                   <xsd:element name="Publisher" type="xsd:string" minOccurs="1" maxOccurs="1"/>
               </xsd:sequence>
           </xsd:extension>
       </xsd:complexContent>
   </xsd:complexType>

</xsd:schema>

</source>