XML Tutorial/XML Schema/import — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 11:26, 26 мая 2010
Creating a Schema from Multiple Documents: <import>
<source lang="xml">
The <import> declaration is used for combining XML Schemas that have different targetNamespaces. The <import> declaration allows you to refer to declarations only within other XML Schemas. The <import> declaration is always declared globally within an XML Schema. The <import> declaration must be a direct child of the <schema> element. The <import> declaration applies to the entire XML Schema. <import namespace="" schemaLocation=""></source>
To import elements and attributes with no namespace, import a schema without any target namespace
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <lib:library xmlns:lib="http://wbex.ru/ns/library">
<lib:book id="b0836217462"> <lib:title>Being a Dog Is a Full-Time Job</lib:title> <lib:authors> <person id="CMS"> <name>Charles M Schulz</name> </person> </lib:authors> </lib:book>
</lib:library>
File: Schema.xsd <?xml version="1.0"?> <xs:schema targetNamespace="http://wbex.ru/ns/library"
elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:lib="http://wbex.ru/ns/library" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import schemaLocation="another.xsd" /> <xs:element name="library"> <xs:complexType> <xs:sequence> <xs:element name="book" type="lib:bookType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="bookType"> <xs:sequence> <xs:element name="title" type="xs:string" /> <xs:element name="authors"> <xs:complexType> <xs:sequence> <xs:element ref="person" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:ID" use="required" /> </xs:complexType>
</xs:schema>
File: another.xsd <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="person" type="personType" /> <xs:complexType name="personType"> <xs:sequence> <xs:element name="name" type="xs:string" /> </xs:sequence> <xs:attribute name="id" type="xs:ID" use="required" /> </xs:complexType>
</xs:schema></source>