Stylus Studio XML Editor

Table of contents

Appendices

4.1 Including Descriptions

Including Descriptions
<definitions>
  <include
        location="xs:anyURI" >
    <documentation />?
  </include>
</definitions>

The WSDL include element information item allows for the separation of different components of a service definition, belonging the same target namespace, into independent WSDL documents which can be merged as needed.

The WSDL include element information item is modeled after the XML Schema include element information item (see [XMLSchemaP1], section 4.2.3 "References to schema components in the same namespace"). Specifically, it can be used to include components from WSDL descriptions that share a target namespace with the including description. Components in directly included descriptions become part of the component model of the including description. Directly included means that component inclusion is not transitive; components included by one of the included documents are not available to the original including document unless the are included directly by that document. The included components can be referenced by QName. Note that because all WSDL descriptions have a target namespace, no-namespace includes (sometimes known as "chameleon includes") never occur in WSDL.

A mutual include is direct inclusion by one WSDL document of another WSDL document which includes the first. A circular include achieves the same effect with greater indirection (WSDL A includes WSDL B includes WSDL A, for instance). Multiple inclusion of a single WSDL document resolves to a single set of components. Mutual, multiple, and circular includes are explicitly permitted, and do not represent multiple redefinitions of the same components. Multiple inclusion of a single WSDL document has the same meaning as including it only once. Processors are encouraged to keep track of the source of component definitions, so that multiple, mutual, and circular includes do not require establishing identity on a component-by-component basis.

The include element information item has:

  • A [local name] of include.

  • A [namespace name] of http://www.w3.org/2004/08/wsdl.

  • One or more attribute information items amongst its [attributes] as follows:

    • A REQUIRED location attribute information item as described below in [ ].

    • Zero or more namespace qualified attribute information items. The [namespace name] of such attribute information items MUST NOT be http://www.w3.org/2004/08/wsdl.

  • Zero or more element information item amongst its [children], as follows:

    • An optional documentation element information item (see [Documentation]).

    • Zero or more namespace-qualified element information items amongst its [children]. The [namespace name] of such element information items MUST NOT be http://www.w3.org/2004/08/wsdl.

location attribute information item with include [owner][top]

location attribute information item with include [owner]

The location attribute information item has the following Infoset properties:

  • A [local name] of location.

  • A [namespace name] which has no value.

A location attribute information item is of type xs:anyURI. Its actual value is the location of some information about the namespace identified by the targetNamespace attribute information item of the containing definitions element information item.

If the URI indicated by location is not dereferenceable or does not resolve to a WSDL document then the processor MUST fail immediately. That is, include elements MUST be processed immediately by WSDL processors.

The actual value of the targetNamespace attribute information item of the included WSDL document MUST match the actual value of the targetNamespace attribute information item of the definitions element information item which is the [parent] of the include element information item.