XML/XML Schema/import
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>