Chapter 30. Basic Data Binding Concepts
Abstract
30.1. Including and Importing Schema Definitions
Overview
include and import schema tags. These tags enable you to insert definitions from external files or resources into the scope of a schema element. The essential difference between including and importing is:
- Including brings in definitions that belong to the same target namespace as the enclosing schema element.
- Importing brings in definitions that belong to a different target namespace from the enclosing schema element.
xsd:include syntax
<include schemaLocation="anyURI" />
Example 30.1. Example of a Schema that Includes Another Schema
<definitions targetNamespace="http://schemas.redhat.com/tests/schema_parser"
xmlns:tns="http://schemas.redhat.com/tests/schema_parser"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="http://schemas.redhat.com/tests/schema_parser"
xmlns="http://www.w3.org/2001/XMLSchema">
<include schemaLocation="included.xsd"/>
<complexType name="IncludingSequence">
<sequence>
<element name="includedSeq" type="tns:IncludedSequence"/>
</sequence>
</complexType>
</schema>
</types>
...
</definitions>Example 30.2. Example of an Included Schema
<schema targetNamespace="http://schemas.redhat.com/tests/schema_parser"
xmlns="http://www.w3.org/2001/XMLSchema">
<!-- Included type definitions -->
<complexType name="IncludedSequence">
<sequence>
<element name="varInt" type="int"/>
<element name="varString" type="string"/>
</sequence>
</complexType>
</schema>xsd:import syntax
<import namespace="namespaceAnyURI"
schemaLocation="schemaAnyURI" />Example 30.3. Example of a Schema that Imports Another Schema
<definitions targetNamespace="http://schemas.redhat.com/tests/schema_parser"
xmlns:tns="http://schemas.redhat.com/tests/schema_parser"
xmlns:imp="http://schemas.redhat.com/tests/imported_types"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="http://schemas.redhat.com/tests/schema_parser"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.redhat.com/tests/imported_types"
schemaLocation="included.xsd"/>
<complexType name="IncludingSequence">
<sequence>
<element name="includedSeq" type="imp:IncludedSequence"/>
</sequence>
</complexType>
</schema>
</types>
...
</definitions>Example 30.4. Example of an Imported Schema
<schema targetNamespace="http://schemas.redhat.com/tests/imported_types"
xmlns="http://www.w3.org/2001/XMLSchema">
<!-- Included type definitions -->
<complexType name="IncludedSequence">
<sequence>
<element name="varInt" type="int"/>
<element name="varString" type="string"/>
</sequence>
</complexType>
</schema>Using non-referenced schema documents
- Convert the schema document to a WSDL document using the xsd2wsdl tool.
- Generate Java for the types using the wsdl2java tool on the generated WSDL document.ImportantYou will get a warning from the wsdl2java tool stating that the WSDL document does not define any services. You can ignore this warning.
- Add the generated classes to your classpath.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.