- From: Monica J. Martin <Monica.Martin@Sun.COM>
- Date: Thu, 11 Jan 2007 16:42:00 -0800
- To: "public-ws-policy@w3.org" <public-ws-policy@w3.org>
See: http://www.w3.org/Bugs/Public/show_bug.cgi?id=4196
Title: Clarify namespace restrictions
Target: Framework and Primer [reference 1]
Description and Justification:
The Framework specification specifies treatment of unknown extensibility
elements and attributes. In reviewing this and the other WG documents
for a related issue on cleanup items on extensibility and consistency
with the XML schema, ambiguous or missing statements were identified for
the Primer and the Framework related to namespaces. The Primer specifies
namespace restrictions rather than the Framework document.
Consistency and clarity between all documents with the requirements
around extensibility for namespaces are suggested.
[for reference only]
Reference this snippet from the existing schema. [reference 1] Note
this snippet is only included for information and reference only. This
snippet is NOT part of any proposed change for the Framework.
...<xs:element name="Policy" >
<xs:complexType>
<xs:complexContent>
<xs:extension base="tns:OperatorContentType" >
<xs:attribute name="Name" type="xs:anyURI" />
<xs:attribute ref="wsu:Id" />
<xs:anyAttribute namespace="##any" processContents="lax" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="All" type="tns:OperatorContentType" />
<xs:element name="ExactlyOne" type="tns:OperatorContentType" />
<xs:complexType name="OperatorContentType" >
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded" >
<xs:element ref="tns:Policy" />
<xs:element ref="tns:All" />
<xs:element ref="tns:ExactlyOne" />
<xs:element ref="tns:PolicyReference" />
<xs:any namespace="##other" processContents="lax" />
</xs:choice>
</xs:sequence>
</xs:complexType>...
See also existing text in the Primer, Section 3.8, Extensibility and
Versioning: [reference 2]
"Web Services Policy language is an extensible language by design.
The |Policy|, |ExactlyOne|, |All| and |PolicyReference| elements are
extensible. The |Policy|, |ExactlyOne| and |All| elements allow
child element and attribute extensibility. Extensions must not use
the policy language XML namespace name. A consuming processor
processes known attributes and elements, ignores unknown attributes
and treats unknown elements as policy assertions.
The |PolicyReference| element allows element and attribute
extensibility."
See also in Section 2.3, Framework, on the policy namespace:
"All information items defined by this specification are identified
by the XML namespace URI [XML Namespaces] <link>
|http://www.w3.org/@@@@/@@/ws-policy|."
[for reference only]
Proposal:
Clarify statements in the Primer [2] and add such information to the
Framework document [2] around namespaces related to extensions. The
Framework discusses arbitrary namespaces but not specific restrictions,
while the cited statements in the Primer need to be updated.
PROPOSED CHANGE: For Framework, Section 2.2, Extensibility:
[start proposed change - add at the end of the existing paragraph]
Extensions to Child Element Information Items added to Policy operators
wsp:Policy, wsp:All and wsp:ExactlyOne MUST NOT use the policy language
XML namespace name.
[end proposed change]
PROPOSED CHANGE: For Primer, Section 3.8, Extensibility and Versioning
Change from:
"Web Services Policy language is an extensible language by design.
The |Policy|, |ExactlyOne|, |All| and |PolicyReference| elements are
extensible. The |Policy|, |ExactlyOne| and |All| elements allow
child element and attribute extensibility. Extensions must not use
the policy language XML namespace name. A consuming processor
processes known attributes and elements, ignores unknown attributes
and treats unknown elements as policy assertions.
The |PolicyReference| element allows element and attribute
extensibility."
Change to:
"Web Services Policy language is an extensible language by design.
The |Policy|, |ExactlyOne|, |All| and |PolicyReference| elements are
extensible. The |Policy|, |ExactlyOne| and |All| elements allow
child element and attribute extensibility. Child element extensions
to these elements must not use the policy language XML namespace
name. A consuming processor processes known attributes and elements,
ignores unknown attributes and treats unknown elements as policy
assertions.
The |PolicyReference| element allows element and attribute
extensibility."
Note: The extensibility question irrespective of namespaces is handled
in a separate issue.
References
[reference 1]
http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy.xsd?rev=1.6&content-type=text/plain
(schema)
[reference 2]
Editor's copies and CVS area 10 January 2007:
http://www.w3.org/2002/ws/policy
See also Section 5, Lifecyle of Assertions in Guidelines
http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;%20charset=utf-8
(Framework)
http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-primer.html?content-type=text/html;%20charset=utf-8
(Primer)
Received on Friday, 12 January 2007 00:42:04 UTC