XML/XML Schema/import

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

import another XML schema

   <source lang="xml">

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

          xmlns:xml="http://www.w3.org/XML/1998/namespace"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation=
                         "http://www.wbex.ru
                          Schema.xsd
                          http://www.w3.org/XML/1998/namespace
                          xml.xsd">
       <Book xml:lang="EN">
               <Title>title1</Title>
               <Author>author1</Author>
               <Date>1998</Date>
               <ISBN>1-11111-111-1</ISBN>
               <Publisher>publisher1</Publisher>
       </Book>
       <Book xml:lang="EN">
               <Title>title2</Title>
               <Author>author2</Author>
               <Date>1977</Date>
               <ISBN>2-222-22222-2</ISBN>
               <Publisher>publisher2</Publisher>
       </Book>

</Books> File: Schema.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:import namespace="http://www.w3.org/XML/1998/namespace"
               schemaLocation="xml.xsd"/>
   <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:sequence>
                       <xsd:attribute ref="xml:lang"/>
                   </xsd:complexType>
               </xsd:element>
           </xsd:sequence>
       </xsd:complexType>
   </xsd:element>

</xsd:schema>

File:xml.xsd <?xml version="1.0"?> <xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"

          xmlns:xs="http://www.w3.org/2001/XMLSchema" 
          xml:lang="en">
<xs:attribute name="lang" type="xs:language">
</xs:attribute>
<xs:attribute name="space" default="preserve">
 <xs:simpleType>
  <xs:restriction base="xs:NCName">
   <xs:enumeration value="default"/>
   <xs:enumeration value="preserve"/>
  </xs:restriction>
 </xs:simpleType>
</xs:attribute>
<xs:attributeGroup name="specialAttrs">
 <xs:attribute ref="xml:lang"/>
 <xs:attribute ref="xml:space"/>
</xs:attributeGroup>

</xs:schema>

</source>
   
  


import schema and elementFormDefault

   <source lang="xml">

File: Data.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="Books.xsl"?> <Books xmlns="http://www.wbex.ru"

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation=
                         "http://www.wbex.ru
                          Books.xsd">
       <Book xmlns="http://www.java.org">
               <Title>title1</Title>
               <Author>author1</Author>
               <Date>1998</Date>
               <ISBN>1-11111-111-1</ISBN>
               <Publisher>publisher1</Publisher>
       </Book>
       <Book xmlns="http://www.wbex.org">
               <Title>title2</Title>
               <Author>author2</Author>
               <Date>1977</Date>
               <ISBN>2-222-22222-2</ISBN>
               <Publisher>publisher2</Publisher>
       </Book>

</Books>

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

       targetNamespace="http://www.wbex.ru"
       xmlns:bk="http://www.demo2s.ru"
       elementFormDefault="qualified">
   <import namespace="http://www.demo2s.ru"
           schemaLocation="Book.xsd"/>
   <element name="Books">
       <complexType>
           <sequence>
               <element ref="bk:Book" maxOccurs="unbounded"/>
           </sequence>
       </complexType>
   </element>

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

           targetNamespace="http://www.demo2s.ru"
           elementFormDefault="qualified">
   <element name="Book">
       <complexType>
           <sequence>
               <element name="Title" type="string"/>
               <element name="Author" type="string"/>
               <element name="Date" type="gYear"/>
               <element name="ISBN" type="string"/>
               <element name="Publisher" type="string"/>
           </sequence>
       </complexType>
   </element>

</schema>

</source>
   
  


import with namespace

   <source lang="xml">

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

     xmlns:xlink="http://www.w3.org/1999/xlink/namespace"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation=
                  "http://www.wbex.ru/unit
                   Schema.xsd">
   <myData>...</myData>
   <Mission xlink:href="https://www.wbex.ru"/>

</Unit>

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

           targetNamespace="http://www.wbex.ru/unit"
           xmlns="http://www.wbex.ru/unit"
           xmlns:xlink="http://www.w3.org/1999/xlink/namespace"
           elementFormDefault="qualified">
   <xsd:import namespace="http://www.w3.org/1999/xlink/namespace"
               schemaLocation="xlink.xsd"/>
   <xsd:element name="Unit">
       <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="myData" type="xsd:string"/>
                <xsd:element name="Mission"> 
                    <xsd:complexType>
                        <xsd:sequence/>
                        <xsd:attribute ref="xlink:href" use="required"/>
                    </xsd:complexType>
                </xsd:element>
           </xsd:sequence>
       </xsd:complexType>
   </xsd:element>

</xsd:schema>

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

           targetNamespace="http://www.w3.org/1999/xlink/namespace"
           xmlns="http://www.w3.org/1999/xlink/namespace"
           elementFormDefault="qualified">
   <xsd:attribute name="href" type="xsd:anyURI"/>

</xsd:schema>

</source>