[Bug 4196] Clarify namespace restrictions (Framework and Primer)

http://www.w3.org/Bugs/Public/show_bug.cgi?id=4196

           Summary: Clarify namespace restrictions (Framework and Primer)
           Product: WS-Policy
           Version: CR
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Framework
        AssignedTo: fsasaki@w3.org
        ReportedBy: monica.martin@sun.com
         QAContact: public-ws-policy-qa@w3.org
                CC: fabian.ritzmann@sun.com


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.

[start 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|."
[end 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:41:10 UTC