wsbpel message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Re: [wsbpel] Issue - 92.7 - proposal to vote
- From: Alex Yiu <alex.yiu@oracle.com>
- To: wsbpeltc <wsbpel@lists.oasis-open.org>
- Date: Tue, 19 Jul 2005 11:46:20 -0700
Hi all,
This is the updated proposal to incorporate some of feedbacks from the
last conf call.
Thanks!
Regards,
Alex Yiu
Title: Issue 92.7 - Proposal
Proposal for Issue 92.7
Last modified: Jul 18, 2005 - 3 pm PDT
Change Log:
- To address Prasad's request to add the "hint" nature clarification to schemaLocation
- To simplify the usage of "schemaLanguage" inspired by Ron's comments during conference call on July 13
- To clarify more corner cases semantics
Summary:
Adding optional schemaLocation and schemaLanguage attribues to
<extension>
-------------------------
<extensions>
<extension namespace="URI" mustUnderstand="yes|no"
schemaLocation="URI"? schemaLanguage="URI"? />*
</extensions>
-------------------------
Rationale:
To enable a portable syntax validation mechanism for extensions used in
WS-BPEL. Particularly, enabling de-coupling and interoperability
between BPEL designer tools and BPEL engine in the context of BPEL
extensions.
Details:
The optional "schemaLocation" refers to the location of a schema for
XML which provides extra syntax validation information for extension
element and attributes used in WS-BPEL. The usage of the
"schemaLocation" is optional. That means, when the attribute can be omitted, WS-BPEL processor will NOT do any syntax
validation, if it does not understand that namespace (i.e. not a well-known namespace to a particular implementation).
The URI value of the optional "schemaLocation" attribute provides a hint as to the physical location of the schema document.
If the extension attributes and elements are invalid according to the
schema specified by the "schemaLocation", the WS-BPEL processor MUST
detect this condition during static analysis and reject the process
defintion.
WS-BPEL specification does not mandate a particular schema language for
XML to be used for extension syntax validation. The choices of schema
languages include and are not limited to: W3C XML Schema
(http://www.w3.org/2001/XMLSchema). The schema language used by a
particular extension is determined by one of the two mechanisms:
- the "schemaLanguage" attribute of
the corresponding <extension> element, if such a attribute is provided
- the namespace of the root element of the referred schema
document, if the "schemaLanguage" attribute is not provided and the
referred schema document is an XML document
If schema language of a particular
<extension> cannot be determined by one of the above mechanisms
and the mustUnderstand attribute of the extension is set to "yes", the
WS-BPEL processor MUST reject the process definition during static
analysis.
If the WS-BPEL
processor does not understand a particular schemaLanguage and
mustUnderstand is set to no, the processor does not need to perform
syntax validation. On the other hand, if mustUnderstand of the
<extension> element is set to yes under the same unsupported
schemaLanguage situation, the processor MUST reject the process
definition during static analysis.
Here is a table to summarize the different usage cases of schema for <extension>:
mustUnderstand
|
able to determine and
support schema language
|
action
|
Yes
|
Yes
|
Validate the extension syntax;
reject the process
if invalid syntax is used
|
Yes
|
No
|
Reject the process
|
No
|
Yes
|
Validate the extension syntax;
reject the process
if invalid syntax is used |
No
|
No
|
Ignore the schema
|
Syntax summary:
-------------------------
<extensions>
<extension namespace="URI" mustUnderstand="yes|no"
schemaLocation="URI"? schemaLanguage="URI"? />*
</extensions>
-------------------------
For example:
--------------------------
<extensions>
<extension namespace="http://foo.com" mustUnderstand="yes"
schemaLocation="http://foo.com/wsbpel/extension.xsd" />
<extension namespec="http://bar.com" mustUnderstand="no" />
<extension namespec="http://bar2.com" mustUnderstand="yes" />
<extension namespec="http://some.org" mustUnderstand="no"
schemaLocation="http://some.org/wsbpel/extension.rnc"
schemaLanguage="http://relaxng.org/ns/structure/1.0" />
<extension namespec="http://some2.org" mustUnderstand="no"
schemaLocation="http://some.org/wsbpel/extension2.rng" />
</extensions>
--------------------------
The extensions under namespace of "http://foo.com", "http://some.org" and "http://some2.org" are validated with schemas from
"http://foo.com/wsbpel/extension.xsd" (in W3C XML Schema) and
"http://some.org/wsbpel/extension.rnc" (in Relax NG) and "http://some.org/wsbpel/extension2.rng" (in Relax NG) respectively .
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]