XML/XML Schema/include
elementFormDefault="qualified" and include
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <Course xmlns="http://www.wbex.ru"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Course.xsd"> <Books> <Book> <Title>title 2</Title> <Author>author 2</Author> <Date>1977</Date> <ISBN>2-222-22222-2</ISBN> <Publisher>publisher 2</Publisher> <Summary>test</Summary> </Book> </Books> <Students> <Student> <Name>name 1</Name> <SSN>123-45-6789</SSN> </Student> <Student> <Name>name 2</Name> <SSN>000-11-2345</SSN> </Student> </Students>
</Course>
File: Course.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:redefine schemaLocation="CourseBook.xsd"> <xsd:complexType name="BookType"> <xsd:complexContent> <xsd:extension base="BookType"> <xsd:sequence> <xsd:element name="Summary" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:redefine> <xsd:include schemaLocation="CourseStudent.xsd"/> <xsd:element name="Course"> <xsd:complexType> <xsd:sequence> <xsd:element name="Books"> <xsd:complexType> <xsd:sequence> <xsd:element ref="Book" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Students"> <xsd:complexType> <xsd:sequence> <xsd:element ref="Student" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema> File: CourseBook.xsd <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> <xsd:complexType name="BookType"> <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:complexType> <xsd:element name="Book" type="BookType"/>
</xsd:schema> File: CourseStudent.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="Student"> <xsd:complexType> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="SSN" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
include another two xml schemas
<source lang="xml">
File: Course.xml <?xml version="1.0"?> <Course xmlns="http://www.wbex.ru"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Course.xsd"> <Books> <Book> <Title>title2</Title> <Author>author2</Author> <Date>1977</Date> <ISBN>2-222-22222-2</ISBN> <Publisher>publisher2</Publisher> </Book> </Books> <Students> <Student> <Name>name 1</Name> <SSN>123-45-6789</SSN> </Student> <Student> <Name>name 2</Name> <SSN>000-11-2345</SSN> </Student> </Students>
</Course> File: Course.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:include schemaLocation="CourseBook.xsd"/> <xsd:include schemaLocation="CourseStudent.xsd"/> <xsd:element name="Course"> <xsd:complexType> <xsd:sequence> <xsd:element name="Books"> <xsd:complexType> <xsd:sequence> <xsd:element ref="Book" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Students"> <xsd:complexType> <xsd:sequence> <xsd:element ref="Student" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema> File: CourseBook.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="Book"> <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:complexType> </xsd:element>
</xsd:schema> File: CourseStudent.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="Student"> <xsd:complexType> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="SSN" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
include with elementFormDefault="qualified"
<source lang="xml">
File: Company.xml <?xml version="1.0"?> <Company xmlns="http://www.wbex.ru"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wbex.ru Company.xsd"> <Person> <Name>name 1</Name> <SSN>123-45-6789</SSN> </Person> <Product> <Type>Widget</Type> </Product>
</Company> File: Company.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:include schemaLocation="Person.xsd"/> <xsd:include schemaLocation="Product.xsd"/> <xsd:element name="Company"> <xsd:complexType> <xsd:sequence> <xsd:element name="Person" type="PersonType" maxOccurs="unbounded"/> <xsd:element name="Product" type="ProductType" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema> File: Person.xsd <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> <xsd:complexType name="PersonType"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="SSN" type="xsd:string"/> </xsd:sequence> </xsd:complexType>
</xsd:schema> File: Product.xsd <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> <xsd:complexType name="ProductType"> <xsd:sequence> <xsd:element name="Type" type="xsd:string"/> </xsd:sequence> </xsd:complexType>
</xsd:schema>
</source>