[NEW ISSUE]: 4196 Clarify namespace restrictions (Framework and Primer)

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