XML/XML Schema/import
import another XML schema
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>
import schema and elementFormDefault
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>
import with namespace
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>