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