XML/XML Schema/extension

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

complexType with extension

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>