- From: Asir Vedamuthu via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 27 Oct 2006 22:18:20 +0000
- To: public-ws-policy-eds@w3.org
Update of /sources/public/2006/ws/policy
In directory hutz:/tmp/cvs-serv27043
Modified Files:
ws-policy-framework.xml ws-policy-framework.html
ws-policy-attachment.html
Log Message:
Implemented the resolution for issue 3705.
Index: ws-policy-framework.xml
===================================================================
RCS file: /sources/public/2006/ws/policy/ws-policy-framework.xml,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- ws-policy-framework.xml 27 Oct 2006 06:59:31 -0000 1.73
+++ ws-policy-framework.xml 27 Oct 2006 22:18:16 -0000 1.74
@@ -340,8 +340,11 @@
<p><termdef id='policy_assertion' term='policy assertion'>A <term>policy assertion</term>
represents an individual requirement, capability, or other property of a behavior.</termdef> A <termref def='policy_assertion'>policy
assertion</termref> identifies a behavior that is a
- requirement or capability of a <termref def='policy_subject'>policy
- subject</termref>. Assertions indicate domain-specific (e.g.,
+ requirement or capability of a <termref def='policy_subject'>policy subject</termref>.
+ <termdef id="policy_subject" term="policy subject">A <term>policy subject</term> is an entity
+ (e.g., an endpoint, message, resource, operation) with which a
+ <termref def="policy">policy</termref> can be associated. </termdef>
+ Assertions indicate domain-specific (e.g.,
security, transactions) semantics and are expected to be
defined in separate, domain-specific specifications.</p>
@@ -450,12 +453,18 @@
<div2 id="Web_services">
<head>Policies of Entities in a Web Services Based System</head>
- <p>Applied in the Web services based system, <termref
+ <p>Applied to a Web services based system, <termref
def='policy'>policy</termref> is used to convey conditions
on an interaction between entities (requester application,
- provider service, Web infrastructure component, etc). <termdef id="policy_subject" term="policy subject">A <term>policy subject</term> is an entity
- (e.g., an endpoint, message, resource, interaction) with which a
- <termref def="policy">policy</termref> can be associated. </termdef> Any entity in a
+ provider service, Web infrastructure component, etc).
+ An interaction involves one or more message exchanges between two
+ entities. It is the responsiblity of assertion authors to define
+ the interaction scope of an assertion including any constraints on the
+ <termref def='policy_subject'>policy subjects</termref> to which the assertion may be attached and a clear
+ specification of the message(s) within that interaction scope to which the
+ assertion applies. </p>
+
+ <p>Any entity in a
Web services based system may expose a policy to convey conditions under
which it functions. Satisfying assertions in the policy usually results
in behavior that reflects these conditions. For example, if two entities
@@ -2060,6 +2069,14 @@
<loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/57">57</loc> PaulC's comments.
</td>
</tr>
+ <tr>
+ <td>20061027</td>
+ <td>ASV</td>
+ <td>Implemented the
+ <loc href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Oct/0093.html">resolution</loc>
+ for issue <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3705">3705</loc>.
+ </td>
+ </tr>
</tbody>
</table>
</inform-div1>
Index: ws-policy-framework.html
===================================================================
RCS file: /sources/public/2006/ws/policy/ws-policy-framework.html,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -d -r1.57 -r1.58
--- ws-policy-framework.html 20 Oct 2006 21:30:23 -0000 1.57
+++ ws-policy-framework.html 27 Oct 2006 22:18:16 -0000 1.58
@@ -52,7 +52,9 @@
<h1>Web Services Policy 1.5 - Framework</h1>
<h2>Editors' copy $Date$ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
<a href="ws-policy-framework.html">ws-policy-framework.html</a>
- </dd><dt>Latest version:</dt><dd><a href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;charset=utf-8">http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;charset=utf-8</a></dd><dt>Editors:</dt><dd>Asir S Vedamuthu, Microsoft Corporation</dd><dd>David Orchard, BEA Systems, Inc.</dd><dd>Maryann Hondo, IBM Corporation</dd><dd>Toufic Boubez, Layer 7 Technologies</dd><dd>Prasad Yendluri, webMethods, Inc.</dd></dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © @@@@ <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/>Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr><div>
+ </dd><dt>Latest version:</dt><dd><a href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;charset=utf-8">http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;charset=utf-8</a></dd><dt>Previous versions:</dt><dd>
+ <a href="http://www.w3.org/TR/2006/WD-ws-policy-20060927">http://www.w3.org/TR/2006/WD-ws-policy-20060927</a>
+ </dd><dt>Editors:</dt><dd>Asir S Vedamuthu, Microsoft Corporation</dd><dd>David Orchard, BEA Systems, Inc.</dd><dd>Maryann Hondo, IBM Corporation</dd><dd>Toufic Boubez, Layer 7 Technologies</dd><dd>Prasad Yendluri, webMethods, Inc.</dd></dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © @@@@ <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-docments">document use</a> rules apply.</p></div><hr><div>
<h2><a name="abstract">Abstract</a></h2><p>The Web Services Policy 1.5 - Framework provides a general purpose model and corresponding
syntax to describe the policies of entities in a Web services-based system.</p><p>Web Services Policy Framework defines a base set of
constructs that can be used and extended by other Web
@@ -177,11 +179,16 @@
<a href="#nested_policy_expression">nested policy expression</a>
</dt><dd><p>A <b>nested policy expression</b> is a <a title="policy expression" href="#policy_expression">policy expression</a> that is an Element Information Item in the <strong>[children]</strong> property of a <a title="policy assertion" href="#policy_assertion">policy assertion</a>.</p></dd><dt class="label">
<a href="#policy">policy</a>
- </dt><dd><p>A <b>policy</b> is a collection of
- <a title="policy alternative" href="#policy_alternative">policy alternatives</a>, </p></dd><dt class="label">
+ </dt><dd><p>A <b>policy</b> is a potentially empty collection of
+ <a title="policy alternative" href="#policy_alternative">policy alternatives</a>. </p></dd><dt class="label">
<a href="#policy_alternative">policy alternative</a>
- </dt><dd><p>a <b>policy alternative</b>
- is a collection of <a title="policy assertion" href="#policy_assertion">policy assertions</a>.</p></dd><dt class="label">
+ </dt><dd><p>A <b>policy alternative</b>
+ is a potentially empty collection of <a title="policy assertion" href="#policy_assertion">policy assertions</a>.</p></dd><dt class="label">
+ <a href="#policy_alternative_vocabulary">policy alternative vocabulary</a>
+ </dt><dd><p>A <b>policy alternative vocabulary</b> is the set of
+ all <a title="policy assertion type" href="#policy_assertion_type">policy assertion
+ types</a> within the <a title="policy alternative" href="#policy_alternative">policy
+ alternative</a>.</p></dd><dt class="label">
<a href="#policy_assertion">policy assertion</a>
</dt><dd><p>A <b>policy assertion</b>
represents an individual requirement, capability, or other property of a behavior.</p></dd><dt class="label">
@@ -205,7 +212,7 @@
<a title="policy subject" href="#policy_subject">policy subjects</a> to which a policy may apply.</p></dd><dt class="label">
<a href="#policy_subject">policy subject</a>
</dt><dd><p>A <b>policy subject</b> is an entity
- (e.g., an endpoint, message, resource, interaction) with which a
+ (e.g., an endpoint, message, resource, operation) with which a
<a title="policy" href="#policy">policy</a> can be associated. </p></dd><dt class="label">
<a href="#policy_vocabulary">policy vocabulary</a>
</dt><dd><p>A <b>policy vocabulary</b> is the set of all
@@ -214,8 +221,11 @@
<h3><a name="rPolicy_Assertion"></a>3.1 Policy Assertion</h3><p>[<a name="policy_assertion" title="policy assertion">Definition</a>: A <b>policy assertion</b>
represents an individual requirement, capability, or other property of a behavior.] A <a title="policy assertion" href="#policy_assertion">policy
assertion</a> identifies a behavior that is a
- requirement or capability of a <a title="policy subject" href="#policy_subject">policy
- subject</a>. Assertions indicate domain-specific (e.g.,
+ requirement or capability of a <a title="policy subject" href="#policy_subject">policy subject</a>.
+ [<a name="policy_subject" title="policy subject">Definition</a>: A <b>policy subject</b> is an entity
+ (e.g., an endpoint, message, resource, operation) with which a
+ <a title="policy" href="#policy">policy</a> can be associated. ]
+ Assertions indicate domain-specific (e.g.,
security, transactions) semantics and are expected to be
defined in separate, domain-specific specifications.</p><p>Assertions are typed by the authors
that define them. [<a name="policy_assertion_type" title="policy assertion type">Definition</a>: A <b>policy assertion type</b>
@@ -286,11 +296,15 @@
generally a function of the semantics of assertions within
the alternative and is therefore beyond the scope of this
specification.</p></div><div class="div2">
-<h3><a name="Web_services"></a>3.4 Policies of Entities in a Web Services Based System</h3><p>Applied in the Web services based system, <a title="policy" href="#policy">policy</a> is used to convey conditions
+<h3><a name="Web_services"></a>3.4 Policies of Entities in a Web Services Based System</h3><p>Applied to a Web services based system, <a title="policy" href="#policy">policy</a> is used to convey conditions
on an interaction between entities (requester application,
- provider service, Web infrastructure component, etc). [<a name="policy_subject" title="policy subject">Definition</a>: A <b>policy subject</b> is an entity
- (e.g., an endpoint, message, resource, interaction) with which a
- <a title="policy" href="#policy">policy</a> can be associated. ] Any entity in a
+ provider service, Web infrastructure component, etc).
+ An interaction involves one or more message exchanges between two
+ entities. It is the responsiblity of assertion authors to define
+ the interaction scope of an assertion including any constraints on the
+ <a title="policy subject" href="#policy_subject">policy subjects</a> to which the assertion may be attached and a clear
+ specification of the message(s) within that interaction scope to which the
+ assertion applies. </p><p>Any entity in a
Web services based system may expose a policy to convey conditions under
which it functions. Satisfying assertions in the policy usually results
in behavior that reflects these conditions. For example, if two entities
@@ -342,11 +356,11 @@
is a straightforward XML Infoset representation of a
policy, enumerating each of its alternatives that in turn
enumerate each of their assertions. The schema outline for
- the normal form of a policy expression is as follows:</p><div class="exampleInner"><pre>(01) <wsp:Policy … >
-(02) <wsp:ExactlyOne>
-(03) ( <wsp:All> ( <<emph>Assertion</emph> …> … </<emph>Assertion</emph>> )* </wsp:All> )*
-(04) </wsp:ExactlyOne>
-(05) </wsp:Policy> </pre></div><p>The following describes the Element Information Items defined in the schema outline above:</p><dl><dt class="label"><code class="elt">/wsp:Policy</code> </dt><dd><p>A policy expression.</p></dd><dt class="label"><code class="elt">/wsp:Policy/wsp:ExactlyOne</code> </dt><dd><p>
+ the normal form of a policy expression is as follows:</p><div class="exampleInner"><pre><wsp:Policy … >
+ <wsp:ExactlyOne>
+ ( <wsp:All> ( <<em>Assertion</em> …> … </<em>Assertion</em>> )* </wsp:All> )*
+ </wsp:ExactlyOne>
+</wsp:Policy> </pre></div><p>The following describes the Element Information Items defined in the schema outline above:</p><dl><dt class="label"><code class="elt">/wsp:Policy</code> </dt><dd><p>A policy expression.</p></dd><dt class="label"><code class="elt">/wsp:Policy/wsp:ExactlyOne</code> </dt><dd><p>
A collection of policy alternatives. If there are no Element
Information Items in the <strong>[children]</strong> property, there are no
admissible policy alternatives, i.e., no behavior is
@@ -381,11 +395,11 @@
conversely, if the second alternative is selected, the message body needs to be encrypted. </p></div><div class="div2">
<h3><a name="Policy_Identification"></a>4.2 Policy Identification</h3><p>A <a title="policy expression" href="#policy_expression">policy expression</a>
<span class="rfc2119">MAY</span> be associated with an IRI [<cite><a href="#RFC3987">IETF RFC 3987</a></cite>]. The schema outline
-for attributes to associate an IRI is as follows:</p><div class="exampleInner"><pre>(01) <wsp:Policy ( Name="<emph>xs:anyURI</emph>" )?
-(02) ( wsu:Id="<emph>xs:ID</emph>" | xml:id="<emph>xs:ID</emph>" )?
-(03) … >
-(04) …
-(05) </wsp:Policy></pre></div><p>The following describes the Attribute Information Items listed and defined in the schema outline above:</p><dl><dt class="label"><code class="attr">/wsp:Policy/@Name</code> </dt><dd><p>The identity of the policy expression as an absolute IRI [<cite><a href="#RFC3987">IETF RFC 3987</a></cite>]. If
+for attributes to associate an IRI is as follows:</p><div class="exampleInner"><pre><wsp:Policy ( Name="<em>xs:anyURI</em>" )?
+ ( wsu:Id="<em>xs:ID</em>" | xml:id="<em>xs:ID</em>" )?
+ … >
+ …
+</wsp:Policy></pre></div><p>The following describes the Attribute Information Items listed and defined in the schema outline above:</p><dl><dt class="label"><code class="attr">/wsp:Policy/@Name</code> </dt><dd><p>The identity of the policy expression as an absolute IRI [<cite><a href="#RFC3987">IETF RFC 3987</a></cite>]. If
omitted, there is no implied value. This IRI <span class="rfc2119">MAY</span> be
used to refer to a policy from other XML documents using a <a title="policy attachment" href="#policy_attachment">policy attachment</a> mechanism such as
those defined in WS-PolicyAttachment [<cite><a href="#WS-PolicyAttachment">Web Services Policy Attachment</a></cite>]. [<a name="policy_attachment" title="policy attachment">Definition</a>: A
@@ -448,13 +462,13 @@
assertion</a> is optional, this specification defines an attribute
that is a compact authoring style for expressing a pair of policy alternatives,
one with and one without that assertion. The schema outline for
-this attribute is as follows:</p><div class="exampleInner"><pre>(01) <<emph>Assertion</emph> ( wsp:Optional="<emph>xs:boolean</emph>" )? …> … </<emph>Assertion</emph>></pre></div><p>The following describes the Attribute Information Item defined in
-the schema outline above:</p><dl><dt class="label"><code class="attr">/Assertion/@wsp:Optional</code> </dt><dd><p>If the actual value (See XML Schema Part 1 [<cite><a href="#XMLSchemaPart1">XML Schema Structures</a></cite>]) is true, the expression of the assertion is semantically equivalent to the following:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <wsp:All> <<emph>Assertion</emph> …> … </<emph>Assertion</emph>> </wsp:All>
-(03) <wsp:All />
-(04) </wsp:ExactlyOne></pre></div><p>If the actual value (See XML Schema Part 1 [<cite><a href="#XMLSchemaPart1">XML Schema Structures</a></cite>]) is false, the expression of the assertion is semantically equivalent to the following:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <wsp:All> <<emph>Assertion</emph> …> … </<emph>Assertion</emph>> </wsp:All>
-(03) </wsp:ExactlyOne></pre></div><p>Omitting this attribute is semantically equivalent to including it
+this attribute is as follows:</p><div class="exampleInner"><pre><<em>Assertion</em> ( wsp:Optional="<em>xs:boolean</em>" )? …> … </<em>Assertion</em>></pre></div><p>The following describes the Attribute Information Item defined in
+the schema outline above:</p><dl><dt class="label"><code class="attr">/Assertion/@wsp:Optional</code> </dt><dd><p>If the actual value (See XML Schema Part 1 [<cite><a href="#XMLSchemaPart1">XML Schema Structures</a></cite>]) is true, the expression of the assertion is semantically equivalent to the following:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <wsp:All> <<em>Assertion</em> …> … </<em>Assertion</em>> </wsp:All>
+ <wsp:All />
+</wsp:ExactlyOne></pre></div><p>If the actual value (See XML Schema Part 1 [<cite><a href="#XMLSchemaPart1">XML Schema Structures</a></cite>]) is false, the expression of the assertion is semantically equivalent to the following:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <wsp:All> <<em>Assertion</em> …> … </<em>Assertion</em>> </wsp:All>
+</wsp:ExactlyOne></pre></div><p>Omitting this attribute is semantically equivalent to including it
with a value of false. Policy expressions should not include this
attribute with a value of false, but policy parsers must accept this
attribute with a value of false.</p></dd></dl><p>For example, the following compact policy expression:</p><div class="exampleInner"><pre>(01) <wsp:Policy
@@ -478,11 +492,11 @@
policy expression.</p></div><div class="div3">
<h4><a name="Policy_Assertion_Nesting"></a>4.3.2 Policy Assertion Nesting</h4><p>Any <a title="policy assertion" href="#policy_assertion">policy assertion</a>
<span class="rfc2119">MAY</span> contain a <a title="policy expression" href="#policy_expression">policy expression</a>. [<a name="nested_policy_expression" title="nested policy expression">Definition</a>: A <b>nested policy expression</b> is a <a title="policy expression" href="#policy_expression">policy expression</a> that is an Element Information Item in the <strong>[children]</strong> property of a <a title="policy assertion" href="#policy_assertion">policy assertion</a>.] The schema
-outline for a <a title="nested policy expression" href="#nested_policy_expression">nested policy expression</a> is:</p><div class="exampleInner"><pre>(01) <<emph>Assertion</emph> …>
-(02) …
-(03) ( <wsp:Policy …> … </wsp:Policy> )?
-(04) …
-(05) </<emph>Assertion</emph>></pre></div><p>The following describes additional processing constraints on the outline listed above:</p><dl><dt class="label"><code class="elt">/Assertion/wsp:Policy</code> </dt><dd><p>This indicates that the assertion contains a nested policy
+outline for a <a title="nested policy expression" href="#nested_policy_expression">nested policy expression</a> is:</p><div class="exampleInner"><pre><<em>Assertion</em> …>
+ …
+ ( <wsp:Policy …> … </wsp:Policy> )?
+ …
+</<em>Assertion</em>></pre></div><p>The following describes additional processing constraints on the outline listed above:</p><dl><dt class="label"><code class="elt">/Assertion/wsp:Policy</code> </dt><dd><p>This indicates that the assertion contains a nested policy
expression. If there is no <code class="elt">wsp:Policy</code> Element Information
Item in the <strong>[children]</strong> property,
the assertion has no nested policy expression.
@@ -603,59 +617,59 @@
equivalent to <code class="elt">wsp:All</code> .</p></dd><dt class="label">Empty</dt><dd><ul><li><p><code><wsp:All /></code> expresses a policy with zero policy assertions. Note that since <code class="elt">wsp:Policy</code> is equivalent to <code class="elt">wsp:All</code> , <code><wsp:Policy /></code> is therefore equivalent to <code><wsp:All /></code>, i.e., a policy alternative with zero assertions.</p></li><li><p><code><wsp:ExactlyOne /></code> expresses a policy with zero policy alternatives.</p></li></ul></dd><dt class="label">Commutative</dt><dd><p>In line with the previous statements that policy assertions within
a policy alternative and policy alternatives within a policy are not
ordered (see <a href="#rPolicy_Alternative"><b>3.2 Policy Alternative</b></a> and <a href="#rPolicy"><b>3.3 Policy</b></a>, respectively), <code class="elt">wsp:All</code> and
-<code class="elt">wsp:ExactlyOne</code> are commutative. For example,</p><div class="exampleInner"><pre>(01) <wsp:All> <emph><!-- assertion 1 --> <!-- assertion 2 --> </emph></wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:All> <emph><!-- assertion 2 --> <!-- assertion 1 --> </emph></wsp:All></pre></div><p>and:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <emph><!-- assertion 1 --> <!-- assertion 2 --></emph>
-(03) </wsp:ExactlyOne></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <emph><!-- assertion 2 --> <!-- assertion 1 --></emph>
-(03) </wsp:ExactlyOne></pre></div></dd><dt class="label">Associative</dt><dd><p><code class="elt">wsp:All</code> and <code class="elt">wsp:ExactlyOne</code> are associative. For example,</p><div class="exampleInner"><pre>(01) <wsp:All>
-(02) <emph><!-- assertion 1 --></emph>
-(03) <emph> </emph><wsp:All> <emph><!-- assertion 2 --> </emph></wsp:All>
-(04) </wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:All> <emph><!-- assertion 1 --> <!-- assertion 2 --> </emph></wsp:All></pre></div><p>and:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <emph><!-- assertion 1 --></emph>
-(03) <emph> </emph><wsp:ExactlyOne> <emph><!-- assertion 2 --> </emph></wsp:ExactlyOne>
-(04) </wsp:ExactlyOne></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <emph><!-- assertion 1 --> <!-- assertion 2 --></emph>
-(03) </wsp:ExactlyOne></pre></div></dd><dt class="label">Idempotent</dt><dd><p><code class="elt">wsp:All</code> and <code class="elt">wsp:ExactlyOne</code> are idempotent. For example,</p><div class="exampleInner"><pre>(01) <wsp:All>
-(02) <wsp:All> <emph><!-- assertion 1 --> <!-- assertion 2 --> </emph></wsp:All>
-(03) </wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:All> <emph><!-- assertion 1 --> <!-- assertion 2 --> </emph></wsp:All></pre></div><p>and:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <wsp:ExactlyOne>
-(03) <emph><!-- assertion 1 --> <!-- assertion 2 --></emph>
-(04) <emph> </emph></wsp:ExactlyOne>
-(05) </wsp:ExactlyOne></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <emph><!-- assertion 1 --> <!-- assertion 2 --></emph>
-(03) </wsp:ExactlyOne></pre></div></dd><dt class="label">Distributive</dt><dd><p><code class="elt">wsp:All</code> distributes over <code class="elt">wsp:ExactlyOne</code> . For example,</p><div class="exampleInner"><pre>(01) <wsp:All>
-(02) <wsp:ExactlyOne>
-(03) <emph> <!-- assertion 1 --></emph>
-(04) <emph> <!-- assertion 2 --></emph>
-(05) </wsp:ExactlyOne>
-(06) </wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <wsp:All>
-(03) <emph> <!-- assertion 1 --></emph>
-(04) </wsp:All>
-(05) <wsp:All>
-(06) <emph> <!-- assertion 2 --></emph>
-(07) </wsp:All>
-(08) </wsp:ExactlyOne></pre></div><p>Similarly by repeatedly distributing wsp:All over wsp:ExactlyOne,</p><div class="exampleInner"><pre>(01) <wsp:All>
-(02) <wsp:ExactlyOne>
-(03) <emph> <!-- assertion 1 --></emph>
-(04) <emph> <!-- assertion 2 --></emph>
-(05) </wsp:ExactlyOne>
-(06) <wsp:ExactlyOne>
-(07) <emph> <!-- assertion 3 --></emph>
-(08) <emph> <!-- assertion 4 --></emph>
-(09) </wsp:ExactlyOne>
-(10) </wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne>
-(02) <wsp:All><emph><!-- assertion 1 --><!-- assertion 3 --></emph></wsp:All>
-(03) <wsp:All><emph><!-- assertion 1 --><!-- assertion 4 --></emph></wsp:All>
-(04) <wsp:All><emph><!-- assertion 2 --><!-- assertion 3 --></emph></wsp:All>
-(05) <wsp:All><emph><!-- assertion 2 --><!-- assertion 4 --></emph></wsp:All>
-(06) </wsp:ExactlyOne></pre></div><p>Distributing <code class="elt">wsp:All</code> over an empty <code class="elt">wsp:ExactlyOne</code> is equivalent to no alternatives. For example,</p><div class="exampleInner"><pre>(01) <wsp:All>
-(02) <wsp:ExactlyOne>
-(03) <emph> <!-- assertion 1 --></emph>
-(04) <emph> <!-- assertion 2 --></emph>
-(05) </wsp:ExactlyOne>
-(06) <wsp:ExactlyOne />
-(07) </wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre>(01) <wsp:ExactlyOne /></pre></div><p>For example, given the following compact policy expression:</p><div class="exampleInner"><pre>(01) <wsp:Policy
+<code class="elt">wsp:ExactlyOne</code> are commutative. For example,</p><div class="exampleInner"><pre><wsp:All> <em><!-- assertion 1 --> <!-- assertion 2 --> </em></wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:All> <em><!-- assertion 2 --> <!-- assertion 1 --> </em></wsp:All></pre></div><p>and:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <em><!-- assertion 1 --> <!-- assertion 2 --></em>
+</wsp:ExactlyOne></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <em><!-- assertion 2 --> <!-- assertion 1 --></em>
+</wsp:ExactlyOne></pre></div></dd><dt class="label">Associative</dt><dd><p><code class="elt">wsp:All</code> and <code class="elt">wsp:ExactlyOne</code> are associative. For example,</p><div class="exampleInner"><pre><wsp:All>
+ <em><!-- assertion 1 --></em>
+<em> </em><wsp:All> <em><!-- assertion 2 --> </em></wsp:All>
+</wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:All> <em><!-- assertion 1 --> <!-- assertion 2 --> </em></wsp:All></pre></div><p>and:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <em><!-- assertion 1 --></em>
+<em> </em><wsp:ExactlyOne> <em><!-- assertion 2 --> </em></wsp:ExactlyOne>
+</wsp:ExactlyOne></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <em><!-- assertion 1 --> <!-- assertion 2 --></em>
+</wsp:ExactlyOne></pre></div></dd><dt class="label">Idempotent</dt><dd><p><code class="elt">wsp:All</code> and <code class="elt">wsp:ExactlyOne</code> are idempotent. For example,</p><div class="exampleInner"><pre><wsp:All>
+ <wsp:All> <em><!-- assertion 1 --> <!-- assertion 2 --> </em></wsp:All>
+</wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:All> <em><!-- assertion 1 --> <!-- assertion 2 --> </em></wsp:All></pre></div><p>and:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <wsp:ExactlyOne>
+ <em><!-- assertion 1 --> <!-- assertion 2 --></em>
+<em> </em></wsp:ExactlyOne>
+</wsp:ExactlyOne></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <em><!-- assertion 1 --> <!-- assertion 2 --></em>
+</wsp:ExactlyOne></pre></div></dd><dt class="label">Distributive</dt><dd><p><code class="elt">wsp:All</code> distributes over <code class="elt">wsp:ExactlyOne</code> . For example,</p><div class="exampleInner"><pre><wsp:All>
+ <wsp:ExactlyOne>
+<em> <!-- assertion 1 --></em>
+<em> <!-- assertion 2 --></em>
+ </wsp:ExactlyOne>
+</wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <wsp:All>
+<em> <!-- assertion 1 --></em>
+ </wsp:All>
+ <wsp:All>
+<em> <!-- assertion 2 --></em>
+ </wsp:All>
+</wsp:ExactlyOne></pre></div><p>Similarly by repeatedly distributing wsp:All over wsp:ExactlyOne,</p><div class="exampleInner"><pre><wsp:All>
+ <wsp:ExactlyOne>
+<em> <!-- assertion 1 --></em>
+<em> <!-- assertion 2 --></em>
+ </wsp:ExactlyOne>
+ <wsp:ExactlyOne>
+<em> <!-- assertion 3 --></em>
+<em> <!-- assertion 4 --></em>
+ </wsp:ExactlyOne>
+</wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:ExactlyOne>
+ <wsp:All><em><!-- assertion 1 --><!-- assertion 3 --></em></wsp:All>
+ <wsp:All><em><!-- assertion 1 --><!-- assertion 4 --></em></wsp:All>
+ <wsp:All><em><!-- assertion 2 --><!-- assertion 3 --></em></wsp:All>
+ <wsp:All><em><!-- assertion 2 --><!-- assertion 4 --></em></wsp:All>
+</wsp:ExactlyOne></pre></div><p>Distributing <code class="elt">wsp:All</code> over an empty <code class="elt">wsp:ExactlyOne</code> is equivalent to no alternatives. For example,</p><div class="exampleInner"><pre><wsp:All>
+ <wsp:ExactlyOne>
+<em> <!-- assertion 1 --></em>
+<em> <!-- assertion 2 --></em>
+ </wsp:ExactlyOne>
+ <wsp:ExactlyOne />
+</wsp:All></pre></div><p>is equivalent to:</p><div class="exampleInner"><pre><wsp:ExactlyOne /></pre></div><p>For example, given the following compact policy expression:</p><div class="exampleInner"><pre>(01) <wsp:Policy
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" >
(02) <sp:RequireDerivedKeys wsp:Optional="true" />
@@ -703,12 +717,12 @@
(16) </wsp:All>
(17) </wsp:ExactlyOne>
(18) </wsp:Policy></pre></div><p>Note that the two alternatives listed in Lines (03-06) in the second listing are combined with the two alternatives listed in Lines (09-14) in the second listing to create four alternatives in the normalized policy, Lines (03-06), (07-10), (11-13), and (14-16).</p></div><div class="div3">
-<h4><a name="Policy_References"></a>4.3.4 Policy References</h4><p>The <code class="elt">wsp:PolicyReference</code> element is used to reference <a title="policy expression" href="#policy_expression">policy expressions</a>. The semantics of the <code class="elt">wsp:PolicyReference</code> element are determined by the context in which it is used (for an example, see <a href="#Policy_Inclusion"><b>4.3.5 Policy Inclusion</b></a>).</p><p>The schema outline for the <code class="elt">wsp:PolicyReference</code> element is as follows:</p><div class="exampleInner"><pre>(01) <wsp:PolicyReference
-(02) URI="<emph>xs:anyURI</emph>"
-(03) ( Digest="<emph>xs:base64Binary</emph>" ( DigestAlgorithm="<emph>xs:anyURI</emph>" )? )?
-(04) … >
-(05) …
-(06) </wsp:PolicyReference></pre></div><p>The following describes the Attribute and Element Information Items defined in the schema outline above:</p><dl><dt class="label"><code class="elt">/wsp:PolicyReference</code> </dt><dd><p>This element references a policy expression that is being referenced.</p></dd><dt class="label"><code class="attr">/wsp:PolicyReference/@URI</code> </dt><dd><p>This attribute references a policy expression by an IRI. For a policy
+<h4><a name="Policy_References"></a>4.3.4 Policy References</h4><p>The <code class="elt">wsp:PolicyReference</code> element is used to reference <a title="policy expression" href="#policy_expression">policy expressions</a>. The semantics of the <code class="elt">wsp:PolicyReference</code> element are determined by the context in which it is used (for an example, see <a href="#Policy_Inclusion"><b>4.3.5 Policy Inclusion</b></a>).</p><p>The schema outline for the <code class="elt">wsp:PolicyReference</code> element is as follows:</p><div class="exampleInner"><pre><wsp:PolicyReference
+ URI="<em>xs:anyURI</em>"
+ ( Digest="<em>xs:base64Binary</em>" ( DigestAlgorithm="<em>xs:anyURI</em>" )? )?
+ … >
+ …
+</wsp:PolicyReference></pre></div><p>The following describes the Attribute and Element Information Items defined in the schema outline above:</p><dl><dt class="label"><code class="elt">/wsp:PolicyReference</code> </dt><dd><p>This element references a policy expression that is being referenced.</p></dd><dt class="label"><code class="attr">/wsp:PolicyReference/@URI</code> </dt><dd><p>This attribute references a policy expression by an IRI. For a policy
expression within the same XML Document, the reference <span class="rfc2119">SHOULD</span> be an
IRI-reference to a policy expression identified by an <code>ID</code>.
For an external policy expression, there is no requirement that the IRI
@@ -873,31 +887,31 @@
is similar to the well-known DTD entity expansion attack). Policy implementers need to
anticipate these rogue providers and use a configurable bound with defaults on number of
policy alternatives, number of assertions in an alternative, depth of nested policy
- expressions, etc.</p><div class="exampleOuter"><p style="text-align: left" class="exampleHead"><a name="ex-chained-policy-reference-elements"></a><i><span>Example 5-1. </span>Chained Policy Reference Elements</i></p><div class="exampleInner"><pre>(01) <Policy wsu:Id="p1">
-(02) <PolicyReference URI="#p2"/ >
-(03) <PolicyReference URI="#p2"/>
-(04) </Policy>
-(05)
-(06) <Policy wsu:Id="p2" >
-(07) <PolicyReference URI="#p3"/>
-(08) <PolicyReference URI="#p3"/>
-(09) </Policy>
-(10)
-(11) <Policy wsu:Id="p3" >
-(12) <PolicyReference URI="#p4"/>
-(13) <PolicyReference URI="#p4"/>
-(14) </Policy>
-(15)
-(16) <!-- Policy/@wsu:Id p4 through p99 -->
-(17)
-(18) <Policy wsu:Id="p100" >
-(19) <PolicyReference URI="#p101"/>
-(20) <PolicyReference URI="#p101"/>
-(21) </Policy>
-(22)
-(23) <Policy wsu:Id="p101" >
-(24) <mtom:OptimizedMimeSerialization />
-(25) </Policy></pre></div></div><p>Malicious providers may provide a policy expression that includes multiple
+ expressions, etc.</p><div class="exampleOuter"><p style="text-align: left" class="exampleHead"><a name="ex-chained-policy-reference-elements"></a><i><span>Example 5-1. </span>Chained Policy Reference Elements</i></p><div class="exampleInner"><pre><Policy wsu:Id="p1">
+ <PolicyReference URI="#p2"/ >
+ <PolicyReference URI="#p2"/>
+ </Policy>
+
+ <Policy wsu:Id="p2" >
+ <PolicyReference URI="#p3"/>
+ <PolicyReference URI="#p3"/>
+ </Policy>
+
+ <Policy wsu:Id="p3" >
+ <PolicyReference URI="#p4"/>
+ <PolicyReference URI="#p4"/>
+ </Policy>
+
+ <!-- Policy/@wsu:Id p4 through p99 -->
+
+ <Policy wsu:Id="p100" >
+ <PolicyReference URI="#p101"/>
+ <PolicyReference URI="#p101"/>
+ </Policy>
+
+ <Policy wsu:Id="p101" >
+ <mtom:OptimizedMimeSerialization />
+ </Policy></pre></div></div><p>Malicious providers may provide a policy expression that includes multiple
PolicyReference elements that use a large number of different internet addresses. These
may require the consumers to establish a large number of TCP connections. Policy
implementers need to anticipate such rogue providers and use a configurable bound with
@@ -905,7 +919,7 @@
<h3><a name="general-xml-considerations"></a>5.6 General XML Considerations</h3><p>Implementers of Web Services policy language should be careful to protect their software
against general XML threats like deeply nested XML or XML that contains malicious
content.</p></div></div><div class="div1">
-<h2><a name="Conformance"></a>6. Conformance</h2><p>An element information item whose namespace name is "http://www.w3.org/@@@@/@@/policy" and whose local part is Policy or PolicyReference conforms to this specification if it is valid according to the XML Schema [<cite><a href="#XMLSchemaPart1">XML Schema Structures</a></cite>] for that element as defined by this specification (<a href="http://www.w3.org/@@@@/@@/policy/ws-policy.xsd">http://www.w3.org/@@@@/@@/policy/ws-policy.xsd</a>) and additionally adheres to all the constraints contained in this specification. Such a conformant element information item constitutes a <a title="policy expression" href="#policy_expression">policy expression</a>.
+<h2><a name="Conformance"></a>6. Conformance</h2><p>An element information item whose namespace name is "http://www.w3.org/@@@@/@@/ws-policy" and whose local part is Policy or PolicyReference conforms to this specification if it is valid according to the XML Schema [<cite><a href="#XMLSchemaPart1">XML Schema Structures</a></cite>] for that element as defined by this specification (<a href="http://www.w3.org/@@@@/@@/ws-policy.xsd">http://www.w3.org/@@@@/@@/ws-policy.xsd</a>) and additionally adheres to all the constraints contained in this specification. Such a conformant element information item constitutes a <a title="policy expression" href="#policy_expression">policy expression</a>.
</p></div></div><div class="back"><div class="div1">
<h2><a name="References"></a>A. References</h2><div class="div2">
<h3><a name="Normative-References"></a>A.1 Normative References</h3><dl><dt class="label"><a name="RFC2119"></a>[IETF RFC 2119] </dt><dd>
@@ -1237,4 +1251,7 @@
<a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3720">3720</a>
</td></tr><tr><td rowspan="1" colspan="1">20061019</td><td rowspan="1" colspan="1">PY</td><td rowspan="1" colspan="1">Completed action item:
<a href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/57">57</a> PaulC's comments.
+ </td></tr><tr><td rowspan="1" colspan="1">20061027</td><td rowspan="1" colspan="1">ASV</td><td rowspan="1" colspan="1">Implemented the
+ <a href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Oct/0093.html">resolution</a>
+ for issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3705">3705</a>.
</td></tr></tbody></table><br></div></div></body></html>
\ No newline at end of file
Index: ws-policy-attachment.html
===================================================================
RCS file: /sources/public/2006/ws/policy/ws-policy-attachment.html,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- ws-policy-attachment.html 21 Oct 2006 00:06:09 -0000 1.56
+++ ws-policy-attachment.html 27 Oct 2006 22:18:16 -0000 1.57
@@ -52,7 +52,9 @@
<h1>Web Services Policy 1.5 - Attachment</h1>
<h2>Editors' copy $Date$ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
<a href="ws-policy-attachment.html">ws-policy-attachment.html</a>
-</dd><dt>Latest version:</dt><dd><a href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-attachment.html?content-type=text/html;charset=utf-8">http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-attachment.html?content-type=text/html;charset=utf-8</a></dd><dt>Editors:</dt><dd>Asir S Vedamuthu, Microsoft Corporation</dd><dd>David Orchard, BEA Systems, Inc.</dd><dd>Maryann Hondo, IBM Corporation</dd><dd>Toufic Boubez, Layer 7 Technologies</dd><dd>Prasad Yendluri, webMethods, Inc.</dd></dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © @@@@ <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio/a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr><div>
+</dd><dt>Latest version:</dt><dd><a href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-attachment.html?content-type=text/html;charset=utf-8">http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-attachment.html?content-type=text/html;charset=utf-8</a></dd><dt>Previous versions:</dt><dd>
+ <a href="http://www.w3.org/TR/2006/WD-ws-policy-attach-20060927">http://www.w3.org/TR/2006/WD-ws-policy-attach-20060927</a>
+ </dd><dt>Editors:</dt><dd>Asir S Vedamuthu, Microsoft Corporation</dd><dd>David Orchard, BEA Systems, Inc.</dd><dd>Maryann Hondo, IBM Corporation</dd><dd>Toufic Boubez, Layer 7 Technologies</dd><dd>Prasad Yendluri, webMethods, Inc.</dd></dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © @@@@ <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-docments">document use</a> rules apply.</p></div><hr><div>
<h2><a name="abstract">Abstract</a></h2><p>
This specification, Web Services Policy 1.5 - Attachment, defines two
general-purpose mechanisms for associating policies, as
@@ -63,7 +65,7 @@
</p></div><div>
<h2><a name="status">Status of this Document</a></h2><p><strong>This document is an editors' copy that has
no official standing.</strong></p><p></p></div><hr><div class="toc">
-<h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#tocRange">Introduction</a><br>2. <a href="#NotationsTerminology">Notations and Terminology</a><br> 2.1 <a href="#NotationalConventions">Notational Conventions</a><br> 2.2 <a href="#XMLNamespaces">XML Namespaces</a><br> 2.3 <a href="#Glossary">Terminology</a><br> 2.4 <a href="#Example">Example</a><br>3. <a href="#rPolicyAttachment">Policy Attachment</a><br> 3.1 <a href="#rEffectivePolicy">Effective Policy</a><br> 3.2 <a href="#PolicyAttachmentMechanisms">Policy Attachment Mechanisms</a><br> 3.3 <a href="#XMLElementAttachement">XML Element Attachment</a><br> 3.4 <a href="#ExternalPolicyAttachment">External Policy Attachment</a><br>4. <a href="#AttachingPolicyUsingWSDL1.1">Attaching Policies Using WSDL 1.1</a><br> 4.1 <a href="#CaculatingEffectivyPolicywithWSDL1.1">Calculating Effective Policy in WSDL 1.1</a><br> 4.1.1 <a href="#ServicePolicySubject">Service Policy Subject</a><br> 4.1.2 <a href="#EndpointPolicySubject">Endpoint Policy Subject</a><br> 4.1.3 <a href="#OperationPolicySubject">Operation Policy Subject</a><br> 4.1.4 <a href="#MessagePolicySubject">Message Policy Subject</a><br> 4.1.5 <a href="#Example2">Example</a><br>5. <a href="#ws-policy-attachment-for-wsdl20">WS-Policy Attachment for WSDL 2.0</a><br> 5.1 <a href="#wsdl20-example">Example</a><br> 5.2 <a href="#attaching-policy-expressions">Attaching Policy Expressions</a><br> 5.3 <a href="#extension-to-wsdl-component-model">Extension to WSDL Component Model</a><br>  5.4 <a href="#effective-policy">Effective Policy</a><br> 5.4.1 <a href="#service-policy-subject">Service Policy Subject</a><br> 5.4.2 <a href="#endpoint-policy-subject">Endpoint Policy Subject</a><br> 5.4.3 <a href="#operation-policy-subject">Operation Policy Subject</a><br> 5.4.4 <a href="#message-policy-subject-input">Message Policy Subject (input message)</a><br> 5.4.5 <a href="#message-policy-subject-output">Message Policy Subject (output message)</a><br> 5.4.6 <a href="#message-policy-subject-input-fault">Message Policy Subject (input fault message)</a><br> 5.4.7 <a href="#message-policy-subject-output-fault">Message Policy Subject (output fault message)</a><br>. <a href="#AttachingPoliciesUsingUDDI">Attaching Policies Using UDDI</a><br> 6.1 <a href="#CalculatingEffectivePolicyElementPolicyUDDI">Calculating Effective Policy and Element Policy in UDDI</a><br> 6.1.1 <a href="#ServiceProviderPolicySubjectUDDI">Service Provider Policy Subject</a><br> 6.1.2 <a href="#ServicePolicySubjectUDDI">Service Policy Subject</a><br> 6.1.3 <a href="#EndpointPolicySubjectUDDI">Endpoint Policy Subject</a><br> 6.2 <a href="#ReferencingRemotePolicyExpressions">Referencing Remote Policy Expressions</a><br> 6.3 <a href="#RegisteringReusablePolicyExpressions">Registering Reusable Policy Expressions</a><br> 6.4 <a href="#RegisteringPoliciesUDDIVersion3">Registering Policies in UDDI Version 3</a><br>7. <a href="#SecurityConsiderations">Security Considerations<a><br>8. <a href="#Conformance">Conformance</a><br> 8.1 <a href="#d3e3767">External Policy Attachment Conformance</a><br> 8.2 <a href="#d3e3779">WSDL 1.1 Attachment Conformance</a><br> 8.3 <a href="#d3e3788">WSDL 2.0 Attachment Conformance</a><br></p>
+<h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#tocRange">Introduction</a><br>2. <a href="#NotationsTerminology">Notations and Terminology</a><br> 2.1 <a href="#NotationalConventions">Notational Conventions</a><br> 2.2 <a href="#XMLNamespaces">XML Namespaces</a><br> 2.3 <a href="#Glossary">Terminology</a><br> 2.4 <a href="#Example">Example</a><br>3. <a href="#rPolicyAttachment">Policy Attachment</a><br> 3.1 <a href="#rEffectivePolicy">Effective Policy</a><br> 3.2 <a href="#PolicyAttachmentMechanisms">Policy Attachment Mechanisms</a><br> 3.3 <a href="#XMLElementAttachement">XML Element Attachment</a><br> 3.4 <a href="#ExternalPolicyAttachment">External Policy Attachment</a><br>4. <a href="#AttachingPolicyUsingWSDL1.1">Attaching Policies Using WSDL 1.1</a><br> 4.1 <a href="#CaculatingEffectivyPolicywithWSDL1.1">Calculating Effective Policy in WSDL 1.1</a><br> 4.1.1 <a href="#ServicePolicySubject">Service Policy Subject</a><br> 4.1.2 <a href="#EndpointPolicySubject">Endpoint Policy Subject</a><br> 4.1.3 <a href="#OperationPolicySubject">Operation Policy Subject</a><br> 4.1.4 <a href="#MessagePolicySubject">Message Policy Subject</a><br> 4.1.5 <a href="#Example2">Example</a><br>5. <a href="#ws-policy-attachment-for-wsdl20">WS-Policy Attachment for WSDL 2.0</a><br> 5.1 <a href="#wsdl20-example">Example</a><br> 5.2 <a href="#attaching-policy-expressions">Attaching Policy Expressions</a><br> 5.3 <a href="#extension-to-wsdl-component-model">Extension to WSDL Component Model</a><br>  5.4 <a href="#effective-policy">Effective Policy</a><br> 5.4.1 <a href="#service-policy-subject">Service Policy Subject</a><br> 5.4.2 <a href="#endpoint-policy-subject">Endpoint Policy Subject</a><br> 5.4.3 <a href="#operation-policy-subject">Operation Policy Subject</a><br> 5.4.4 <a href="#message-policy-subject-input">Message Policy Subject (input message)</a><br> 5.4.5 <a href="#message-policy-subject-output">Message Policy Subject (output message)</a><br> 5.4.6 <a href="#message-policy-subject-input-fault">Message Policy Subject (input fault message)</a><br> 5.4.7 <a href="#message-policy-subject-output-fault">Message Policy Subject (output fault message)</a><br>. <a href="#AttachingPoliciesUsingUDDI">Attaching Policies Using UDDI</a><br> 6.1 <a href="#CalculatingEffectivePolicyElementPolicyUDDI">Calculating Effective Policy and Element Policy in UDDI</a><br> 6.1.1 <a href="#ServiceProviderPolicySubjectUDDI">Service Provider Policy Subject</a><br> 6.1.2 <a href="#ServicePolicySubjectUDDI">Service Policy Subject</a><br> 6.1.3 <a href="#EndpointPolicySubjectUDDI">Endpoint Policy Subject</a><br> 6.2 <a href="#ReferencingRemotePolicyExpressions">Referencing Remote Policy Expressions</a><br> 6.3 <a href="#RegisteringReusablePolicyExpressions">Registering Reusable Policy Expressions</a><br> 6.4 <a href="#RegisteringPoliciesUDDIVersion3">Registering Policies in UDDI Version 3</a><br>7. <a href="#SecurityConsiderations">Security Considerations<a><br>8. <a href="#Conformance">Conformance</a><br> 8.1 <a href="#d3e3771">External Policy Attachment Conformance</a><br> 8.2 <a href="#d3e3783">WSDL 1.1 Attachment Conformance</a><br> 8.3 <a href="#d3e3792">WSDL 2.0 Attachment Conformance</a><br></p>
<h3><a name="appendix" id="appendix">Appendices</a></h3><p class="toc">A. <a href="#References">References</a><br> A.1 <a href="#Normative-References">Normative References</a><br> A.2 <a href="#Informative-References">Other References</a><br>B. <a href="#AppendixA">UDDI tModel Definitions</a><br> B.1 <a href="#RemotePolicyReferenceCategorySystem">Remote Policy Reference Category System</a><br> B.1.1 <a href="#DesigGoals1">Design Goals</a><br> B.1.2 <a href="#tModelDefinition1">tModel Definition</a><br> B.1.3 <a href="#ModelStructure1">tModel Structure</a><br> B.2 <a href="#WS-PolicyTypesCategorySystem">Web Services Policy Types Category System</a><br> B.2.1 <a href="#DesignGoals2">Design Goals</a><br> &bsp; B.2.2 <a href="#tModelDefinition2">tModel Definition</a><br> B.2.3 <a href="#ModelStructure2">tModel Structure</a><br> B.3 <a href="#LocalPolicyReferenceCategorySystem">Local Policy Reference Category System</a><br> B.3.1 <a href="#DesignGoals3">Design Goals</a><br> B.3.2 <a href="#tModelDefinition3">tModel Definition</a><br> B.3.3 <a href="#ModelStructure3">tModel Structure</a><br>C. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br>D. <a href="#change-description">Changes in this Version of the Document</a> (Non-Normative)<br>E. <a href="#change-log">Web Services Policy 1.5 - Attachment Change Log</a> (Non-Normative)<br></p></div><hr><div class="body"><div class="div1">
<h2><a name="tocRange"></a>1. Introduction</h2><p>
The Web Services Policy 1.5 - Framework [<cite><a href="#WS-Policy">Web Services Policy Framework</a></cite>]
@@ -203,11 +205,11 @@
children of a wrapper <code class="elt">wsp:Policy</code>
element.</p></dd><dt class="label">
<a href="ws-policy-framework.html#policy">policy</a>
- </dt><dd><p id="policy">A <b>policy</b> is a collection of
- <a title="" href="#policy_alternative">policy alternatives</a>, </p></dd><dt class="label">
+ </dt><dd><p id="policy">A <b>policy</b> is a potentially empty collection of
+ <a title="" href="#policy_alternative">policy alternatives</a>. </p></dd><dt class="label">
<a href="ws-policy-framework.html#policy_alternative">policy alternative</a>
- </dt><dd><p id="policy_alternative">a <b>policy alternative</b>
- is a collection of <a title="" href="#policy_assertion">policy assertions</a>.</p></dd><dt class="label">
+ </dt><dd><p id="policy_alternative">A <b>policy alternative</b>
+ is a potentially empty collection of <a title="" href="#policy_assertion">policy assertions</a>.</p></dd><dt class="label">
<a href="ws-policy-framework.html#policy_assertion">policy assertion</a>
</dt><dd><p id="policy_assertion">A <b>policy assertion</b>
represents an individual requirement, capability, or other property of a behavior.</p></dd><dt class="label">
@@ -224,7 +226,7 @@
<a title="" href="#policy_subject">policy subjects</a> to which a policy may apply.</p></dd><dt class="label">
<a href="ws-policy-framework.html#policy_subject">policy subject</a>
</dt><dd><p id="policy_subject">A <b>policy subject</b> is an entity
- (e.g., an endpoint, message, resource, interaction) with which a
+ (e.g., an endpoint, message, resource, operation) with which a
<a title="" href="#policy">policy</a> can be associated. </p></dd></dl></div><div class="div2">
<h3><a name="Example"></a>2.4 Example</h3><p>This specification defines several mechanisms for
associating policies (Web Services Policy 1.5 - Framework, [<cite><a href="#WS-Policy">Web Services Policy Framework</a></cite>]) with various XML Web service entities. For
@@ -285,7 +287,7 @@
(36) </wsp:Policy></pre></div></div><p>The document containing both of these policy expressions is
assumed to be located at
<code>http://www.example.com/policies</code>. Per Section
- <a href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;charset=utf-8/#Policy_Identification">3.2
+ <a href="ws-policy-framework.html/#Policy_Identification">3.2
Policy Identification</a> of Web Services Policy 1.5 - Framework [<cite><a href="#WS-Policy">Web Services Policy Framework</a></cite>], the IRIs used for these <a title="" href="#policy_expression">policy expressions</a>
in the remainder of this document are
<code>http://www.example.com/policies#RmPolicy</code> and
@@ -337,13 +339,13 @@
on WSDL [<cite><a href="#WSDL11">WSDL 1.1</a></cite>] and Policy.</p><p>This specification defines a global attribute that allows
<a title="" href="#policy_expression">policy expressions</a> to be attached to an arbitrary XML
element. The following is the schema definition for the
- <code class="attr">wsp:PolicyURIs</code> attribute:</p><div class="exampleInner"><pre>(01) <xs:schema>
-(02) <xs:attribute name="PolicyURIs">
-(03) <xs:simpleType>
-(04) <xs:list itemType="xs:anyURI" />
-(05) </xs:simpleType>
-(06) </xs:attribute>
-(07) </xs:schema></pre></div><p>The namespace URI [<cite><a href="#XML-NS">XML Namespaces</a></cite>] for this attribute is <code>http://www.w3.org/@@@@/@@/ws-policy</code>.</p><p>The <code class="attr">wsp:PolicyURIs</code> attribute contains a white
+ <code class="attr">wsp:PolicyURIs</code> attribute:</p><div class="exampleInner"><pre><xs:schema>
+ <xs:attribute name="PolicyURIs">
+ <xs:simpleType>
+ <xs:list itemType="xs:anyURI" />
+ </xs:simpleType>
+ </xs:attribute>
+</xs:schema></pre></div><p>The namespace URI [<cite><a href="#XML-NS">XML Namespaces</a></cite>] for this attribute is <code>http://www.w3.org/@@@@/@@/ws-policy</code>.</p><p>The <code class="attr">wsp:PolicyURIs</code> attribute contains a white
space-separated list of one or more IRIs [<cite><a href="#RFC3987">IETF RFC 3987</a></cite>]. When this attribute is used,
each of the values identifies a <a title="" href="#policy_expression">policy expression</a> as defined by
[<cite><a href="#WS-Policy">Web Services Policy Framework</a></cite>]. If more than one IRI is specified, the
@@ -359,9 +361,9 @@
attachment</a> mechanism using this attribute <span class="rfc2119">MUST</span>
define the <a title="" href="#policy_scope">policy scope</a> of the attachment.</p><p>An example of <a title="element policy" href="#element_policy">element policy</a> through the use of this global
attribute is given below using the sample policies stated in Section
-<a href="#Example"><b>2.4 Example</b></a>.</p><p>If the <a title="" href="#policy">policies</a> referenced by the following XML element</p><div class="exampleInner"><pre>(01) <MyElement wsp:PolicyURIs="
-(02) http://www.example.com/policies#RmPolicy
-(03) http://www.example.com/policies#X509EndpointPolicy" /></pre></div><p>have been processed and <a title="merge" href="#merge">merged</a>,
+<a href="#Example"><b>2.4 Example</b></a>.</p><p>If the <a title="" href="#policy">policies</a> referenced by the following XML element</p><div class="exampleInner"><pre><MyElement wsp:PolicyURIs="
+ http://www.example.com/policies#RmPolicy
+ http://www.example.com/policies#X509EndpointPolicy" /></pre></div><p>have been processed and <a title="merge" href="#merge">merged</a>,
it would result in an <a title="element policy" href="#element_policy">element policy</a>
whose XML 1.0 representation is listed in <a href="#Table4">Example 3-1</a>:</p><div class="exampleOuter"><p style="text-align: left" class="exampleHead"><a name="Table4"></a><i><span>Example 3-1. </span>Example Merged Policy Expression.</i></p><div class="exampleInner"><pre>(01) <wsp:Policy
xmlns:rmp="http://docs.oasis-open.org/ws-rx/wsrmp/200602"
@@ -385,16 +387,16 @@
associating <a title="" href="#policy_expression">policy expressions</a> with XML-based constructs.</p><p>Alternatively, rather than using the global attribute, XML elements
may use the <code class="elt">wsp:Policy</code> or <code class="elt">wsp:PolicyReference</code> elements directly as
children, in order to support <a title="element policy" href="#element_policy">element policy</a> (Per Section
- <a href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;charset=utf-8/#Policy_References">4.3.4
+ <a href="ws-policy-framework.html/#Policy_References">4.3.4
Policy References</a> of Web Services Policy 1.5 - Framework [<cite><a href="#WS-Policy">Web Services Policy Framework</a></cite>]), and the semantics for
this are the same as for the use of the global attribute. For example,
an alternative way of attaching the policies in the above example,
-using child elements, would be as follows: </p><div class="exampleInner"><pre>(01) <MyElement>
-(02) <wsp:PolicyReference
-(03) URI="http://www.example.com/policies#RmPolicy" />
-(04) <wsp:PolicyReference
-(05) URI="http://www.example.com/policies#X509EndpointPolicy" />
-(06) <MyElement/></pre></div></div><div class="div2">
+using child elements, would be as follows: </p><div class="exampleInner"><pre><MyElement>
+ <wsp:PolicyReference
+ URI="http://www.example.com/policies#RmPolicy" />
+ <wsp:PolicyReference
+ URI="http://www.example.com/policies#X509EndpointPolicy" />
+<MyElement/></pre></div></div><div class="div2">
<h3><a name="ExternalPolicyAttachment"></a>3.4 External Policy Attachment</h3><p>This mechanism allows <a title="" href="#policy">policies</a> to be associated with a <a title="" href="#policy_subject">policy
subject</a> independent of that subject's definition and/or representation
through the use of a <code class="elt">wsp:PolicyAttachment</code>
@@ -413,15 +415,15 @@
considered in scope. For example, an Endpoint Reference may be used as
a domain expression, and it may contain <a title="" href="#policy_expression">policy expressions</a> within it,
but this <a title="" href="#policy_expression">policy expressions</a> are not considered in scope with respect
-to the <code class="elt">wsp:PolicyAttachment</code> element using it.</p><p>The following is the pseudo-schema for the <code class="elt">wsp:PolicyAttachment</code> element:</p><div class="exampleInner"><pre>(01) <wsp:PolicyAttachment … >
-(02) <wsp:AppliesTo>
-(03) <x:DomainExpression/> +
-(04) </wsp:AppliesTo>
-(05) ( <wsp:Policy>…</wsp:Policy> |
-(06) <wsp:PolicyReference>…</wsp:PolicyReference> ) +
-(07) <wsse:Security>…</wsse:Security> ?
-(08) …
-(09) </wsp:PolicyAttachment></pre></div><p>The following describes the attributes and elements listed in the pseudo-schema outlined above:</p><dl><dt class="label">
+to the <code class="elt">wsp:PolicyAttachment</code> element using it.</p><p>The following is the pseudo-schema for the <code class="elt">wsp:PolicyAttachment</code> element:</p><div class="exampleInner"><pre><wsp:PolicyAttachment … >
+ <wsp:AppliesTo>
+ <x:DomainExpression/> +
+ </wsp:AppliesTo>
+ ( <wsp:Policy>…</wsp:Policy> |
+ <wsp:PolicyReference>…</wsp:PolicyReference> ) +
+ <wsse:Security>…</wsse:Security> ?
+ …
+</wsp:PolicyAttachment></pre></div><p>The following describes the attributes and elements listed in the pseudo-schema outlined above:</p><dl><dt class="label">
<code class="elt">/wsp:PolicyAttachment</code>
</dt><dd><p>This describes an external <a title="" href="#policy_attachment">policy attachment</a>.</p></dd><dt class="label">
<code class="elt">/wsp:PolicyAttachment/wsp:AppliesTo</code>
@@ -459,15 +461,15 @@
or resources with which a policy can be associated. For example, domain expressions may
be used to refer to WSDL 1.1 definitions, WSDL 2.0 components, endpoint references, etc.</p><p>The following example illustrates the use of this mechanism with an
EndpointReference domain expression for a deployed endpoint as defined
-in Web Services Addressing [<cite><a href="#WS-Addressing">WS-Addressing Core</a></cite>]:</p><div class="exampleInner"><pre>(01) <wsp:PolicyAttachment>
-(02) <wsp:AppliesTo>
-(03) <wsa:EndpointReference>
-(04) <wsa:Address>http://www.example.com/acct</wsa:Address>
-(05) </wsa:EndpointReference>
-(06) </wsp:AppliesTo>
-(07) <wsp:PolicyReference
-(08) URI="http://www.example.com/policies#RmPolicy" />
-(09) </wsp:PolicyAttachment></pre></div><p>In this example, the <a title="" href="#policy_expression">policy expression</a> at
+in Web Services Addressing [<cite><a href="#WS-Addressing">WS-Addressing Core</a></cite>]:</p><div class="exampleInner"><pre><wsp:PolicyAttachment>
+ <wsp:AppliesTo>
+ <wsa:EndpointReference>
+ <wsa:Address>http://www.example.com/acct</wsa:Address>
+ </wsa:EndpointReference>
+ </wsp:AppliesTo>
+ <wsp:PolicyReference
+ URI="http://www.example.com/policies#RmPolicy" />
+</wsp:PolicyAttachment></pre></div><p>In this example, the <a title="" href="#policy_expression">policy expression</a> at
<code>http://www.example.com/policies#RmPolicy</code> applies to all
interactions with the endpoint at
<code>http://www.example.com/acct</code>.</p></div></div><div class="div1">
@@ -529,7 +531,7 @@
<a title="merge" href="#merge">merged</a> into the <a title="effective policy" href="#effective_policy">effective policy</a> of every implementation
of that abstract WSDL definition.</p><p>Policies that are attached to a deployed resource (e.g., services
or ports) are only considered in the <a title="effective policy" href="#effective_policy">effective policy</a> of that deployed
-resource itself.</p><div class="figure" style="text-align: center"><a name="Figure1"></a><br><img src="effective-policy-scope.jpg" alt="Effective Policy and Policy Scopes in WSDL"><p style="text-align:left"><i><span>Figure 4-1. </span>Effective Policy and Policy Scopes in WSDL</i></p><br></div><p>(This graphic is also available in SVG format <a href="effective-policy-scope.svg">here</a>.)</p><p>When attaching policies at different levels of the WSDL hierarchy, care must be taken.
+resource itself.</p><div class="figure" style="text-align: center"><a name="Figure1"></a><br><img src="effective-policy-scope.jpg" alt="Effective Policy and Policy Scopes in WSDL"><p style="text-align:left"><i><span>Figure 4-1. </span>Effective Policy and Policy Scopes in WSDL</i></p><br></div><p>(This graphic is also available in SVG format <a href="ws-policy-attachment.html/effective-policy-scope.svg">here</a>.)</p><p>When attaching policies at different levels of the WSDL hierarchy, care must be taken.
A message exchange with an endpoint <span class="rfc2119">MAY</span> be described by the
<a title="effective policy" href="#effective_policy">effective policies</a>
in all four subject types simultaneously.</p><p>For example, in <a href="#Figure1">Figure 4-1</a>, for a particular input message to a deployed
@@ -1119,17 +1121,17 @@
<code class="elt">businessService</code> , and a tModel using the entity's <code class="elt">categoryBag</code> . For
example, associating the <a title="" href="#policy_expression">policy expression</a> that is identified by the
IRI <code>http://www.example.com/myservice/policy</code> with a <code class="elt">businessService</code> is
-done as follows: </p><div class="exampleInner"><pre>(01) <businessService serviceKey="…" >
-(02) <name>…</name>
-(03) <description>…</description>
-(04) <bindingTemplates>…</bindingTemplates>
-(05) <categoryBag>
-(06) <keyedReference
-(07) keyName="Policy Expression for example's Web services"
-(08) keyValue="http://www.example.com/myservice/policy"
-(09) tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" />
-(10) </categoryBag>
-(11) </businessService></pre></div><p>The <code class="attr">tModelKey</code> of the <code class="elt">keyedReference</code>
+done as follows: </p><div class="exampleInner"><pre><businessService serviceKey="…" >
+ <name>…</name>
+ <description>…</description>
+ <bindingTemplates>…</bindingTemplates>
+ <categoryBag>
+ <keyedReference
+ keyName="Policy Expression for example's Web services"
+ keyValue="http://www.example.com/myservice/policy"
+ tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" />
+ </categoryBag>
+</businessService></pre></div><p>The <code class="attr">tModelKey</code> of the <code class="elt">keyedReference</code>
<span class="rfc2119">MUST</span> match
the fixed <code class="attr">tModelKey</code> from the remote policy reference category
system. The <code class="attr">keyValue</code>
@@ -1138,19 +1140,19 @@
expression</a> with a <code class="elt">bindingTemplate</code> , since bindingTemplates do not
contain a <code class="elt">categoryBag</code> in UDDI Version 2. Therefore, the
<code class="elt">bindingTemplate</code> 's <code class="elt">tModelInstanceInfo</code> and <code class="elt">instanceParms</code>
-<span class="rfc2119">MUST</span> be used as follows: </p><div class="exampleInner"><pre>(01) <bindingTemplate bindingKey="…" >
-(02) <accessPoint>…</accessPoint>
-(03) <tModelInstanceDetails>
-(04) <tModelInstanceInfo
-(05) tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" >
-(06) <instanceDetails>
-(07) <instanceParms>
-(08) http://www.example.com/myservice/policy
-(09) </instanceParms>
-(10) </instanceDetails>
-(11) </tModelInstanceInfo>
-(12) </tModelInstanceDetails>
-(13) </bindingTemplate></pre></div><p>The <code class="attr">tModelKey</code> of the <code class="elt">tModelInstanceInfo</code>
+<span class="rfc2119">MUST</span> be used as follows: </p><div class="exampleInner"><pre><bindingTemplate bindingKey="…" >
+ <accessPoint>…</accessPoint>
+ <tModelInstanceDetails>
+ <tModelInstanceInfo
+ tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" >
+ <instanceDetails>
+ <instanceParms>
+ http://www.example.com/myservice/policy
+ </instanceParms>
+ </instanceDetails>
+ </tModelInstanceInfo>
+ </tModelInstanceDetails>
+</bindingTemplate></pre></div><p>The <code class="attr">tModelKey</code> of the <code class="elt">tModelInstanceInfo</code>
<span class="rfc2119">MUST</span>
match the fixed <code class="attr">tModelKey</code> from the remote policy reference category
system as defined above. The <code class="elt">instanceParms</code>
@@ -1163,26 +1165,26 @@
Types category system as a tModel. This tModel is defined in Appendix
<a href="#WS-PolicyTypesCategorySystem"><b>B.2 Web Services Policy Types Category System</b></a>.</p><p>The following illustrates a tModel for the <a title="" href="#policy_expression">policy expression</a>
identified by the IRI
-<code>http://www.example.com/myservice/policy</code>.</p><div class="exampleInner"><pre>(01) <tModel tModelKey="uuid:04cfa…">
-(02) <name>…</name>
-(03) <description xml:lang="EN">
-(04) Policy Expression for example's Web services
-(05) </description>
-(06) <overviewDoc>
-(07) <description xml:lang="EN">Web Services Policy Expression</description>
-(08) <overviewURL>http://www.example.com/myservice/policy</overviewURL>
-(09) </overviewDoc>
-(10) <categoryBag>
-(11) <keyedReference
-(12) keyName="Reusable policy Expression"
-(13) keyValue="policy"
-(14) tModelKey="uuid:fa1d77dc-edf0-3a84-a99a-5972e434e993" />
-(15) <keyedReference
-(16) keyName="Policy Expression for example's Web services"
-(17) keyValue="http://www.example.com/myservice/policy"
-(18) tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" />
-(19) </categoryBag>
-(20) </tModel></pre></div><p>The first <code class="elt">keyedReference</code> specifies that the tModel represents a
+<code>http://www.example.com/myservice/policy</code>.</p><div class="exampleInner"><pre><tModel tModelKey="uuid:04cfa…">
+ <name>…</name>
+ <description xml:lang="EN">
+ Policy Expression for example's Web services
+ </description>
+ <overviewDoc>
+ <description xml:lang="EN">Web Services Policy Expression</description>
+ <overviewURL>http://www.example.com/myservice/policy</overviewURL>
+ </overviewDoc>
+ <categoryBag>
+ <keyedReference
+ keyName="Reusable policy Expression"
+ keyValue="policy"
+ tModelKey="uuid:fa1d77dc-edf0-3a84-a99a-5972e434e993" />
+ <keyedReference
+ keyName="Policy Expression for example's Web services"
+ keyValue="http://www.example.com/myservice/policy"
+ tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" />
+ </categoryBag>
+</tModel></pre></div><p>The first <code class="elt">keyedReference</code> specifies that the tModel represents a
<a title="" href="#policy_expression">policy expression</a> — rather than only being associated with one
— by using the Web Services Policy Types category system's built-in
category <code>"policy"</code>, which is its single valid value. This is necessary
@@ -1207,17 +1209,17 @@
<code class="elt">businessService</code> , and a tModel using the entity's <code class="elt">categoryBag</code> . For
example, associating the <a title="" href="#policy_expression">policy expression</a> tModel with the <code class="attr">tModelKey</code>
<code>"uuid:04cfa…"</code> from above with a <code class="elt">businessService</code> is done as
-follows: </p><div class="exampleInner"><pre>(01) <businessService serviceKey="…" >
-(02) <name>…</name>
-(03) <description>…</description>
-(04) <bindingTemplates>…</bindingTemplates>
-(05) <categoryBag>
-(06) <keyedReference
-(07) keyName="Policy Expression for example's Web services"
-(08) keyValue="uuid:04cfa…"
-(09) tModelKey="uuid:a27f7d45-ec90-31f7-a655-efe91433527c" />
-(10) </categoryBag>
-(11) </businessService></pre></div><p>The <code class="attr">tModelKey</code> of the <code class="elt">keyedReference</code>
+follows: </p><div class="exampleInner"><pre><businessService serviceKey="…" >
+ <name>…</name>
+ <description>…</description>
+ <bindingTemplates>…</bindingTemplates>
+ <categoryBag>
+ <keyedReference
+ keyName="Policy Expression for example's Web services"
+ keyValue="uuid:04cfa…"
+ tModelKey="uuid:a27f7d45-ec90-31f7-a655-efe91433527c" />
+ </categoryBag>
+</businessService></pre></div><p>The <code class="attr">tModelKey</code> of the <code class="elt">keyedReference</code>
<span class="rfc2119">MUST</span> match
the fixed <code class="attr">tModelKey</code> from the local policy reference category
system. The keyValue <span class="rfc2119">MUST</span> be the <code class="attr">tModelKey</code> of the
@@ -1225,17 +1227,17 @@
expression</a> with a <code class="elt">bindingTemplate</code> , since bindingTemplates do not
contain a <code class="elt">categoryBag</code> in UDDI Version 2. Therefore, the
<code class="elt">bindingTemplate</code> 's <code class="elt">tModelInstanceInfo</code> and <code class="elt">instanceParms</code>
-<span class="rfc2119">MUST</span> be used as follows: </p><div class="exampleInner"><pre>(01) <bindingTemplate bindingKey="…" >
-(02) <accessPoint>…</accessPoint>
-(03) <tModelInstanceDetails>
-(04) <tModelInstanceInfo
-(05) tModelKey="uuid:a27f7d45-ec90-31f7-a655-efe91433527c" >
-(06) <instanceDetails>
-(07) <instanceParms>uuid:04cfa…</instanceParms>
-(08) </instanceDetails>
-(09) </tModelInstanceInfo>
-(10) </tModelInstanceDetails>
-(11) </bindingTemplate></pre></div><p>The tModelKey of the <code class="elt">tModelInstanceInfo</code>
+<span class="rfc2119">MUST</span> be used as follows: </p><div class="exampleInner"><pre><bindingTemplate bindingKey="…" >
+ <accessPoint>…</accessPoint>
+ <tModelInstanceDetails>
+ <tModelInstanceInfo
+ tModelKey="uuid:a27f7d45-ec90-31f7-a655-efe91433527c" >
+ <instanceDetails>
+ <instanceParms>uuid:04cfa…</instanceParms>
+ </instanceDetails>
+ </tModelInstanceInfo>
+ </tModelInstanceDetails>
+</bindingTemplate></pre></div><p>The tModelKey of the <code class="elt">tModelInstanceInfo</code>
<span class="rfc2119">MUST</span> match the fixed <code class="attr">tModelKey</code> from the
local policy reference category system. The <code class="elt">instanceParms</code>
<span class="rfc2119">MUST</span> be the <code class="attr">tModelKey</code> of the <a title="" href="#policy_expression">policy
@@ -1255,34 +1257,34 @@
<code class="elt">bindingTemplate</code> 's <code class="elt">categoryBag</code> , analogous to the mechanism described
for other UDDI entities. For example, the example <code class="elt">bindingTemplate</code> from
section <a href="#CalculatingEffectivePolicyElementPolicyUDDI"><b>6.1 Calculating Effective Policy and Element Policy in UDDI</b></a> would be
-changed as follows: </p><div class="exampleInner"><pre>(01) <bindingTemplate bindingKey="…" >
-(02) <accessPoint>…</accessPoint>
-(03) <tModelInstanceDetails>…</tModelInstanceDetails>
-(04) <categoryBag>
-(05) <keyedReference
-(06) keyName="Policy Expression for example's Web services"
-(07) keyValue="http://www.example.com/myservice/policy"
-(08) tModelKey="uddi:schemas.xmlsoap.org:remotepolicyreference:2003_03"
-(09) />
-(10) </categoryBag>
-(11) </bindingTemplate></pre></div><p>Third, inquiries for reusable <a title="" href="#policy_expression">policy expression</a> tModels
+changed as follows: </p><div class="exampleInner"><pre><bindingTemplate bindingKey="…" >
+ <accessPoint>…</accessPoint>
+ <tModelInstanceDetails>…</tModelInstanceDetails>
+ <categoryBag>
+ <keyedReference
+ keyName="Policy Expression for example's Web services"
+ keyValue="http://www.example.com/myservice/policy"
+ tModelKey="uddi:schemas.xmlsoap.org:remotepolicyreference:2003_03"
+ />
+ </categoryBag>
+</bindingTemplate></pre></div><p>Third, inquiries for reusable <a title="" href="#policy_expression">policy expression</a> tModels
described in Section <a href="#RegisteringReusablePolicyExpressions"><b>6.3 Registering Reusable Policy Expressions</b></a> and UDDI
tModel entities that are associated with remote <a title="" href="#policy_expression">policy expression</a> is enhanced
by the wildcard mechanism for keyValues in keyedReferences. For
example, searching for all <a title="" href="#policy_expression">policy expression</a> tModels whose IRI starts
with <code>http://www.example.com/</code>, the following <code>find_tModel</code> API call can
-be used: </p><div class="exampleInner"><pre>(01) <find_tModel
+be used: </p><div class="exampleInner"><pre><find_tModel
xmlns="urn:uddi-org:api_v3" >
-(02) <categoryBag>
-(03) <keyedReference
-(04) keyValue="http://www.example.com/"
-(05) tModelKey="uddi:schemas.xmlsoap.org:remotepolicyreference:2003_03"
-(06) />
-(07) </categoryBag>
-(08) <findQualifiers>
-(09) <findQualifier>approximateMatch</findQualifier>
-(10) </findQualifiers>
-(11) </find_tModel></pre></div><p>Fourth, all UDDI entities may be digitally signed using XML digital
+ <categoryBag>
+ <keyedReference
+ keyValue="http://www.example.com/"
+ tModelKey="uddi:schemas.xmlsoap.org:remotepolicyreference:2003_03"
+ />
+ </categoryBag>
+ <findQualifiers>
+ <findQualifier>approximateMatch</findQualifier>
+ </findQualifiers>
+</find_tModel></pre></div><p>Fourth, all UDDI entities may be digitally signed using XML digital
signatures [<cite><a href="#XML-Signature">XML-Signature</a></cite>]. Publishers who want to
digitally sign their <a title="" href="#policy_expression">policy expression</a> tModels or <a title="" href="#policy_expression">policy expression</a>
references in UDDI <span class="rfc2119">MUST</span> use the Schema-centric
@@ -1294,11 +1296,11 @@
signed and have an associated security token to specify the signer has
the right to "speak for" the scope containing the <a title="" href="#policy">policy</a>.</p></div><div class="div1">
<h2><a name="Conformance"></a>8. Conformance</h2><div class="div2">
-<h3><a name="d3e3767"></a>8.1 External Policy Attachment Conformance</h3><p>An element information item whose namespace name is "http://www.w3.org/@@@@/@@/policy" and whose local part is PolicyAttachment conforms to this specification if it is valid according to the XML Schema [<cite><a href="#XMLSchemaPart1">XML Schema Structures</a></cite>] for that element as defined by this specification (<a href="http://www.w3.org/@@@@/@@/policy/ws-policy.xsd">http://www.w3.org/@@@@/@@/policy/ws-policy.xsd</a>) and additionally adheres to all the constraints contained in Section <a href="#ExternalPolicyAttachment"><b>3.4 External Policy Attachment</b></a> of this specification. Such a conformant element information item constitutes an external policy attachment. </p></div><div class="div2">
-<h3><a name="d3e3779"></a>8.2 WSDL 1.1 Attachment Conformance</h3><p>
+<h3><a name="d3e3771"></a>8.1 External Policy Attachment Conformance</h3><p>An element information item whose namespace name is "http://www.w3.org/@@@@/@@/ws-policy" and whose local part is PolicyAttachment conforms to this specification if it is valid according to the XML Schema [<cite><a href="#XMLSchemaPart1">XML Schema Structures</a></cite>] for that element as defined by this specification (<a href="http://www.w3.org/@@@@/@@/ws-policy.xsd">http://www.w3.org/@@@@/@@/ws-policy.xsd</a>) and additionally adheres to all the constraints contained in Section <a href="#ExternalPolicyAttachment"><b>3.4 External Policy Attachment</b></a> of this specification. Such a conformant element information item constitutes an external policy attachment. </p></div><div class="div2">
+<h3><a name="d3e3783"></a>8.2 WSDL 1.1 Attachment Conformance</h3><p>
A WSDL 1.1 [<cite><a href="#WSDL11">WSDL 1.1</a></cite>] description conforms to this specification when it incorporates one or more element policies and additionally adheres to all the constraints contained in section <a href="#AttachingPolicyUsingWSDL1.1"><b>4. Attaching Policies Using WSDL 1.1</b></a>
</p></div><div class="div2">
-<h3><a name="d3e3788"></a>8.3 WSDL 2.0 Attachment Conformance</h3><p>
+<h3><a name="d3e3792"></a>8.3 WSDL 2.0 Attachment Conformance</h3><p>
A WSDL 2.0 [<cite><a href="#WSDL20">WSDL 2.0 Core Language</a></cite>] description conforms to this specification when it incorporates one or more element policies and additionally adheres to all the constraints contained in section <a href="#ws-policy-attachment-for-wsdl20"><b>5. WS-Policy Attachment for WSDL 2.0</b></a>
</p></div></div></div><div class="back"><div class="div1">
<h2><a name="References"></a>A. References</h2><div class="div2">
@@ -1491,16 +1493,18 @@
</td></tr><tr><th rowspan="1" colspan="1">UDDI V1,V2 format key:</th><td rowspan="1" colspan="1">
<code>uuid:a27078e4-fd38-320a-806f-6749e84f8005</code>
</td></tr><tr><th rowspan="1" colspan="1">Categorization:</th><td rowspan="1" colspan="1">categorization</td></tr><tr><th rowspan="1" colspan="1">Checked:</th><td rowspan="1" colspan="1">No</td></tr></tbody></table><br></div><div class="div3">
-<h4><a name="ModelStructure1"></a>B.1.3 tModel Structure</h4><div class="exampleInner"><pre>(01) <tModel tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" >
-(02) <name>http://schemas.xmlsoap.org/ws/2003/03/remotepolicyreference</name>
-(03) <description xml:lang="EN">Category system used for UDDI entities to point to an external Web Services Policy Attachment policy expression that describes their characteristics. See Web Services Policy 1.5 - Attachment specification for further details.</description>
-(04) <categoryBag>
-(05) <keyedReference
-(06) keyName="uddi-org:types:categorization"
-(07) keyValue="categorization"
-(08) tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4" />
-(09) </categoryBag>
-(10) </tModel></pre></div></div></div><div class="div2">
+<h4><a name="ModelStructure1"></a>B.1.3 tModel Structure</h4><div class="exampleInner"><pre><tModel tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" >
+ <name>http://schemas.xmlsoap.org/ws/2003/03/remotepolicyreference</name>
+ <description xml:lang="EN">Category system used for UDDI entities to point to an external
+ Web Services Policy Attachment policy expression that describes their characteristics.
+ See Web Services Policy 1.5 - Attachment specification for further details.</description>
+ <categoryBag>
+ <keyedReference
+ keyName="uddi-org:types:categorization"
+ keyValue="categorization"
+ tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4" />
+ </categoryBag>
+</tModel></pre></div></div></div><div class="div2">
<h3><a name="WS-PolicyTypesCategorySystem"></a>B.2 Web Services Policy Types Category System</h3><div class="div3">
<h4><a name="DesignGoals2"></a>B.2.1 Design Goals</h4><p>This tModel is used to categorize tModels as representing <a title="" href="#policy_expression">policy
expressions</a>. There is only one valid value, namely <code>"policy"</code>, that
@@ -1516,16 +1520,17 @@
</td></tr><tr><th rowspan="1" colspan="1">UDDI V1,V2 format key:</th><td rowspan="1" colspan="1">
<code>uuid:fa1d77dc-edf0-3a84-a99a-5972e434e993</code>
</td></tr><tr><th rowspan="1" colspan="1">Categorization:</th><td rowspan="1" colspan="1">categorization</td></tr><tr><th rowspan="1" colspan="1">Checked:</th><td rowspan="1" colspan="1">No</td></tr></tbody></table><br></div><div class="div3">
-<h4><a name="ModelStructure2"></a>B.2.3 tModel Structure</h4><div class="exampleInner"><pre>(01) <tModel tModelKey="uuid:fa1d77dc-edf0-3a84-a99a-5972e434e993" >
-(02) <name>http://schemas.xmlsoap.org/ws/2003/03/policytypes</name>
-(03) <description xml:lang="EN">Web Services Policy Types category system used for UDDI tModels to characterize them as Web Services Policy – based policy expressions.</description>
-(04) <categoryBag>
-(05) <keyedReference
-(06) keyName="uddi-org:types:categorization"
-(07) keyValue="categorization"
-(08) tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4" />
-(09) </categoryBag>
-(10) </tModel></pre></div></div></div><div class="div2">
+<h4><a name="ModelStructure2"></a>B.2.3 tModel Structure</h4><div class="exampleInner"><pre><tModel tModelKey="uuid:fa1d77dc-edf0-3a84-a99a-5972e434e993" >
+ <name>http://schemas.xmlsoap.org/ws/2003/03/policytypes</name>
+ <description xml:lang="EN">Web Services Policy Types category system used for UDDI tModels
+ to characterize them as Web Services Policy – based policy expressions.</description>
+ <categoryBag>
+ <keyedReference
+ keyName="uddi-org:types:categorization"
+ keyValue="categorization"
+ tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4" />
+ </categoryBag>
+</tModel></pre></div></div></div><div class="div2">
<h3><a name="LocalPolicyReferenceCategorySystem"></a>B.3 Local Policy Reference Category System</h3><div class="div3">
<h4><a name="DesignGoals3"></a>B.3.1 Design Goals</h4><p>This tModel is used to attach a <a title="" href="#policy_expression">policy expression</a> to a UDDI entity
by referencing the UDDI entity that represents this <a title="" href="#policy_expression">policy expression</a>. The local policy
@@ -1544,24 +1549,26 @@
</td></tr><tr><th rowspan="1" colspan="1">UDDI V1,V2 format key:</th><td rowspan="1" colspan="1">
<code>uuid:a27f7d45-ec90-31f7-a655-efe91433527c</code>
</td></tr><tr><th rowspan="1" colspan="1">Categorization:</th><td rowspan="1" colspan="1">categorization</td></tr><tr><th rowspan="1" colspan="1">Checked:</th><td rowspan="1" colspan="1">Yes</td></tr></tbody></table><br></div><div class="div3">
-<h4><a name="ModelStructure3"></a>B.3.3 tModel Structure</h4><div class="exampleInner"><pre>(01) <tModel tModelKey="uuid:a27f7d45-ec90-31f7-a655-efe91433527c" >
-(02) <name>http://schemas.xmlsoap.org/ws/2003/03/localpolicyreference</name>
-(03) <description xml:lang="en">Category system used for UDDI entities to point to a Web Services Policy policy expression tModel that describes their characteristics. See Web Services Policy 1.5 - Attachment specification for further details.</description>
-(04) <categoryBag>
-(05) <keyedReference
-(06) keyName="uddi-org:types:categorization"
-(07) keyValue="categorization"
-(08) tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62aB4" />
-(09) <keyedReference
-(10) keyName="uddi-org:types:checked"
-(11) keyValue="checked"
-(12) tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62aB4" />
-(13) <keyedReference
-(14) keyName="uddi-org:entityKeyValues"
-(15) keyValue="tModelKey"
-(16) tModelKey="uuid:916b87bf-0756-3919-8eae-97dfa325e5a4" />
-(17) </categoryBag>
-(18) </tModel> </pre></div></div></div></div><div class="div1">
+<h4><a name="ModelStructure3"></a>B.3.3 tModel Structure</h4><div class="exampleInner"><pre><tModel tModelKey="uuid:a27f7d45-ec90-31f7-a655-efe91433527c" >
+ <name>http://schemas.xmlsoap.org/ws/2003/03/localpolicyreference</name>
+ <description xml:lang="en">Category system used for UDDI entities to point to a
+ Web Services Policy policy expression tModel that describes their characteristics.
+ See Web Services Policy 1.5 - Attachment specification for further details.</description>
+ <categoryBag>
+ <keyedReference
+ keyName="uddi-org:types:categorization"
+ keyValue="categorization"
+ tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62aB4" />
+ <keyedReference
+ keyName="uddi-org:types:checked"
+ keyValue="checked"
+ tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62aB4" />
+ <keyedReference
+ keyName="uddi-org:entityKeyValues"
+ keyValue="tModelKey"
+ tModelKey="uuid:916b87bf-0756-3919-8eae-97dfa325e5a4" />
+ </categoryBag>
+</tModel> </pre></div></div></div></div><div class="div1">
<h2><a name="acknowledgments"></a>C. Acknowledgements (Non-Normative)</h2><p>This document is the work of the <a href="http://www.w3.org/2002/ws/policy/">W3C Web Services Policy
Working Group</a>.</p><p>
Members of the Working Group are (at the time of writing, and by
Received on Friday, 27 October 2006 22:18:51 UTC