XML/XML Schema/namespace

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

Two namespaces

File: Data.xml
<?xml version="1.0"?>
<Books xmlns="http://www.wbex.ru"
            xmlns:sr="http://www.demo2s.ru"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation=
                           "http://www.wbex.ru
                            Books.xsd
                            http://www.demo2s.ru
                            SchemaRepository.xsd">
        <Book sr:id="001">
                <Title>title 1</Title>
                <Author>author 1</Author>
                <Date>1998</Date>
                <ISBN>1-11111-111-1</ISBN>
                <Publisher>publisher 1</Publisher>
                <Reviewer xmlns="http://www.wbex.ru">
                    <Name>
                        <First>first</First>
                        <Last>last</Last>
                    </Name>
                </Reviewer>
        </Book>
        <Book sr:id="002">
                <Title>title 2</Title>
                <Author>author 2</Author>
                <Date>1977</Date>
                <ISBN>2-222-22222-2</ISBN>
                <Publisher>publisher 2</Publisher>
        </Book>
</Books>

File: Books.xsd
<?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="Books">
        <xsd:complexType>
             <xsd:sequence>
                 <xsd:element name="Book" maxOccurs="unbounded">
                     <xsd:complexType>
                         <xsd:sequence>
                             <xsd:element name="Title" type="xsd:string"/>
                             <xsd:element name="Author" type="xsd:string"/>
                             <xsd:element name="Date" type="xsd:string"/>
                             <xsd:element name="ISBN" type="xsd:string"/>
                             <xsd:element name="Publisher" type="xsd:string"/>
                             <xsd:any minOccurs="0"/>
                         </xsd:sequence>
                         <xsd:anyAttribute processContents="skip"/>
                     </xsd:complexType>
                 </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>
File: SchemaRepository.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.demo2s.ru"
            xmlns="http://www.demo2s.ru"
            elementFormDefault="qualified">
    <xsd:element name="Reviewer">
        <xsd:complexType>
             <xsd:sequence>
                 <xsd:element name="Name">
                     <xsd:complexType>
                         <xsd:sequence>
                             <xsd:element name="First" type="xsd:string"/>
                             <xsd:element name="Last" type="xsd:string"/>
                         </xsd:sequence>
                     </xsd:complexType>
                 </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:attribute name="id" type="xsd:ID"/>
</xsd:schema>