OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: [wsbpel] Issue 88 - Proposal to vote - updated

I made some changes following Monica's and Yaron's suggestions.  The
updated text is below.

There are comments by Alex, Chris and Prasad which we can discuss later
today if possible.


The <import> element is used within a WS-BPEL process to explicitly
indicate a dependency on external XML Schema or WSDL definitions. Any
number of <import> elements may appear as initial children of the <process>
element, before any other child element. Each <import> element contains a
mandatory and two optional attributes.

- namespace. The namespace attribute specifies an absolute URI that
identifies the imported definitions. This attribute is optional. An import
element without  a namespace attribute indicates that external definitions
are in use which are not namespace qualified.

- location. The location attribute contains a URI indicating the location
of a document that contains relevant definitions in the namespace
specified. The location URI may be a relative URI, following the usual
rules for resolution of the URI base (XML Base and RFC 2396). The location
attribute is optional. An import element without a location attribute
indicates that external definitions are used by the process but makes no
statement about where those definitions may be found. The document located
at the location URI MUST identify the definitions it contains with a URI
matching the URI indicated by the namespace attribute.

- importType. The importType attribute identifies the type of document
being imported by providing an absolute URI that identifies the encoding
language used in the document. The value of the importType attribute MUST
be set to "http://www.w3.org/2001/XMLSchema"; when importing XML Schema 1.0
documents, and to "http://schemas.xmlsoap.org/wsdl/"; when importing WSDL
1.1 documents.

Observe that according to these rules, it is permissible to have an import
element without namespace and location attributes, and only containing an
importType attribute. Such an import element indicates that external
definitions of the indicated type are in use which are not namespace
qualified, and makes no statement about where those definitions may be

The presence of an <import> element should be interpreted as an
informational hint to the WS-BPEL processor. In particular, processors are
not required to retrieve the imported document from the location specified
on the <import> element. Import elements are conceptually unordered. It is
an error if the imported documents contain conflicting definitions of a
component used by the importing process definition (as could be caused, for
example, when the XSD redefinition mechanism is used).

A BPEL process definition MUST import all XML Schema and WSDL definitions
it uses. This includes all XML Schema type and element definitions, all
WSLD port types and message types as well as property and property alias
definitions used by the process.

Schema definitions defined in the types section of a WSDL document which is
imported by a BPEL process definition are considered to be effectively
imported themselves and are available to the process for the purpose of
defining XML Schema variables. However, documents (or namespaces) imported
by an imported document (or namespace) MUST NOT be transitively imported by
the BPEL processor. In particular, this means that if an external item is
used by a BPEL process, then a document (or namespace) that defines that
item MUST be directly imported by the process; observe however that this
requirement does not limit the ability of the imported document itself to
import other documents or namespaces. The following example clarifies some
of the issues related to the the lack of transitivity of imports.

Assume a document D1 define a type called a:Type. But a:Type's definition
could depend on another type called b:Type which is defined in document D2.
D1 could include an import for D2 thus making b:Type's definition available
for use within the definition of a:Type. If a BPEL process refers to a:Type
it must import document D1. By importing D1 the BPEL process can legally
refer to a:Type. But the BPEL process could not refer to b:Type even though
D1 imports D2. This is because transitivity of import is not supported by
BPEL. Note, however, that D1 can still import D2 and a:Type can still use
b:Type in its definition. In order to allow the BPEL process to refer to
b:Type it would be necessary for the BPEL process to directly import
document D2.

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]