This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 4196 - Clarify namespace restrictions (Framework and Primer)
Summary: Clarify namespace restrictions (Framework and Primer)
Status: RESOLVED FIXED
Alias: None
Product: WS-Policy
Classification: Unclassified
Component: Framework (show other bugs)
Version: LC
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: Monica Martin
QA Contact: Web Services Policy WG QA List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-12 00:41 UTC by Monica Martin
Modified: 2007-01-18 19:13 UTC (History)
1 user (show)

See Also:


Attachments

Description Monica Martin 2007-01-12 00:41:03 UTC
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)
Comment 1 Monica Martin 2007-01-12 23:08:55 UTC
UPDATES

1. DESCRIPTION
Schema snippet used for reference only:

[start]...
- <xs:element name="Policy">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="tns:OperatorContentType">
  <xs:attribute name="Name" type="xs:anyURI" /> 
  <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>
...[end]

Link reference: http://www.w3.org/2006/11/ws-policy.xsd

2. UPDATE to proposed change for Framework, Section 2.2:
Extensions that are Child Element Information Items added to Policy operators
wsp:Policy, wsp:All and wsp:ExactlyOne MUST NOT use the policy language XML
namespace name.
Comment 2 Monica Martin 2007-01-12 23:16:26 UTC
Link to update is at: http://lists.w3.org/Archives/Public/public-ws-policy/2007Jan/0096.html
Comment 3 Christopher Ferris 2007-01-18 19:13:26 UTC
RESOLUTION: 4238 and 4196 closed with http://lists.w3.org/Archives/Public/public-ws-policy/2007Jan/0186.html
<cferris> rrsagent, where am i?
See http://www.w3.org/2007/01/18-ws-policy-irc#T19-12-51