- From: David Orchard via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 31 Oct 2006 05:39:55 +0000
- To: public-ws-policy-eds@w3.org
Update of /sources/public/2006/ws/policy In directory hutz:/tmp/cvs-serv31974 Modified Files: glossary-framework.xml ws-policy-framework.xml ws-policy-framework.html ws-policy-attachment.html ws-policy-attachment.xml glossary-attachment.xml Log Message: Implemented the <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/32">resolution</loc> titled "Hyperlink terms such as policy expression..." Index: glossary-attachment.xml =================================================================== RCS file: /sources/public/2006/ws/policy/glossary-attachment.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- glossary-attachment.xml 23 Sep 2006 05:23:23 -0000 1.4 +++ glossary-attachment.xml 31 Oct 2006 05:39:53 -0000 1.5 @@ -41,8 +41,8 @@ <loc href="ws-policy-framework.html#policy">policy</loc> </label> <def> - <p id="policy">A <term>policy</term> is a collection of - <termref def="policy_alternative">policy alternatives</termref>, </p> + <p id="policy">A <term>policy</term> is a potentially empty collection of + <termref def="policy_alternative">policy alternatives</termref>. </p> </def> </gitem> <gitem> @@ -50,8 +50,8 @@ <loc href="ws-policy-framework.html#policy_alternative">policy alternative</loc> </label> <def> - <p id="policy_alternative">a <term>policy alternative</term> - is a collection of <termref def="policy_assertion">policy assertions</termref>.</p> + <p id="policy_alternative">A <term>policy alternative</term> + is a potentially empty collection of <termref def="policy_assertion">policy assertions</termref>.</p> </def> </gitem> <gitem> @@ -98,7 +98,7 @@ </label> <def> <p id="policy_subject">A <term>policy subject</term> is an entity - (e.g., an endpoint, message, resource, interaction) with which a + (e.g., an endpoint, message, resource, operation) with which a <termref def="policy">policy</termref> can be associated. </p> </def> </gitem> Index: glossary-framework.xml =================================================================== RCS file: /sources/public/2006/ws/policy/glossary-framework.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- glossary-framework.xml 23 Sep 2006 05:23:23 -0000 1.4 +++ glossary-framework.xml 31 Oct 2006 05:39:52 -0000 1.5 @@ -13,8 +13,8 @@ <loc href="#policy">policy</loc> </label> <def> - <p>A <term>policy</term> is a collection of - <termref def="policy_alternative">policy alternatives</termref>, </p> + <p>A <term>policy</term> is a potentially empty collection of + <termref def="policy_alternative">policy alternatives</termref>. </p> </def> </gitem> <gitem> @@ -22,8 +22,19 @@ <loc href="#policy_alternative">policy alternative</loc> </label> <def> - <p>a <term>policy alternative</term> - is a collection of <termref def="policy_assertion">policy assertions</termref>.</p> + <p>A <term>policy alternative</term> + is a potentially empty collection of <termref def="policy_assertion">policy assertions</termref>.</p> + </def> + </gitem> + <gitem> + <label> + <loc href="#policy_alternative_vocabulary">policy alternative vocabulary</loc> + </label> + <def> + <p>A <term>policy alternative vocabulary</term> is the set of + all <termref def="policy_assertion_type">policy assertion + types</termref> within the <termref def="policy_alternative">policy + alternative</termref>.</p> </def> </gitem> <gitem> @@ -89,7 +100,7 @@ </label> <def> <p>A <term>policy subject</term> is an entity - (e.g., an endpoint, message, resource, interaction) with which a + (e.g., an endpoint, message, resource, operation) with which a <termref def="policy">policy</termref> can be associated. </p> </def> </gitem> Index: ws-policy-framework.xml =================================================================== RCS file: /sources/public/2006/ws/policy/ws-policy-framework.xml,v retrieving revision 1.75 retrieving revision 1.76 diff -u -d -r1.75 -r1.76 --- ws-policy-framework.xml 27 Oct 2006 22:24:06 -0000 1.75 +++ ws-policy-framework.xml 31 Oct 2006 05:39:52 -0000 1.76 @@ -458,7 +458,7 @@ on an interaction between entities (requester application, provider service, Web infrastructure component, etc). An interaction involves one or more message exchanges between two - entities. It is the responsibility of assertion authors to define + entities. It is the responsibility of <termref def='policy_assertion'>assertion</termref> 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 @@ -506,7 +506,7 @@ </div1> <div1 id="rPolicy_Expression"> <head>Policy Expression</head> - <p>This section describes how to convey policy in an interoperable form, + <p>This section describes how to convey <termref def='policy'>policy</termref> in an interoperable form, using the XML Infoset representation of a policy. <termdef id='policy_expression' term='policy expression'>A <term>policy expression</term> is an XML Infoset representation of a <termref def='policy'>policy</termref>, either in a normal form or in an equivalent compact form.</termdef> Other subsections below describe @@ -532,8 +532,8 @@ defines a normal form for <termref def='policy_expression'>policy expressions</termref> that 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 + policy, enumerating each of its <termref def='policy_alternative'>alternatives</termref> that in turn + enumerate each of their <termref def='policy_assertion'>assertions</termref>. The schema outline for the normal form of a policy expression is as follows:</p> <eg xml:space="preserve" role="needs-numbering"><wsp:Policy … > @@ -675,14 +675,14 @@ <div2 id="Compact_Policy_Expression"> <head>Compact Policy Expression</head> -<p>To express a policy in a more compact form while still using the +<p>To express a <termref def='policy'>policy</termref> in a more compact form while still using the XML Infoset, this specification defines three constructs: an attribute to decorate an <termref def='policy_assertion'>assertion</termref>, semantics for recursively nested policy operators, and a policy reference/inclusion mechanism. Each is described in the subsections below.</p> -<p>To interpret a compact policy expression in an interoperable form, +<p>To interpret a compact <termref def="policy_expression">expression</termref> in an interoperable form, a compact expression may be converted to the corresponding normal form expression by the following procedure:</p> @@ -727,7 +727,7 @@ <head>Optional Policy Assertions</head> <p>To indicate that a <termref def='policy_assertion'>policy assertion</termref> is optional, this specification defines an attribute -that is a compact authoring style for expressing a pair of policy alternatives, +that is a compact authoring style for expressing a pair of <termref def="policy_alternative">alternatives</termref>, one with and one without that assertion. The schema outline for this attribute is as follows:</p> <eg xml:space="preserve" role="needs-numbering"><<emph>Assertion</emph> ( wsp:Optional="<emph>xs:boolean</emph>" )? …> … </<emph>Assertion</emph>></eg> @@ -919,7 +919,7 @@ </div3> <div3 id="Policy_Operators"> <head>Policy Operators</head> - <p>Policies are used to convey a set of capabilities, requirements, and general characteristics of entities (see <specref ref="tocRange"/>). + <p><termref def='policy'>Policies</termref> are used to convey a set of capabilities, requirements, and general characteristics of entities (see <specref ref="tocRange"/>). These are generally expressible as a set of <termref def='policy_alternative'>policy alternatives</termref>. Policy operators (<el>wsp:Policy</el>, <el>wsp:All</el> and <el>wsp:ExactlyOne</el>) are used to group <termref def='policy_assertion'>policy assertions</termref> @@ -1326,12 +1326,12 @@ <div1 id="Security_Considerations"> <head>Security Considerations</head> -<p>It is <rfc2119>RECOMMENDED</rfc2119> that policies and -assertions be signed to prevent tampering.</p> +<p>It is <rfc2119>RECOMMENDED</rfc2119> that <termref def='policy'>policies</termref>and +<termref def='policy_assertion'>assertions</termref>be signed to prevent tampering.</p> <p>Policies <rfc2119>SHOULD NOT</rfc2119> be accepted unless they are signed and have an associated security token to specify the signer has the right to -"speak for" the scope containing the policy. That is, a relying party +"speak for" the <termref def='policy_scope'>scope</termref>containing the policy. That is, a relying party shouldn't rely on a policy unless the policy is signed and presented with sufficient credentials to pass the relying parties' acceptance criteria.</p> @@ -1343,7 +1343,7 @@ <p>This section describes the security considerations that service providers, requestors, policy authors, policy assertion authors, and policy implementers need to consider when - exposing, consuming and designing policy expressions, authoring policy assertions or + exposing, consuming and designing <termref def='policy_expression'>policy expressions</termref>, authoring policy assertions or implementing policy.</p> <div2 id="information-disclosure-threats"> <head>Information Disclosure Threats</head> @@ -2076,7 +2076,15 @@ <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> + </tr> + <tr> +<td>20061030</td> +<td>DBO</td> +<td>Implemented the + <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/32">resolution</loc> + titled "Hyperlink terms such as policy expression..." + </td> +</tr> </tbody> </table> </inform-div1> Index: ws-policy-attachment.html =================================================================== RCS file: /sources/public/2006/ws/policy/ws-policy-attachment.html,v retrieving revision 1.57 retrieving revision 1.58 diff -u -d -r1.57 -r1.58 --- ws-policy-attachment.html 27 Oct 2006 22:18:16 -0000 1.57 +++ ws-policy-attachment.html 31 Oct 2006 05:39:52 -0000 1.58 @@ -65,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="#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> +<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="#d3e3780">External Policy Attachment Conformance</a><br> 8.2 <a href="#d3e3792">WSDL 1.1 Attachment Conformance</a><br> 8.3 <a href="#d3e3801">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>] @@ -331,21 +331,21 @@ as part of their intrinsic definition. The second allows policies to be associated with arbitrary policy subjects independently from their definition.</p></div><div class="div2"> -<h3><a name="XMLElementAttachement"></a>3.3 XML Element Attachment</h3><p>It is often desirable to associate policies with Web services policy subjects represented as XML elements (i.e., WSDL 1.1 elements - Section <a href="#AttachingPolicyUsingWSDL1.1"><b>4. Attaching Policies Using WSDL 1.1</b></a> for the specific details - of WSDL attachment).</p><p>Since policy assertions are strongly typed by the authors, the precise +<h3><a name="XMLElementAttachement"></a>3.3 XML Element Attachment</h3><p>It is often desirable to associate <a title="" href="#policy">policies</a> with Web services <a title="" href="#policy_subject">policy subjects</a> represented as XML elements (i.e., WSDL 1.1 elements - Section <a href="#AttachingPolicyUsingWSDL1.1"><b>4. Attaching Policies Using WSDL 1.1</b></a> for the specific details + of WSDL attachment).</p><p>Since <a title="" href="#policy_assertion">policy assertions</a> are strongly typed by the authors, the precise semantics of how element policy is to be processed once discovered is domain-specific; however, implementations are likely to follow the precedent specified in the section below 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><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 + <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 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 @@ -361,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><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>, +<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>, 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" @@ -391,12 +391,12 @@ 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><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"> +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"> <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> @@ -415,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><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"> +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"> <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> @@ -461,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><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 +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 <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"> @@ -1121,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><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> +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> <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> @@ -1140,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><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> 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> match the fixed <code class="attr">tModelKey</code> from the remote policy reference category system as defined above. The <code class="elt">instanceParms</code> @@ -1165,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><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 +<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 <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 @@ -1209,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><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> +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> <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 @@ -1227,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><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> 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> 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 @@ -1257,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><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 +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 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><find_tModel +be used: </p><div class="exampleInner"><pre>(01) <find_tModel xmlns="urn:uddi-org:api_v3" > - <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 +(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 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 @@ -1296,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="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> +<h3><a name="d3e3780"></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="d3e3792"></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="d3e3792"></a>8.3 WSDL 2.0 Attachment Conformance</h3><p> +<h3><a name="d3e3801"></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"> @@ -1493,18 +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><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"> +<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 +(04) Web Services Policy Attachment policy expression that describes their characteristics. +(05) See Web Services Policy 1.5 - Attachment specification for further details.</description> +(06) <categoryBag> +(07) <keyedReference +(08) keyName="uddi-org:types:categorization" +(09) keyValue="categorization" +(10) tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4" /> +(11) </categoryBag> +(12) </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 @@ -1520,17 +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><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"> +<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 +(04) to characterize them as Web Services Policy – based policy expressions.</description> +(05) <categoryBag> +(06) <keyedReference +(07) keyName="uddi-org:types:categorization" +(08) keyValue="categorization" +(09) tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4" /> +(10) </categoryBag> +(11) </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 @@ -1549,26 +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><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"> +<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 +(04) Web Services Policy policy expression tModel that describes their characteristics. +(05) See Web Services Policy 1.5 - Attachment specification for further details.</description> +(06) <categoryBag> +(07) <keyedReference +(08) keyName="uddi-org:types:categorization" +(09) keyValue="categorization" +(10) tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62aB4" /> +(11) <keyedReference +(12) keyName="uddi-org:types:checked" +(13) keyValue="checked" +(14) tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62aB4" /> +(15) <keyedReference +(16) keyName="uddi-org:entityKeyValues" +(17) keyValue="tModelKey" +(18) tModelKey="uuid:916b87bf-0756-3919-8eae-97dfa325e5a4" /> +(19) </categoryBag> +(20) </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 @@ -1668,4 +1668,6 @@ <a href="http://www.w3.org/2006/07/13-ws-policy-minutes.html#action10">summary of Action 10 from F2F</a> replaced "subject" instances with "policy subject" </td></tr><tr><td rowspan="1" colspan="1">20061012</td><td rowspan="1" colspan="1">PY</td><td rowspan="1" colspan="1">Updated "Changes in this Version" section (Appendix D)</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></tbody></table><br></div></div></body></html> \ No newline at end of file + </td></tr><tr><td rowspan="1" colspan="1">20061030</td><td rowspan="1" colspan="1">DBO</td><td rowspan="1" colspan="1">Implemented the + <a href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/32">resolution</a> + titled "Hyperlink terms such as policy expression..." </td></tr></tbody></table><br></div></div></body></html> \ No newline at end of file Index: ws-policy-framework.html =================================================================== RCS file: /sources/public/2006/ws/policy/ws-policy-framework.html,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- ws-policy-framework.html 27 Oct 2006 22:24:06 -0000 1.59 +++ ws-policy-framework.html 31 Oct 2006 05:39:52 -0000 1.60 @@ -300,7 +300,7 @@ on an interaction between entities (requester application, provider service, Web infrastructure component, etc). An interaction involves one or more message exchanges between two - entities. It is the responsibility of assertion authors to define + entities. It is the responsibility of <a title="policy assertion" href="#policy_assertion">assertion</a> 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 @@ -336,7 +336,7 @@ assertions in new alternatives while allowing entities to continue to use old alternatives in a backward-compatible manner.</p></div></div><div class="div1"> -<h2><a name="rPolicy_Expression"></a>4. Policy Expression</h2><p>This section describes how to convey policy in an interoperable form, +<h2><a name="rPolicy_Expression"></a>4. Policy Expression</h2><p>This section describes how to convey <a title="policy" href="#policy">policy</a> in an interoperable form, using the XML Infoset representation of a policy. [<a name="policy_expression" title="policy expression">Definition</a>: A <b>policy expression</b> is an XML Infoset representation of a <a title="policy" href="#policy">policy</a>, either in a normal form or in an equivalent compact form.] Other subsections below describe @@ -354,13 +354,13 @@ <h3><a name="Normal_Form_Policy_Expression"></a>4.1 Normal Form Policy Expression</h3><p>To facilitate interoperability, this specification defines a normal form for <a title="policy expression" href="#policy_expression">policy expressions</a> that 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><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> + policy, enumerating each of its <a title="policy alternative" href="#policy_alternative">alternatives</a> that in turn + enumerate each of their <a title="policy assertion" href="#policy_assertion">assertions</a>. 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> 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 @@ -395,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><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 +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 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 @@ -429,12 +429,12 @@ xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" > (02) <!-- Details omitted for readability --> (03) </wsp:Policy></pre></div></div><div class="div2"> -<h3><a name="Compact_Policy_Expression"></a>4.3 Compact Policy Expression</h3><p>To express a policy in a more compact form while still using the +<h3><a name="Compact_Policy_Expression"></a>4.3 Compact Policy Expression</h3><p>To express a <a title="policy" href="#policy">policy</a> in a more compact form while still using the XML Infoset, this specification defines three constructs: an attribute to decorate an <a title="policy assertion" href="#policy_assertion">assertion</a>, semantics for recursively nested policy operators, and a policy reference/inclusion mechanism. Each is described in the subsections -below.</p><p>To interpret a compact policy expression in an interoperable form, +below.</p><p>To interpret a compact <a title="policy expression" href="#policy_expression">expression</a> in an interoperable form, a compact expression may be converted to the corresponding normal form expression by the following procedure:</p><ol><li><p>Start with the <strong>[document element]</strong> property D of the Document Information Item of the @@ -460,15 +460,15 @@ from doing so.</p><div class="div3"> <h4><a name="Optional_Policy_Assertions"></a>4.3.1 Optional Policy Assertions</h4><p>To indicate that a <a title="policy assertion" href="#policy_assertion">policy assertion</a> is optional, this specification defines an attribute -that is a compact authoring style for expressing a pair of policy alternatives, +that is a compact authoring style for expressing a pair of <a title="policy alternative" href="#policy_alternative">alternatives</a>, one with and one without that assertion. The schema outline for -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 +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 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 @@ -492,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><<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 +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 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. @@ -602,7 +602,7 @@ alternative (Lines 03-18) contains a single nested algorithm suite alternative (Line 08) as does the second alternative (Lines 19-34 and 24). </p></div><div class="div3"> -<h4><a name="Policy_Operators"></a>4.3.3 Policy Operators</h4><p>Policies are used to convey a set of capabilities, requirements, and general characteristics of entities (see <a href="#tocRange"><b>1. Introduction</b></a>). +<h4><a name="Policy_Operators"></a>4.3.3 Policy Operators</h4><p><a title="policy" href="#policy">Policies</a> are used to convey a set of capabilities, requirements, and general characteristics of entities (see <a href="#tocRange"><b>1. Introduction</b></a>). These are generally expressible as a set of <a title="policy alternative" href="#policy_alternative">policy alternatives</a>. Policy operators (<code class="elt">wsp:Policy</code> , <code class="elt">wsp:All</code> and <code class="elt">wsp:ExactlyOne</code> ) are used to group <a title="policy assertion" href="#policy_assertion">policy assertions</a> @@ -617,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><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 +<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 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy" xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" > (02) <sp:RequireDerivedKeys wsp:Optional="true" /> @@ -717,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><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 +<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 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 @@ -839,17 +839,17 @@ intersection, assertion authors are encouraged to factor assertions such that two assertions of the same assertion type are always (or at least typically) compatible.</p></div></div><div class="div1"> -<h2><a name="Security_Considerations"></a>5. Security Considerations</h2><p>It is <span class="rfc2119">RECOMMENDED</span> that policies and -assertions be signed to prevent tampering.</p><p>Policies <span class="rfc2119">SHOULD NOT</span> be accepted unless they are signed and have an +<h2><a name="Security_Considerations"></a>5. Security Considerations</h2><p>It is <span class="rfc2119">RECOMMENDED</span> that <a title="policy" href="#policy">policies</a>and +<a title="policy assertion" href="#policy_assertion">assertions</a>be signed to prevent tampering.</p><p>Policies <span class="rfc2119">SHOULD NOT</span> be accepted unless they are signed and have an associated security token to specify the signer has the right to -"speak for" the scope containing the policy. That is, a relying party +"speak for" the <a title="policy scope" href="#policy_scope">scope</a>containing the policy. That is, a relying party shouldn't rely on a policy unless the policy is signed and presented with sufficient credentials to pass the relying parties' acceptance criteria.</p><p>It should be noted that the mechanisms described in this document could be secured as part of a SOAP message [<cite><a href="#SOAP11">SOAP 1.1</a></cite>, <cite><a href="#SOAP12">SOAP 1.2 Messaging Framework</a></cite>] using WS-Security [<cite><a href="#WS-Security">WS-Security 2004</a></cite>] or embedded within other objects using object-specific security mechanisms.</p><p>This section describes the security considerations that service providers, requestors, policy authors, policy assertion authors, and policy implementers need to consider when - exposing, consuming and designing policy expressions, authoring policy assertions or + exposing, consuming and designing <a title="policy expression" href="#policy_expression">policy expressions</a>, authoring policy assertions or implementing policy.</p><div class="div2"> <h3><a name="information-disclosure-threats"></a>5.1 Information Disclosure Threats</h3><p>A policy is used to represent the capabilities and requirements of a Web Service. Policies may include sensitive information. Malicious consumers may acquire sensitive @@ -887,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><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 + 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 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 @@ -1254,4 +1254,7 @@ </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 + </td></tr><tr><td rowspan="1" colspan="1">20061030</td><td rowspan="1" colspan="1">DBO</td><td rowspan="1" colspan="1">Implemented the + <a href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/32">resolution</a> + titled "Hyperlink terms such as policy expression..." + </td></tr></tbody></table><br></div></div></body></html> \ No newline at end of file Index: ws-policy-attachment.xml =================================================================== RCS file: /sources/public/2006/ws/policy/ws-policy-attachment.xml,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- ws-policy-attachment.xml 27 Oct 2006 08:35:52 -0000 1.56 +++ ws-policy-attachment.xml 31 Oct 2006 05:39:53 -0000 1.57 @@ -496,9 +496,9 @@ </div2> <div2 id="XMLElementAttachement"> <head>XML Element Attachment</head> -<p>It is often desirable to associate policies with Web services policy subjects represented as XML elements (i.e., WSDL 1.1 elements - Section <specref ref="AttachingPolicyUsingWSDL1.1"/> for the specific details +<p>It is often desirable to associate <termref def='policy'>policies</termref> with Web services <termref def='policy_subject'>policy subjects</termref> represented as XML elements (i.e., WSDL 1.1 elements - Section <specref ref="AttachingPolicyUsingWSDL1.1"/> for the specific details of WSDL attachment).</p> -<p>Since policy assertions are strongly typed by the authors, the precise +<p>Since <termref def='policy_assertion'>policy assertions</termref> are strongly typed by the authors, the precise semantics of how element policy is to be processed once discovered is domain-specific; however, implementations are likely to follow the precedent specified in the section below @@ -2879,6 +2879,13 @@ <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/57">57</loc> PaulC's comments. </td> </tr> + <tr> +<td>20061030</td> +<td>DBO</td> +<td>Implemented the + <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/32">resolution</loc> + titled "Hyperlink terms such as policy expression..." </td> +</tr> </tbody> </table> </inform-div1>
Received on Tuesday, 31 October 2006 05:40:14 UTC