XSD Tutorials - Herong's Tutorial Examples - v5.23, by Herong Yang
Importing Declarations Across Namespaces - Examples
This section describes a tutorial example on how to import external namespaces and refer to element declarations from imported namespaces.
A good example of using "import" components is to design a new schema that reuses (or refers to) elements declarations described in the "http://www.w3.org/1999/xhtml" name space.
In the following example, xhtml_import.xsd, declarations of "p", "pre", and "ul" are reused from the imported namespace:
<?xml version="1.0"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<xsd:annotation>
<xsd:documentation>xhtml_import.xsd
- Copyright (c) 2002-2013 HerongYang.com. All Rights Reserved.
</xsd:documentation>
</xsd:annotation>
<xsd:import namespace="http://www.w3.org/1999/xhtml"
schemaLocation="xhtml.xsd"/>
<xsd:element name="book" type="bookType"/>
<xsd:complexType name="bookType">
<xsd:all>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="author" type="xsd:string"/>
<xsd:element ref="xhtml:p"/>
<xsd:element ref="xhtml:pre"/>
<xsd:element ref="xhtml:ul"/>
</xsd:all>
</xsd:complexType>
</xsd:schema>
Notice that:
In the next section, we will learn how to write an XML document that conforms to a schema that imports declarations from a different namespace.
Table of Contents
XML Editor and Schema Processor - XMLPad
Java API for XML Processing - JAXP
JAXP - XML Schema (XSD) Validation
Xerces2 Java Parser - Java API of XML Parsers
Introduction of XSD Built-in Datatypes
"string" and Its Derived Datatypes
"decimal" and Its Derived Datatypes
"dateTime" and Its Related Datatypes
Miscellaneous Built-in Datatypes
Facets, Constraining Facets and Restriction Datatypes
"simpleType" - Defining Your Own Simple Datatypes
Identity-Constraints: unique, key and keyref
Assertion as Custom Validation Rules
XML Schema Location and Namespace in XML Documents
Overriding Element Types in XML Documents
►Linking Multiple Schema Documents Together
Schema Component Reuse - "include", "redefine" or "import"
Including Old Schema Documents - "include" Component
Including Old Schema Documents - Examples
Including Old Schema Documents - Errors
Redefining Old Datatypes - "redefine" Component
Redefining Old Datatypes - XML Examples
Redefining Old Datatypes - Errors
Importing Declarations Across Namespaces - "import" Component
►Importing Declarations Across Namespaces - Examples
Using Elements Declared in Different Namespaces