<?xml version="1.0" encoding="utf-8"?>
<!-- $Id: ws-policy-framework-diff20060927.xml,v 1.3 2006/10/13 20:39:08 pyendlur2 Exp $ -->
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.10//EN" "xmlspec.dtd" [
<!ENTITY prefix "ws-policy-framework">
<!ENTITY % entities SYSTEM "entities.dtd" >
%entities;
<!ENTITY status SYSTEM "status.xml">
<!ENTITY document.status "Editors' copy $Date: 2006/10/13 20:39:08 $">
<!ENTITY framework-title "&framework.title;">
<!ENTITY prevloc "">
<!ENTITY hellip "&#8230;">
]><spec w3c-doctype="wd" role="editors-copy">
    <header>
        <title>Web Services Policy 1.5 - Framework</title>
        <w3c-designation>ws-policy-framework.html</w3c-designation>
        <w3c-doctype>Editors' copy $Date: 2006/10/13 20:39:08 $</w3c-doctype>
        <pubdate>
            <day>@@</day>
            <month>@@@@</month>
            <year>@@@@</year>
        </pubdate>
        <publoc>
            <loc href="ws-policy-framework.html" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">ws-policy-framework.html</loc>
        </publoc>
	
<!--
	<prevlocs>
            <loc href="&prevloc;">&prevloc;</loc>
        </prevlocs>
-->
        <latestloc>
            <loc href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;charset=utf-8" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;charset=utf-8</loc>
        </latestloc>
        <authlist>
            <author role="editor">
                <name>Asir S Vedamuthu</name>
                <affiliation>Microsoft Corporation</affiliation>
            </author>
            <author role="editor">
                <name>David Orchard</name>
                <affiliation>BEA Systems, Inc.</affiliation>
            </author>
            <author role="editor">
                <name>Maryann Hondo</name>
                <affiliation>IBM Corporation</affiliation>
            </author>
            <author role="editor">
                <name>Toufic Boubez</name>
                <affiliation>Layer 7 Technologies</affiliation>
            </author>
            <author role="editor">
                <name>Prasad Yendluri</name>
                <affiliation>webMethods, Inc.</affiliation>
            </author>            
        </authlist>
	<abstract>
	    <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
	  services specifications to describe a broad range of service
	  requirements and capabilities.</p>
	</abstract>
	<status><p></p></status>
	<langusage>
            <language id="en-US">English</language>
        </langusage>
        <revisiondesc>
            <p>Last Modified: $Date: 2006/10/13 20:39:08 $</p>
        </revisiondesc>
    </header>
    <body>
        <div1 id="tocRange">
            <head>Introduction</head>

            <p>Web Services Policy 1.5 - Framework defines a framework and a model for expressing policies that
            refer to domain-specific capabilities, requirements, and general characteristics of
            entities in a Web services-based system.
            </p>

	    <p>A policy is a collection of 
	    <phrase diff="del">policy </phrase><phrase diff="add">policy</phrase><phrase diff="del">alternatives, </phrase><phrase diff="add">alternatives,
	    </phrase>where a policy alternative  
	    is a collection of policy <phrase diff="add">assertions.</phrase><phrase diff="del">assertions.
		</phrase>A policy assertion  
		represents an individual requirement, capability, or other property of a behavior.  
	    A policy expression 
		is an XML Infoset representation of a <phrase diff="add">policy,</phrase><phrase diff="del">policy, 
		</phrase>either in a normal form or in an equivalent compact form. Some policy assertions
	    specify traditional requirements and capabilities that
	    will ultimately manifest on the wire (e.g., authentication
	    scheme, transport protocol selection). Other policy
	    assertions have no wire manifestation yet are critical to
	    proper service selection and usage (e.g., privacy policy,
	    QoS characteristics). Web Services Policy 1.5 - Framework provides a single policy
	    language to allow both kinds of assertions to be expressed and evaluated 
	    in a consistent manner.</p>

<p>Web Services Policy 1.5 - Framework does not specify policy discovery or 
	    policy <phrase diff="add">attachments.  </phrase><phrase diff="del">attachment.
	    </phrase>A  
	    policy attachment is a mechanism for associating 
	    policy with one or more policy <phrase diff="add">scopes,</phrase><phrase diff="del">scopes.
				A </phrase><phrase diff="add">where a </phrase>policy scope is a collection of 
	 
	    policy subjects to which a policy may apply. 
				A policy subject is an entity 
	    (e.g., an endpoint, message, resource, interaction) with which a 
	    policy can be associated.    

	    Other specifications are
	    free to define technology-specific mechanisms for
	    associating policy with various entities and
	    resources. Web Services Policy 1.5 - Attachment [<bibref ref="WS-PolicyAttachment"></bibref>]
	    defines such mechanisms, especially for associating policy
	    with arbitrary XML elements [<bibref ref="XML10"></bibref>], WSDL artifacts [<bibref ref="WSDL11"></bibref>, <bibref ref="WSDL20"></bibref>], and UDDI
	    elements [<bibref ref="UDDIAPI20"></bibref>, <bibref ref="UDDIDataStructure20"></bibref>, <bibref ref="UDDI30"></bibref>].</p>


        <div2 id="Example">
            <head>Example</head>
            <p><specref ref="ex-wsp-use-security-assertations" diff="add"></specref><phrase diff="del">The following example </phrase>illustrates a security <termref def="policy_expression">policy expression</termref> using
                assertions defined in WS-SecurityPolicy [<bibref ref="WS-SecurityPolicy"></bibref>]:</p>
            
            <example id="ex-wsp-use-security-assertations" diff="chg">
                <head>Use of Web Services Policy with security policy assertions.</head>
                <eg xml:space="preserve">
                
(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;sp:wsp:All&gt;
(04)        &lt;sp:SignedParts/&gt;
(05)           &lt;sp:Body/&gt;
(06)        &lt;/sp:SignedParts/&gt;
(07)     &lt;/wsp:All&gt;
(08)     &lt;sp:wsp:All&gt;
(09)        &lt;sp:EncryptedParts/&gt;
(10)           &lt;sp:Body/&gt;
(11)        &lt;/sp:EncryptedParts/&gt;
(12)     &lt;/wsp:All&gt;
(13)   &lt;/wsp:ExactlyOne&gt;
(14) &lt;/wsp:Policy&gt;</eg> 
            </example>     
            <p>Lines <phrase diff="chg">(03-06) </phrase>represent <phrase diff="chg">one
                </phrase>policy <phrase diff="add">alternative </phrase>for <phrase diff="chg">signing a message </phrase><phrase diff="add">body.</phrase></p>
            
            <p diff="add"><phrase diff="add">Lines</phrase><phrase diff="del">required </phrase><phrase diff="chg">(08-11) </phrase><phrase diff="add">represents</phrase><phrase diff="del">performing
                cryptographic </phrase><phrase diff="chg">a second policy alternative </phrase><phrase diff="add">for</phrase><phrase diff="del">asymmetric
                key-based </phrase><phrase diff="add">encrypting a</phrase><phrase diff="del">security </phrase><phrase diff="add">message body. </phrase><phrase diff="del">tokens.</phrase></p>
            <p>Lines <phrase diff="chg">(02-13) illustrates </phrase>the <el>ExactlyOne</el> policy
                operator. Policy operators group policy assertions into
                policy alternatives. A valid interpretation of the policy
                above would be that an invocation of a Web service <phrase diff="add">will</phrase><phrase diff="del">uses
                one </phrase><phrase diff="chg">either sign or encrypt the message </phrase><phrase diff="add">body.</phrase><phrase diff="del">03-04)
                specified.</phrase></p>           
           
        </div2>
	</div1>
	<div1 id="Notation_Terminlogy" diff="chg">
	  <head>Notations and Terminology</head>
	  <p>This section specifies the notations, namespaces, and terminology used in this specification.</p>
	    <div2 id="Notational_Conventions">
	      <head>Notational Conventions</head>

	    <p>This specification uses the following syntax within normative outlines: </p>
	    <ulist>
	      <item>
		<p>The syntax appears as an XML instance, but values
		in <emph>italics</emph> indicate data types instead of
		literal values.</p>
	      </item>
	      <item>
		<p>Characters are appended to elements and attributes
		to indicate cardinality:</p>
		<ulist>
		  <item><p>"?" (0 or 1)</p></item>
		  <item><p>"*" (0 or more)</p></item>
		  <item><p>"+" (1 or more)</p></item>
		</ulist>
	      </item>
	    <item>
	      <p>The character "|" is used to indicate a choice
	      between alternatives.</p>
	    </item>
	    <item>
	      <p>The characters "(" and ")" are used to indicate that
	      contained items are to be treated as a group with
	      respect to cardinality or choice.</p>
	    </item>
	    <item>
	      <p>This document relies on the XML Information Set [<bibref ref="XMLInfoset"></bibref>]. Information items properties are
	      indicated by the style <emph role="infoset-property">infoset property</emph>.</p>
	    </item>
	    <item>
	      <p>XML namespace prefixes (see <specref ref="nsprefix"></specref>)
	      are used to indicate the namespace of the element or
	      attribute being defined.</p>
	    </item>
	    <item>
	     	<p>The ellipses characters "…" are used to
	    indicate a point of extensibility that allows other
	    Element or Attribute Information Items.</p>
	    </item>
	  </ulist>
	  <p>Elements and Attributes defined by this specification are referred to in the text of this document using 
XPath 1.0 [XPATH 1.0] expressions. Extensibility points are referred to using an extended version of this 
syntax:</p>
    <ulist>
        <item>
        	<p>An element extensibility point is referred to using {any} in place of the element name. This 
indicates that any element name can be used, from any <phrase diff="del">namespace other than the http://www.w3.org/2006/07/ws-policy 
</phrase>namespace. </p>
		</item>
		<item>
			<p>An attribute extensibility point is referred to using @{any} in place of the attribute name. This 
indicates that any attribute name can be used, from any namespace. </p>
		</item>
	  </ulist>

	  <p>
	    Normative text within this specification takes precedence
	    over normative outlines, which in turn take precedence
	    over the XML Schema [<bibref ref="XMLSchemaPart1"></bibref>]
	    descriptions.
	  </p>
	  </div2>
      
	  <div2 id="Extensibility">
	    <head>Extensibility</head>
	      <p>Within normative outlines, ellipses (i.e., "…") 
	      indicate a point of extensibility that allows other Element or Attribute 
	      Information Items. Information Items <rfc2119>MAY</rfc2119> be added at the 
	      indicated extension points but <rfc2119>MUST NOT</rfc2119> contradict the semantics 
	      of the element information item indicated by the <emph role="infoset-property">parent</emph> 
	      or <emph role="infoset-property">owner</emph> property of the extension. If an 
	      Attribute Information Item is not recognized, it <rfc2119>SHOULD</rfc2119> 
	      be ignored; if an Element Information Item is not recognized, it 
	      <rfc2119><phrase diff="chg">MUST</phrase></rfc2119> be treated as an assertion.</p>     
	  </div2>
	  <div2 id="XML_Namespaces">
	    <head>XML Namespaces</head>
	    
                <p> This specification uses a number of namespace prefixes throughout; they are
                    listed in <specref ref="nsprefix"></specref>. Note that the choice of any namespace
                    prefix is arbitrary and not semantically significant (see [<bibref ref="XML-NS"></bibref>]).</p>

                <table summary="Namespace prefixes usage in this specification" id="nsprefix" border="1" cellspacing="0" cellpadding="5">
                    <caption>Prefixes and Namespaces used in this specification</caption>
<thead>
<tr>
<th rowspan="1" colspan="1">Prefix</th>
<th rowspan="1" colspan="1">Namespace</th>
<th rowspan="1" colspan="1">Specification</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="1" colspan="1"><code>sp</code></td>
<td rowspan="1" colspan="1"><code>http://schemas.xmlsoap.org/ws/2005/07/securitypolicy</code></td>
<td rowspan="1" colspan="1">[<bibref ref="WS-SecurityPolicy"></bibref>]</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><code>wsp</code></td>
<td rowspan="1" colspan="1"><code><phrase diff="chg">http://www.w3.org/@@@@/@@/ws-policy</phrase></code></td>
<td rowspan="1" colspan="1">This specification</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><code>wsu</code></td>
<td rowspan="1" colspan="1"><code>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd</code></td>
<td rowspan="1" colspan="1">[<bibref ref="WS-Security"></bibref>]</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><code>xs</code></td>
<td rowspan="1" colspan="1"><code>http://www.w3.org/2001/XMLSchema</code></td>
<td rowspan="1" colspan="1">[<bibref ref="XMLSchemaPart1"></bibref>]</td>
</tr>
</tbody>
</table>
                <p>All information items defined by this specification
                are identified by the XML namespace URI [<bibref ref="XML-NS"></bibref>] <code><phrase diff="chg">http://www.w3.org/@@@@/@@/ws-policy</phrase></code>. A <xspecref href="http://www.w3.org/@@@@/@@/ws-policy" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">normative XML Schema</xspecref> [<bibref ref="XMLSchemaPart1"></bibref>, <bibref ref="XMLSchemaPart2"></bibref>] document can be obtained by
                dereferencing the XML namespace URI.</p>
                
	      <p>It is the intent of the W3C Web Services Policy Working Group that 
	      the Web Services Policy 1.5 - Framework and Web Services Policy 1.5 - Attachment XML namespace URI will not change 
	      arbitrarily with each subsequent revision of the corresponding 
	      XML Schema documents but rather change only when a subsequent revision, 
	      published as a WD, CR or PR draft results in non-backwardly compatible 
	      changes from a previously published WD, CR or PR draft of the specification.</p> 
	      <p>Under this policy, the following are examples of backwards compatible 
	      changes that would not result in assignment of a new XML namespace URI:</p>

	      <ulist>
	          <item>
	              <p>Addition of new global element, attribute, complexType 
	              and simpleType definitions.</p></item>
	          <item>
	              <p>Addition of new elements or attributes in locations 
	              covered by a previously specified wildcard.</p></item>
	          <item>
	              <p>Modifications to the pattern facet of a type definition for which the 
	              value-space of the previous definition remains valid or for 
	              which the value-space of the <phrase diff="add">vast majority</phrase><phrase diff="del">preponderance </phrase>of 
	              <phrase diff="chg">instances </phrase>would remain valid.</p></item>
	          <item>
	              <p>Modifications to the cardinality of elements 
	              <phrase diff="add">(i.e. modifications to minOccurs or maxOccurs attribute value of an element declaration) 
	              </phrase>for which the value-space of possible instance documents conformant to 
	              the previous revision of the schema would still be valid 
	              with regards to the revised cardinality rule.</p></item>
	      </ulist>	      

	    </div2>
	    <div2 id="Terminology">
	      <head>Terminology</head>

	    <p>
	      The keywords "<rfc2119>MUST</rfc2119>", "<rfc2119>MUST
	      NOT</rfc2119>", "<rfc2119>REQUIRED</rfc2119>",
	      "<rfc2119>SHALL</rfc2119>", "<rfc2119>SHALL
	      NOT</rfc2119>", "<rfc2119>SHOULD</rfc2119>",
	      "<rfc2119>SHOULD NOT</rfc2119>",
	      "<rfc2119>RECOMMENDED</rfc2119>",
	      "<rfc2119>MAY</rfc2119>", and
	      "<rfc2119>OPTIONAL</rfc2119>" in this document are to be
	      interpreted as described in RFC 2119 [<bibref ref="RFC2119"></bibref>].
	    </p>
	    
<p>We introduce the following terms that are used throughout this document:</p>
 
<glist>
   <gitem diff="add">
      <label>
         <loc href="#nested_policy_expression" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">nested policy expression</phrase></loc>
      </label>
      <def>
         <p><phrase diff="add">A </phrase><term><phrase diff="add">nested policy expression</phrase></term> <phrase diff="add">is a </phrase><termref def="policy_expression"><phrase diff="add">policy expression</phrase></termref> <phrase diff="add">that is an Element Information Item in the </phrase><emph role="infoset-property"><phrase diff="add">children</phrase></emph> <phrase diff="add">property of a </phrase><termref def="policy_assertion"><phrase diff="add">policy assertion</phrase></termref><phrase diff="add">.</phrase></p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy</loc>
      </label>
      <def>
         <p>A <term>policy</term> is a <phrase diff="add">potentially empty </phrase>collection of 
	    <termref def="policy_alternative">policy alternatives</termref><phrase diff="chg">. </phrase></p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_alternative" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy alternative</loc>
      </label>
      <def>
         <p><phrase diff="chg">A </phrase><term>policy alternative</term> 
	    is a <phrase diff="add">potentially empty </phrase>collection of <termref def="policy_assertion">policy assertions</termref>.</p>
      </def>
   </gitem>
   <gitem diff="add">
      <label>
         <loc href="#policy_alternative_vocabulary" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">policy alternative vocabulary</phrase></loc>
      </label>
      <def>
         <p><phrase diff="add">A </phrase><term><phrase diff="add">policy alternative vocabulary</phrase></term> <phrase diff="add">is the set of
	    all </phrase><termref def="policy_assertion_type"><phrase diff="add">policy assertion
	    types</phrase></termref> <phrase diff="add">within the </phrase><termref def="policy_alternative"><phrase diff="add">policy
	    alternative</phrase></termref><phrase diff="add">.</phrase></p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_assertion" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy assertion</loc>
      </label>
      <def>
         <p>A <term>policy assertion</term> 
		represents an individual requirement, capability, or other property of a behavior.</p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_assertion_parameter" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy assertion parameter</loc>
      </label>
      <def>
         <p>A <term>policy assertion parameter</term> 
	    qualifies the behavior indicated by a <termref def="policy_assertion">policy assertion</termref>.</p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_assertion_type" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy assertion type</loc>
      </label>
      <def>
         <p>A <term>policy assertion type</term> 
	    represents a class of <termref def="policy_assertion">policy assertions</termref> and implies a 
	    schema for the assertion and assertion-specific semantics.</p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_attachment" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy attachment</loc>
      </label>
      <def>
         <p>A 
	    <term>policy attachment</term> is a mechanism for associating 
	    <termref def="policy">policy</termref> with one or more <termref def="policy_scope">policy scopes</termref>.</p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_expression" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy expression</loc>
      </label>
      <def>
         <p>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.</p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_scope" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy scope</loc>
      </label>
      <def>
         <p>A <term>policy scope</term> is a collection of 
	    <termref def="policy_subject">policy subjects</termref> to which a policy may apply.</p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_subject" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy subject</loc>
      </label>
      <def>
         <p>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. </p>
      </def>
   </gitem>
   <gitem>
      <label>
         <loc href="#policy_vocabulary" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">policy vocabulary</loc>
      </label>
      <def>
         <p>A <term>policy vocabulary</term> is the set of all 
	    <termref def="policy_assertion_type">policy assertion types</termref> used in a policy.</p>
      </def>
   </gitem>
</glist>
	    </div2>
	</div1>
	<div1 id="Policy_Model">
	  <head>Policy Model</head>

	  <p>This section defines an abstract model for policies and for operations upon policies.</p>
	    <p>The descriptions below use XML Infoset terminology for convenience of description. However, this abstract model itself is independent of how it is represented as an XML Infoset. </p>
	  <div2 id="rPolicy_Assertion">
	    <head>Policy Assertion</head>
        
		
	    <p><termdef id="policy_assertion" term="policy assertion" diff="add"><phrase diff="add">A </phrase><term><phrase diff="add">policy assertion</phrase></term> 
		<phrase diff="add">represents an individual requirement, capability, or other property of a behavior.</phrase></termdef> A <termref def="policy_assertion">policy
	    assertion</termref> identifies a behavior that is a
	    requirement <phrase diff="chg">or capability </phrase>of a <termref def="policy_subject">policy
	    subject</termref>.   Assertions indicate domain-specific (e.g.,
	    security, transactions) semantics and are expected to be
	    defined in separate, domain-specific specifications.</p>

	    <p>Assertions are <phrase diff="del">strongly </phrase>typed by the <phrase diff="del">domain </phrase>authors
	    that define them.  <termdef id="policy_assertion_type" term="policy assertion type" diff="add"><phrase diff="add">A </phrase><term><phrase diff="add">policy assertion type</phrase></term> 
	    <phrase diff="add">represents a class of </phrase><termref def="policy_assertion"><phrase diff="add">policy assertions</phrase></termref> <phrase diff="add">and implies a 
	    schema for the assertion and assertion-specific semantics.</phrase></termdef>  The <termref def="policy_assertion_type">policy assertion
	    type</termref> is identified only by the XML Infoset <emph role="infoset-property">namespace name</emph> and <emph role="infoset-property">local name</emph> properties (that
	    is, the qualified name or QName) of the root Element
	    Information Item representing the assertion.    
	    <phrase diff="del">A policy assertion type 
	    represents a class of policy assertions and implies a 
	    schema for the assertion and assertion-specific semantics.
	    </phrase>Assertions of
	    a given type <rfc2119>MUST</rfc2119> be consistently
	    interpreted independent of their <termref def="policy_subject">policy subjects</termref>.</p>

	    <p><phrase diff="add">Authors</phrase><phrase diff="del">Domain authors </phrase><rfc2119>MAY</rfc2119> define that an assertion contains a
	    <termref def="policy_expression">policy
	        expression</termref> <phrase diff="add">(as defined in </phrase><specref ref="rPolicy_Expression" diff="add"></specref><phrase diff="add">) </phrase>as one of its <emph role="infoset-property">children</emph>.  <termref def="nested_policy_expression" diff="add"><phrase diff="add">Nested policy</phrase><phrase diff="del">Policy
	    expression </phrase><phrase diff="add">expression(s)</phrase></termref><phrase diff="del">nesting </phrase><phrase diff="chg">are </phrase>used by <phrase diff="del">domain </phrase>authors to further
	    qualify one or more specific aspects of the original
	    assertion. For example, security policy <phrase diff="del">domain </phrase>authors may
	    define an assertion describing a set of security
	    algorithms to qualify the specific behavior of a security
	    binding assertion. </p>

	    <p>The XML Infoset of a <termref def="policy_assertion">policy assertion</termref> <rfc2119>MAY</rfc2119> contain a non-empty <emph role="infoset-property">attributes</emph> property and/or a non-empty <emph role="infoset-property">children</emph>
	        property. Such <phrase diff="add">properties are</phrase><phrase diff="del">content </phrase><termref def="policy_assertion_parameter" diff="add"><phrase diff="add">policy assertion parameters</phrase></termref> 
	        <phrase diff="add">and </phrase><rfc2119>MAY</rfc2119> be used to  
	        parameterize the behavior indicated by the assertion.  
	    <termdef id="policy_assertion_parameter" term="policy assertion parameter">A <term>policy assertion parameter</term> 
	    qualifies the behavior indicated by a <termref def="policy_assertion">policy assertion</termref>.</termdef>
	    For example, an
	    assertion identifying support for a specific reliable
	    messaging mechanism might include an attribute information
	    item to indicate how long an endpoint will wait before
	    sending an acknowledgement. </p>

	    <p><phrase diff="add">Authors</phrase><phrase diff="del">Domain authors </phrase>should be cognizant of the processing
	    requirements when defining complex assertions containing
	    <termref def="policy_assertion_parameter" diff="add"><phrase diff="add">policy</phrase><phrase diff="del">additional </phrase>assertion <phrase diff="add">parameters</phrase></termref><phrase diff="del">content </phrase>or <termref def="nested_policy_expression" diff="add">nested policy
	    <phrase diff="add">expressions</phrase></termref><phrase diff="add">.</phrase><phrase diff="del">expressions. </phrase>Specifically, <phrase diff="del">domain </phrase>authors are encouraged
	    to consider when the identity of the root Element
	    Information Item alone is enough to convey the requirement
	    or capability.</p>

	  </div2>
	  <div2 id="rPolicy_Alternative">
	    <head>Policy Alternative</head>
   
		   
	    <p><termdef id="policy_alternative" term="policy alternative" diff="add">A <term>policy
	    <phrase diff="del">alternative </phrase><phrase diff="add">alternative</phrase></term> 
	    is a <phrase diff="del">logical construct which
	    represents a </phrase>potentially empty collection of <termref def="policy_assertion">policy assertions</termref>.</termdef> An
	    alternative with zero assertions indicates no
	    behaviors. An alternative with one or more assertions
	    indicates behaviors implied by those, and only those
	    assertions. <termdef id="policy_vocabulary" term="policy vocabulary" diff="add"><phrase diff="add">A

	    </phrase><phrase diff="del">The vocabulary of a </phrase><term>policy <phrase diff="add">vocabulary</phrase></term><phrase diff="del">alternative </phrase>is the set of
	    <phrase diff="del">all </phrase><phrase diff="add">all 
	    </phrase><termref def="policy_assertion_type">policy assertion types</termref> <phrase diff="chg">used in </phrase><phrase diff="add">a policy.</phrase></termdef>
	   <termdef id="policy_alternative_vocabulary" term="policy alternative vocabulary" diff="add"><phrase diff="del">alternative. 
	    </phrase>A <term>policy <phrase diff="add">alternative </phrase>vocabulary</term> is the set of
	    all <termref def="policy_assertion_type">policy assertion
	    types</termref> <phrase diff="add">within</phrase><phrase diff="del">used in </phrase><phrase diff="chg">the </phrase><termref def="policy_alternative"><phrase diff="add">policy</phrase><phrase diff="del">policy.
	    </phrase><phrase diff="add">alternative</phrase></termref><phrase diff="add">.</phrase></termdef>
	    <phrase diff="add">When an</phrase><phrase diff="del">An </phrase>assertion whose type is part of the policy's vocabulary <phrase diff="del">but </phrase>is not included <phrase diff="del">in
	    </phrase><phrase diff="add">in a policy alternative, the</phrase><phrase diff="del">an </phrase><phrase diff="add">policy </phrase>alternative <phrase diff="chg">without the assertion </phrase><phrase diff="add">type
	    indicates that the assertion will not be applied in</phrase><phrase diff="del">by </phrase>the <phrase diff="add">context of the attached
	    policy subject. See the example in Section </phrase><specref ref="Optional_Policy_Assertions" diff="add"></specref><phrase diff="del">alternative.</phrase></p>

	    <p>Assertions within an alternative are not ordered, and
	    thus aspects such as the order in which behaviors
	    (indicated by assertions) are applied to a <termref def="policy_subject">subject</termref> are
	        beyond the scope of this specification.
	        <phrase diff="add">However, authors can write assertions that control the order in which behaviours are applied.</phrase></p>

	    <p>A policy alternative <rfc2119>MAY</rfc2119> contain multiple assertions of
	    the same type. Mechanisms for determining the aggregate
	    behavior indicated by the assertions (and their
	    Post-Schema-Validation Infoset (PSVI) <phrase diff="add">(See XML Schema Part 1 [</phrase><bibref ref="XMLSchemaPart1" diff="add"></bibref><phrase diff="add">])  </phrase>content, if any) are
	    specific to the assertion type and are outside the scope
	    of this document.</p>

	  </div2>
	  <div2 id="rPolicy">
	    <head>Policy</head>

	    <p><termdef id="policy" term="policy" diff="add"><phrase diff="add">A</phrase><phrase diff="del">At the abstract level a </phrase><term>policy</term> is a potentially empty collection of 
	    <termref def="policy_alternative">policy alternatives</termref>. </termdef> A policy with zero alternatives
	    contains no choices; a policy with one or more
	    alternatives indicates choice in requirements <phrase diff="chg">or
	    capabilities </phrase>within the policy. </p>

	    <p>Alternatives are not ordered, and thus aspects such as
	    preferences between alternatives in a given context are
	    beyond the scope of this specification. </p>

	    <p>Alternatives within a policy may differ significantly
	    in terms of the behaviors they indicate. Conversely,
	    alternatives within a policy may be very similar. In
	    either case, the value or suitability of an alternative is
	    generally a function of the semantics of assertions within
	    the alternative and is therefore beyond the scope of this
	    specification.</p>
	  </div2>
	  <div2 id="Web_services">
	      <head><phrase diff="add">Policies of Entities in a </phrase>Web <phrase diff="add">Services Based System</phrase><phrase diff="del">services</phrase></head>

	    <p>Applied in the Web services <phrase diff="add">based system,</phrase><phrase diff="del">model, </phrase><termref def="policy">policy</termref> is used to convey conditions
	    on an interaction between <phrase diff="add">entities (requester application,
	    provider</phrase><phrase diff="del">a </phrase><phrase diff="add">service, </phrase>Web <phrase diff="chg">infrastructure component, </phrase><phrase diff="add">etc).  </phrase><termdef id="policy_subject" term="policy subject" diff="add"><phrase diff="add">A </phrase><term><phrase diff="add">policy subject</phrase></term> <phrase diff="add">is an entity 
	    (e.g., an</phrase><phrase diff="del">and </phrase><phrase diff="add">endpoint, message, resource, interaction) with which </phrase>a 
	    <termref def="policy"><phrase diff="add">policy</phrase></termref> <phrase diff="add">can be associated. </phrase></termdef> <phrase diff="add">Any entity in a
	    </phrase>Web <phrase diff="chg">services </phrase><phrase diff="add">based system may expose a policy to convey conditions under
	    which it functions.</phrase><phrase diff="del">provider. </phrase>Satisfying assertions in the policy usually
	    <phrase diff="del">results </phrase><phrase diff="add">results
	    </phrase>in behavior that reflects these
	    <phrase diff="del">conditions. </phrase><phrase diff="add">conditions.</phrase><phrase diff="del">Typically, the </phrase><phrase diff="chg">For example, if two entities
	    </phrase><phrase diff="add">-</phrase><phrase diff="del">exposes a policy to </phrase><phrase diff="chg">requester and provider - </phrase><phrase diff="add">expose</phrase><phrase diff="del">it
	    provides </phrase><phrase diff="chg">their policies, a </phrase>requester might use
	    <phrase diff="chg">the </phrase>policy <phrase diff="add">of the provider </phrase>to decide whether or not to use the service.
	    A requester may choose any alternative since each is a valid <phrase diff="del">configuration
	    </phrase><phrase diff="add">configuration </phrase>for interaction with the service, but a requester
	    <rfc2119>MUST</rfc2119> choose only a single alternative
	    for an interaction with a service since each represents an
	    alternative configuration.</p>

	    <p>A <termref def="policy_assertion">policy
	    assertion</termref> is supported by <phrase diff="add">an entity in the web services 
	    based system</phrase><phrase diff="del">a
	    requester </phrase>if and only if the <phrase diff="chg">entity </phrase>satisfies the
	    <phrase diff="del">requirement </phrase><phrase diff="add">requirement
	    </phrase>(or accommodates the capability) corresponding to the assertion. 
	    A <termref def="policy_alternative">policy alternative</termref> <phrase diff="del">is
	    </phrase><phrase diff="add">is </phrase>supported by <phrase diff="chg">an entity </phrase>if and only if the
	    <phrase diff="del">requester </phrase><phrase diff="chg">entity </phrase><phrase diff="add">supports
	    </phrase>all the assertions in the alternative. And, a <termref def="policy">policy</termref>
	    is supported by <phrase diff="chg">an entity </phrase>if and only if the <phrase diff="chg">entity </phrase>supports 
	    at least one of the alternatives in the policy. Note that although 
	    policy alternatives are meant to be mutually exclusive, it cannot 
	    be decided in general whether or not more than one alternative can be
	    supported at the same time.</p>

	   <p>Note that <phrase diff="chg">an entity </phrase>may be able to support a policy
	   even if the <phrase diff="chg">entity </phrase>does not understand the <termref def="policy_assertion_type">type</termref> of each assertion in
	    the <termref def="policy_vocabulary">vocabulary of the
	    policy</termref>; the <phrase diff="chg">entity </phrase>only has to understand the
	    type of each assertion in the vocabulary of a <termref def="policy_alternative">policy alternative</termref> 
	    the <phrase diff="chg">entity </phrase>supports. This characteristic is crucial to
	    versioning and incremental deployment of new assertions
	    because this allows a provider's policy to include new
	    assertions in new alternatives while allowing <phrase diff="chg">entities
	    </phrase>to continue to use old alternatives in a
	    backward-compatible manner.</p>
	  </div2>
	</div1>
	<div1 id="rPolicy_Expression">
	  <head>Policy Expression</head>
	  <p><phrase diff="add">This section</phrase><phrase diff="del">To </phrase><phrase diff="add">describes how to </phrase>convey policy in an interoperable form, 
	  <phrase diff="add">using the XML Infoset representation of </phrase>a <phrase diff="add">policy.   </phrase><termdef id="policy_expression" term="policy expression" diff="add"><phrase diff="add">A </phrase><term>policy
	  <phrase diff="del">expression </phrase><phrase diff="add">expression</phrase></term> 
		is an XML Infoset representation of a <termref def="policy"><phrase diff="add">policy</phrase></termref><phrase diff="add">, 
		either</phrase><phrase diff="del">policy. </phrase><phrase diff="add">in a normal form or in an equivalent compact form.</phrase></termdef>  <phrase diff="add">Other subsections below describe 
	  several important aspects related to policy expression, namely 
	  (i) Normal form of a policy expression (ii) Compact form of a policy expression
	  (iii) Identification of policy expressions and (iv) Policy intersection. 
	  </phrase></p><p diff="del">The
	  </p><p diff="add"> <phrase diff="add">The </phrase>normal form <phrase diff="add">of a </phrase>policy expression is the most straightforward
	  <phrase diff="chg">Infoset </phrase><phrase diff="add">represenattion; </phrase>equivalent, alternative Infosets allow compactly
	  expressing a policy through a number of constructs.</p>
	  
	  <p diff="add"><phrase diff="add">This specification does not define processing for arbitrary </phrase><el diff="add">wsp:Policy</el>
	  <phrase diff="add">Element Information Items in any context other than as an Element Information Item
	  in the </phrase><emph role="infoset-property"><phrase diff="add">children</phrase></emph> <phrase diff="add">property of an Element 
	  Information Item that is in the </phrase><emph role="infoset-property"><phrase diff="add">children</phrase></emph> 
	  <phrase diff="add">property of an element Information Item defined in section 4.1 below.    
	  </phrase></p>

	  <div2 id="Normal_Form_Policy_Expression">
	    <head>Normal Form Policy Expression</head>

	    <p>To facilitate interoperability, this specification
	    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
	    the normal form of a policy expression is as follows:</p>

	    <eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:Policy … &gt;
  &lt;wsp:ExactlyOne&gt;
    ( &lt;wsp:All&gt; ( &lt;<emph>Assertion</emph> …&gt; … &lt;/<emph>Assertion</emph>&gt; )* &lt;/wsp:All&gt; )*
  &lt;/wsp:ExactlyOne&gt;
&lt;/wsp:Policy&gt; </eg>
<p>The following describes the Element Information Items defined in the schema outline above:</p>
<glist><gitem>
<label><el>/wsp:Policy</el></label>
<def><p>A policy expression.</p></def>
</gitem>
<gitem>
<label><el>/wsp:Policy/wsp:ExactlyOne</el></label>
<def>
<p>
  A collection of policy alternatives. If there are no Element
  Information Items in the <emph role="infoset-property">children</emph> property, there are no
  admissible policy alternatives, i.e., no behavior is
  admissible.</p></def>
</gitem>
<gitem>
<label><el>/wsp:Policy/wsp:ExactlyOne/wsp:All</el></label>
<def>
  <p>
    A policy alternative; a collection of policy assertions. If there
    are no Element Information Items in the <emph role="infoset-property">children</emph> property, this is an
    admissible policy alternative that is empty, i.e., no behavior is
    specified.</p></def>
</gitem>
<gitem>
<label><code>/wsp:Policy/wsp:ExactlyOne/wsp:All/*</code></label>
<def><p>XML Infoset representation of a policy assertion.</p></def>
</gitem>
<gitem>
<label><att>/wsp:Policy/@{any}</att></label>
<def><p>Additional attributes <rfc2119>MAY</rfc2119> be specified but
    <rfc2119>MUST NOT</rfc2119> contradict the semantics of the
    <emph role="infoset-property" diff="add"> owner <phrase diff="add">element</phrase></emph><phrase diff="add">;
</phrase><phrase diff="del">element; </phrase>if an attribute is not recognized, it
<rfc2119>SHOULD</rfc2119> be ignored.</p>
</def>
</gitem>

</glist>

<p>If an <termref def="policy_assertion">assertion</termref> in the
normal form of a policy expression contains a <termref def="nested_policy_expression" diff="add">nested policy
<phrase diff="add">expression</phrase></termref><phrase diff="add">,</phrase><phrase diff="del">expression, </phrase>the nested policy expression <rfc2119>MUST</rfc2119>
    contain at most one policy <phrase diff="add">alternative (see </phrase><specref ref="Policy_Assertion_Nesting" diff="add"></specref><phrase diff="add">).</phrase><phrase diff="del">alternative.</phrase></p>

<p>To simplify processing and improve interoperability, the normal
    form of a policy expression <rfc2119 diff="add"><phrase diff="add">SHOULD</phrase></rfc2119><phrase diff="del">should </phrase>be used where practical.</p>

	      <p>For example, the following is the normal form of <phrase diff="chg">a </phrase>policy <phrase diff="add">expression.</phrase><phrase diff="del">expression example introduced earlier.</phrase></p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;sp:wsp:All&gt;
(04)        &lt;sp:SignedParts/&gt;
(05)           &lt;sp:Body/&gt;
(06)        &lt;/sp:SignedParts/&gt;
(07)     &lt;/wsp:All&gt;
(08)     &lt;sp:wsp:All&gt;
(09)        &lt;sp:EncryptedParts/&gt;
(10)           &lt;sp:Body/&gt;
(11)        &lt;/sp:EncryptedParts/&gt;
(12)     &lt;/wsp:All&gt;
(13)   &lt;/wsp:ExactlyOne&gt;
(14) &lt;/wsp:Policy&gt;</phrase></eg>

<p>Lines <phrase diff="chg">(03-07) </phrase>and Lines <phrase diff="chg">(08-11) </phrase>express the two alternatives in the
policy. If the first alternative is selected, <phrase diff="del">only </phrase>the <phrase diff="chg">message body </phrase><phrase diff="add">needs</phrase><phrase diff="del">RSA
15 </phrase><phrase diff="chg">to be </phrase><phrase diff="add">signed </phrase>[<bibref ref="WS-SecurityPolicy"></bibref>] is supported;
conversely, if the second alternative is selected, <phrase diff="del">only </phrase>the <phrase diff="chg">message </phrase><phrase diff="add">body</phrase><phrase diff="del">RSA
15 </phrase><phrase diff="chg">needs to be encrypted. </phrase></p>
	  </div2>
<div2 id="Policy_Identification">
<head>Policy Identification</head>

<p>A <termref def="policy_expression">policy expression</termref>
<rfc2119>MAY</rfc2119> be associated with an IRI [<bibref ref="RFC3987"></bibref>]. The schema outline
for attributes to associate an IRI is as follows:</p>

<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:Policy ( Name="<emph>xs:anyURI</emph>" )?
                ( wsu:Id="<emph>xs:ID</emph>" | xml:id="<emph>xs:ID</emph>" )?
            … &gt;
  …
&lt;/wsp:Policy&gt;</eg>
<p>The following describes the Attribute Information Items listed and defined in the schema outline above:</p>
<glist><gitem>
<label><att>/wsp:Policy/@Name</att></label>
<def><p>The identity of the policy expression as an absolute IRI [<bibref ref="RFC3987"></bibref>]. If
omitted, there is no implied value. This IRI <rfc2119>MAY</rfc2119> be
used to refer to a policy from other XML documents using a <termref def="policy_attachment">policy attachment</termref> mechanism such as
those defined in WS-PolicyAttachment [<bibref ref="WS-PolicyAttachment"></bibref>].       <termdef id="policy_attachment" term="policy attachment" diff="add"><phrase diff="add">A 
	    </phrase><term><phrase diff="add">policy attachment</phrase></term> <phrase diff="add">is a mechanism for associating 
	    </phrase><termref def="policy"><phrase diff="add">policy</phrase></termref> <phrase diff="add">with one or more </phrase><termref def="policy_scope"><phrase diff="add">policy scopes</phrase></termref><phrase diff="add">.</phrase></termdef>
				<termdef id="policy_scope" term="policy scope" diff="add"><phrase diff="add">A </phrase><term><phrase diff="add">policy scope</phrase></term> <phrase diff="add">is a collection of 
	    </phrase><termref def="policy_subject"><phrase diff="add">policy subjects</phrase></termref> <phrase diff="add">to which a policy may apply.</phrase></termdef>
				</p></def>
</gitem>
<gitem>
<label><att>/wsp:Policy/(@wsu:Id | @xml:id)</att></label>
<def><p>The identity of the policy expression as an <code>ID</code> within the
enclosing XML document. If omitted, there is no implied value. 
<phrase diff="add">The constraints of the XML 1.0 [</phrase><bibref ref="XML10" diff="add"></bibref><phrase diff="add">] ID type MUST be met.</phrase><phrase diff="del">To
</phrase><phrase diff="add">To </phrase>refer to this policy expression, an IRI-reference
<phrase diff="del"> </phrase><rfc2119>MAY</rfc2119> be formed using this value per Section 4.2 of
WS-Security [<bibref ref="WS-Security"></bibref>] when @wsu:Id is used.</p>
    <p>The use of <code>xml:id</code> attribute in conjunction with Canonical XML 1.0 is 
    inappropriate as described in Appendix C of xml:id Version 1.0 [<bibref ref="XMLID"></bibref>] 
    and thus this combination must be avoided (see [<bibref ref="C14NNOTE"></bibref>]). For example, 
    a policy expression identified using <code>xml:id</code> attribute should not be signed 
    using XML Digital Signature when Canonical XML 1.0 is being used as 
    the canonicalization method.</p></def>
</gitem>
</glist>

<p>The following example illustrates how to associate a policy
expression with the absolute IRI
<code>"http://www.example.com/policies/P1"</code>:</p>

<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        Name="http://www.example.com/policies/P1"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;!-- Details omitted for readability --&gt;
(03) &lt;/wsp:Policy&gt;</phrase></eg>
<p>The following example illustrates how to associate a policy expression with the IRI-reference <code>"#P1"</code>:</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        wsu:Id="P1"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy"
        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" &gt;
(02)   &lt;!-- Details omitted for readability --&gt;
(03) &lt;/wsp:Policy&gt;</phrase></eg>
</div2>
<div2 id="Compact_Policy_Expression">
<head>Compact Policy Expression</head>

<p>To express a policy 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,
a compact expression may be converted to the corresponding normal form
expression by the following procedure:</p>

<olist>
<item><p>Start with the <emph role="infoset-property">document
element</emph> property D of the Document Information Item of the
policy expression. The <emph role="infoset-property">namespace
name</emph> of D is always <code><phrase diff="chg">"http://www.w3.org/@@@@/@@/ws-policy"</phrase></code>. In the base case,
the <emph role="infoset-property">local name</emph> property of D is
<code>"Policy"</code>; in the recursive case, the <emph role="infoset-property">local name</emph> property of D is
<code>"Policy"</code>, <code>"ExactlyOne"</code>, or
<code>"All"</code>.</p></item>
<item><p>Expand Element Information Items in the <emph role="infoset-property">children</emph> property of D that are policy
references per Section <specref ref="Policy_Inclusion"></specref>.</p></item>
<item><p>Convert each Element Information Item C in the <emph role="infoset-property">children</emph> property of D into normal
form.</p>
<olist>
<item><p>If the <emph role="infoset-property">namespace name</emph>
property of C is <code><phrase diff="chg">"http://www.w3.org/@@@@/@@/ws-policy"</phrase></code> and the <emph role="infoset-property">local
name</emph> property of C is <code>"Policy"</code>,
<code>"ExactlyOne"</code>, or <code>"All"</code>, C is an expression
of a policy operator; normalize C by recursively applying this
procedure.</p></item>
<item><p>Otherwise the Element Information Item C is an assertion;
normalize C per Sections <specref ref="Optional_Policy_Assertions"></specref>
and <specref ref="Policy_Assertion_Nesting"></specref>.</p></item>
</olist>
</item>
<item><p>Apply the policy operator indicated by D to the normalized
Element Information Items in its <emph role="infoset-property">children</emph> property and construct a
normal form per Section <specref ref="Policy_Operators"></specref>.</p></item>
</olist>
<p>Note that an implementation may use a more efficient procedure and
is not required to explicitly convert a compact expression into the
normal form as long as the processing results are indistinguishable
from doing so.</p>
<div3 id="Optional_Policy_Assertions">
<head>Optional Policy Assertions</head>
<p>To indicate that a <termref def="policy_assertion">policy
assertion</termref> is optional, this specification defines an
<phrase diff="del">attribute </phrase><phrase diff="add">attribute 
</phrase>that is a <phrase diff="add">compact authoring</phrase><phrase diff="del">syntactic </phrase><phrase diff="chg">style </phrase>for expressing <phrase diff="add">a pair of </phrase>policy <phrase diff="add">alternatives, 
one
</phrase><phrase diff="del">alternatives </phrase>with and <phrase diff="add">one </phrase>without <phrase diff="chg">that </phrase>assertion. The schema outline for
this attribute is as follows:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;<emph>Assertion</emph> ( wsp:Optional="<emph>xs:boolean</emph>" )? …&gt; … &lt;/<emph>Assertion</emph>&gt;</eg>
<p>The following describes the Attribute Information Item defined in
the schema outline above:</p>
<glist><gitem>
<label><att>/Assertion/@wsp:Optional</att></label>
    <def><p>If <phrase diff="add">the actual value (See XML Schema Part 1 [</phrase><bibref ref="XMLSchemaPart1" diff="add"></bibref><phrase diff="add">]) is </phrase>true, the expression of the assertion is semantically equivalent to the following:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  &lt;wsp:All&gt; &lt;<emph>Assertion</emph> …&gt; … &lt;/<emph>Assertion</emph>&gt; &lt;/wsp:All&gt;
  &lt;wsp:All /&gt;
&lt;/wsp:ExactlyOne&gt;</eg>
        <p>If <phrase diff="add">the actual value (See XML Schema Part 1 [</phrase><bibref ref="XMLSchemaPart1" diff="add"></bibref><phrase diff="add">]) is </phrase>false, the expression of the assertion is semantically equivalent to the following:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  &lt;wsp:All&gt; &lt;<emph>Assertion</emph> …&gt; … &lt;/<emph>Assertion</emph>&gt; &lt;/wsp:All&gt;
&lt;/wsp:ExactlyOne&gt;</eg>

<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></def>

</gitem>
</glist>
<p>For example, the following compact policy expression:</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;sp:IncludeTimestamp wsp:Optional="true" /&gt;
(03) &lt;/wsp:Policy&gt;</phrase></eg>
<p>is equivalent to the following normal form policy expression:</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;wsp:All&gt;
(04)       &lt;sp:IncludeTimestamp /&gt;
(05)     &lt;/wsp:All&gt;
(06)     &lt;wsp:All /&gt;
(07)   &lt;/wsp:ExactlyOne&gt;
(08) &lt;/wsp:Policy&gt;</phrase></eg>

<p>The <att>@wsp:Optional</att> attribute in Line (02) of the first
policy expression indicates that the assertion in Line (02) is to be
included in a policy alternative whilst excluded from another; it is
included in Lines (03-05) and excluded in Line (06). Note that
<att>@wsp:Optional</att> does not appear in the normal form of a
policy expression.</p>
</div3>
<div3 id="Policy_Assertion_Nesting">
<head>Policy Assertion Nesting</head>

<p>Any <termref def="policy_assertion">policy assertion</termref>
<rfc2119>MAY</rfc2119> contain a <termref def="policy_expression" diff="add"><phrase diff="add">policy expression</phrase></termref><phrase diff="add">.  </phrase><termdef id="nested_policy_expression" term="nested policy expression" diff="add"><phrase diff="add">A </phrase><term>nested <phrase diff="add">policy expression</phrase></term> <phrase diff="add">is a </phrase><termref def="policy_expression">policy expression</termref> <phrase diff="add">that is an Element Information Item in the </phrase><emph role="infoset-property"><phrase diff="add">children</phrase></emph> <phrase diff="add">property of a </phrase><termref def="policy_assertion"><phrase diff="add">policy</phrase><phrase diff="del">. </phrase><phrase diff="add">assertion</phrase></termref><phrase diff="add">.</phrase></termdef>  The schema
outline for a <termref def="nested_policy_expression" diff="add">nested policy expression</termref> is:</p>

<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;<emph>Assertion</emph> …&gt;
  …
  ( &lt;wsp:Policy …&gt; … &lt;/wsp:Policy&gt; )?
  …
&lt;/<emph>Assertion</emph>&gt;</eg>
<p>The following describes additional processing constraints on the outline listed above:</p>
<glist><gitem>
<label><el>/Assertion/wsp:Policy</el></label>
<def><p>This indicates that the assertion contains a nested policy
expression. If there is no <el>wsp:Policy</el> Element Information
Item in the <emph role="infoset-property">children</emph> property,
the assertion has no nested policy expression.
</p>
<p>Note: if the schema outline for an assertion type requires a nested
policy expression but the assertion does not further qualify one or
more aspects of the behavior indicated by the assertion type (i.e., no
assertions are needed in the nested policy expression), the assertion
<rfc2119>MUST</rfc2119> include an empty
<code>&lt;wsp:Policy/&gt;</code> Element Information Item in its <emph role="infoset-property">children</emph> property; as explained in
Section <specref ref="Policy_Operators"></specref>, this is equivalent to a
nested policy expression with a single alternative that has zero
assertions. <phrase diff="chg">The </phrase><phrase diff="add">reason for requring least an empty </phrase><code diff="add"><phrase diff="add">&lt;wsp:Policy/&gt;</phrase></code> 
<phrase diff="add">Element</phrase><phrase diff="del">this </phrase><phrase diff="add">above </phrase>is <phrase diff="chg">to ensure that </phrase>two assertions of the same type will <phrase diff="chg">always </phrase>be 
compatible and <phrase diff="add">an </phrase>intersection <phrase diff="chg">would not </phrase><phrase diff="add">fail 
</phrase>(see Section <specref ref="Policy_Intersection"></specref>).</p>


<phrase diff="del">/Assertion/*/wsp:Policy

</phrase><p><phrase diff="add">Note: </phrase>This specification does not define processing for arbitrary
<el>wsp:Policy</el> Element Information Items in the descendants
of an <phrase diff="add">assertion parameter,</phrase><phrase diff="del">assertion, </phrase>e.g., in the <emph role="infoset-property">children</emph> property of one of the <emph role="infoset-property">children</emph> as in
<code>&lt;Lorem&gt;&lt;Ipsum&gt;&lt;wsp:Policy&gt; …
&lt;/wsp:Policy&gt;&lt;/Ipsum&gt;&lt;/Lorem&gt;</code>.</p>
</def>
</gitem>
</glist>
<p>Policy assertions containing a nested policy expression are
normalized recursively. The nesting of a policy expression (and a
<el>wsp:Policy</el> child) is retained in the normal form, but in
the normal form, each nested policy expression contains at most one
policy alternative. If an assertion A contains a nested policy 
expression E, and if E contains more than one policy alternative,
A is duplicated such that there are as many instances of A as choices in E,
and the nested policy expression of a duplicate A contains a single
choice. This process is applied recursively to the assertions within
those choices and to their nested policy expression, if
any. Intuitively, if a compact policy is thought of as a tree whose
branches have branches etc, in the normal form, a policy is a stump
with straight vines.</p>

<p>For example, consider the following <phrase diff="add">policy expression</phrase><phrase diff="del">compact </phrase><phrase diff="add">with 
</phrase>nested policy <phrase diff="add">expressions in a compact form:</phrase><phrase diff="del">expression:</phrase></p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;sp:TransportBinding&gt;
(03)     &lt;wsp:Policy&gt;
(04)       &lt;sp:AlgorithmSuite&gt;
(05)         &lt;wsp:Policy&gt;
(06)           &lt;wsp:ExactlyOne&gt;
(07)             &lt;sp:Basic256Rsa15 /&gt;
(08)             &lt;sp:TripleDesRsa15 /&gt;
(09)           &lt;/wsp:ExactlyOne&gt;
(10)         &lt;/wsp:Policy&gt;
(11)       &lt;/sp:AlgorithmSuite&gt;
(12)       &lt;sp:TransportToken&gt;
(13)         &lt;wsp:Policy&gt;
(14)           &lt;sp:HttpsToken RequireClientCertificate="false" /&gt;
(15)         &lt;/wsp:Policy&gt;
(16)       &lt;/sp:TransportToken&gt;
           &lt;!-- Details omitted for readability --&gt;
(17)      &lt;/wsp:Policy&gt;
(18)    &lt;/sp:TransportBinding&gt;
(19) &lt;/wsp:Policy&gt;</phrase></eg>
<p>Lines (02-18) in this policy expression contain a single transport
binding security policy assertion; within its nested policy expression
(Lines 03-17), is an algorithm suite assertion (Lines 04-11) whose
nested policy expression (Lines 05-10) contains two policy
alternatives (Lines 07-08). Generally, a nested policy expression
implies recursive processing; in the example above, the behavior
indicated by the transport binding assertion requires the behavior
indicated by one of the assertions within the algorithm suite
assertion.</p>
<p>The normalized form of <phrase diff="chg">the </phrase><phrase diff="add">example above</phrase><phrase diff="del">policy </phrase>is equivalent to the following:</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;wsp:All&gt;
(04)       &lt;sp:TransportBinding&gt;
(05)         &lt;wsp:Policy&gt;
(06)           &lt;sp:AlgorithmSuite&gt;
(07)             &lt;wsp:Policy&gt;
(08)               &lt;sp:Basic256Rsa15 /&gt;
(09)             &lt;/wsp:Policy&gt;
(10)           &lt;/sp:AlgorithmSuite&gt;
(11)           &lt;sp:TransportToken&gt;
(12)             &lt;wsp:Policy&gt;
(13)               &lt;sp:HttpsToken RequireClientCertificate="false" /&gt;
(14)             &lt;/wsp:Policy&gt;
(15)           &lt;/sp:TransportToken&gt;
               &lt;!-- Details omitted for readability --&gt;
(16)         &lt;/wsp:Policy&gt;
(17)       &lt;/sp:TransportBinding&gt;
(18)     &lt;/wsp:All&gt;
(19)     &lt;wsp:All&gt;
(20)       &lt;sp:TransportBinding&gt;
(21)         &lt;wsp:Policy&gt;
(22)           &lt;sp:AlgorithmSuite&gt;
(23)             &lt;wsp:Policy&gt;
(24)               &lt;sp:TripleDesRsa15 /&gt;
(25)             &lt;/wsp:Policy&gt;
(26)           &lt;/sp:AlgorithmSuite&gt;
(27)           &lt;sp:TransportToken&gt;
(28)             &lt;wsp:Policy&gt;
(29)               &lt;sp:HttpsToken RequireClientCertificate="false" /&gt;
(30)             &lt;/wsp:Policy&gt;
(31)           &lt;/sp:TransportToken&gt;
               &lt;!-- Details omitted for readability --&gt;
(32)         &lt;/wsp:Policy&gt;
(33)       &lt;/sp:TransportBinding&gt;
(34)     &lt;/wsp:All&gt;
(35)   &lt;/wsp:ExactlyOne&gt;
(36) &lt;/wsp:Policy&gt;</phrase></eg>
<p>In the listing above, the transport binding and its nested policy
expression have been duplicated once for each of the nested
alternatives in Lines (07-08) of the compact policy. The first
alternative (Lines 03-18) contains a single nested algorithm suite
alternative (Line 08) as does the second alternative (Lines 19-34 and
24). </p>
</div3>
<div3 id="Policy_Operators">
<head>Policy Operators</head>
    <p><phrase diff="add">Policies are used to convey a set of capabilities, requirements, and general characteristics of entities (see </phrase><specref ref="tocRange" diff="add"></specref><phrase diff="add">).
    These are generally expressible as a set of </phrase><termref def="policy_alternative" diff="add"><phrase diff="add">policy alternatives</phrase></termref><phrase diff="add">.
    Policy operators (</phrase><el diff="add">wsp:Policy</el><phrase diff="add">, </phrase><el diff="add">wsp:All</el> <phrase diff="add">and </phrase><el diff="add">wsp:ExactlyOne</el><phrase diff="add">)
    are used to group </phrase><termref def="policy_assertion" diff="add"><phrase diff="add">policy assertions</phrase></termref>
    <phrase diff="add">into </phrase><termref def="policy_alternative" diff="add"><phrase diff="add">policy alternatives</phrase></termref><phrase diff="add">.
    In some instances, complex policies expressed in normal form can get relatively large and hard to manage.
</phrase>To compactly express complex policies, policy operators
<rfc2119>MAY</rfc2119> be recursively nested; that is, one or more
instances of <el>wsp:Policy</el>, <el>wsp:All</el>, and/or
<el>wsp:ExactlyOne</el> <rfc2119>MAY</rfc2119> be nested within
<el>wsp:Policy</el>, <el>wsp:All</el>, and/or
<el>wsp:ExactlyOne</el>.</p>
<p>The following rules are used to transform a compact policy expression into a normal form policy expression:</p>
<glist><gitem>
<label>Equivalence</label>
<def><p><phrase diff="add">Use of </phrase><el>wsp:Policy</el> <phrase diff="add">as an operator within a policy expression</phrase><phrase diff="del">is </phrase><phrase diff="add">is  
    </phrase>equivalent to <el>wsp:All</el>.</p>
</def>
</gitem>
<gitem>
<label>Empty</label>
<def>
<ulist>
<item><p><code>&lt;wsp:All /&gt;</code> expresses a policy with zero policy assertions. Note that since <el>wsp:Policy</el> is equivalent to <el>wsp:All</el>, <code>&lt;wsp:Policy /&gt;</code> is therefore equivalent to <code>&lt;wsp:All /&gt;</code>, i.e., a policy alternative with zero assertions.</p></item>
<item><p><code>&lt;wsp:ExactlyOne /&gt;</code> expresses a policy with zero policy alternatives.</p></item>
</ulist>
</def>
</gitem>
<gitem>
<label>Commutative</label>
<def>
<p>In line with the previous statements that policy assertions within
a policy alternative and policy alternatives within a policy are not
ordered (see <specref ref="rPolicy_Alternative"></specref> and <specref ref="rPolicy"></specref>, respectively), <el>wsp:All</el> and
<el>wsp:ExactlyOne</el> are commutative. For example,</p>

<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt; <emph>&lt;!-- assertion 1 --&gt; &lt;!-- assertion 2 --&gt; </emph>&lt;/wsp:All&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt; <emph>&lt;!-- assertion 2 --&gt; &lt;!-- assertion 1 --&gt; </emph>&lt;/wsp:All&gt;</eg>
<p>and:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  <emph>&lt;!-- assertion 1 --&gt; &lt;!-- assertion 2 --&gt;</emph>
&lt;/wsp:ExactlyOne&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  <emph>&lt;!-- assertion 2 --&gt; &lt;!-- assertion 1 --&gt;</emph>
&lt;/wsp:ExactlyOne&gt;</eg></def>
</gitem>
<gitem>
<label>Associative</label>
<def><p><el>wsp:All</el> and <el>wsp:ExactlyOne</el> are associative. For example,</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt;
  <emph>&lt;!-- assertion 1 --&gt;</emph>
<emph>  </emph>&lt;wsp:All&gt; <emph>&lt;!-- assertion 2 --&gt; </emph>&lt;/wsp:All&gt;
&lt;/wsp:All&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt; <emph>&lt;!-- assertion 1 --&gt; &lt;!-- assertion 2 --&gt; </emph>&lt;/wsp:All&gt;</eg>
<p>and:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  <emph>&lt;!-- assertion 1 --&gt;</emph>
<emph>  </emph>&lt;wsp:ExactlyOne&gt; <emph>&lt;!-- assertion 2 --&gt; </emph>&lt;/wsp:ExactlyOne&gt;
&lt;/wsp:ExactlyOne&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  <emph>&lt;!-- assertion 1 --&gt; &lt;!-- assertion 2 --&gt;</emph>
&lt;/wsp:ExactlyOne&gt;</eg></def>
</gitem>
<gitem>
<label>Idempotent</label>
<def><p><el>wsp:All</el> and <el>wsp:ExactlyOne</el> are idempotent. For example,</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt;
  &lt;wsp:All&gt; <emph>&lt;!-- assertion 1 --&gt; &lt;!-- assertion 2 --&gt; </emph>&lt;/wsp:All&gt;
&lt;/wsp:All&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt; <emph>&lt;!-- assertion 1 --&gt; &lt;!-- assertion 2 --&gt; </emph>&lt;/wsp:All&gt;</eg>
<p>and:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  &lt;wsp:ExactlyOne&gt;
    <emph>&lt;!-- assertion 1 --&gt; &lt;!-- assertion 2 --&gt;</emph>
<emph>  </emph>&lt;/wsp:ExactlyOne&gt;
&lt;/wsp:ExactlyOne&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  <emph>&lt;!-- assertion 1 --&gt; &lt;!-- assertion 2 --&gt;</emph>
&lt;/wsp:ExactlyOne&gt;</eg></def>
</gitem>
<gitem>
<label>Distributive</label>
<def><p><el>wsp:All</el> distributes over <el>wsp:ExactlyOne</el>. For example,</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt;
  &lt;wsp:ExactlyOne&gt;
<emph>    &lt;!-- assertion 1 --&gt;</emph>
<emph>    &lt;!-- assertion 2 --&gt;</emph>
  &lt;/wsp:ExactlyOne&gt;
&lt;/wsp:All&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  &lt;wsp:All&gt;
<emph>    &lt;!-- assertion 1 --&gt;</emph>
  &lt;/wsp:All&gt;
  &lt;wsp:All&gt;
<emph>    &lt;!-- assertion 2 --&gt;</emph>
  &lt;/wsp:All&gt;
&lt;/wsp:ExactlyOne&gt;</eg>
<p><phrase diff="add">Similarly by repeatedly distributing wsp:All over wsp:ExactlyOne,</phrase><phrase diff="del">Similarly,</phrase></p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt;
  &lt;wsp:ExactlyOne&gt;
<emph>    &lt;!-- assertion 1 --&gt;</emph>
<emph>    &lt;!-- assertion 2 --&gt;</emph>
  &lt;/wsp:ExactlyOne&gt;
  &lt;wsp:ExactlyOne&gt;
<emph>    &lt;!-- assertion 3 --&gt;</emph>
<emph>    &lt;!-- assertion 4 --&gt;</emph>
  &lt;/wsp:ExactlyOne&gt;
&lt;/wsp:All&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne&gt;
  &lt;wsp:All&gt;<emph>&lt;!-- assertion 1 --&gt;&lt;!-- assertion 3 --&gt;</emph>&lt;/wsp:All&gt;
  &lt;wsp:All&gt;<emph>&lt;!-- assertion 1 --&gt;&lt;!-- assertion 4 --&gt;</emph>&lt;/wsp:All&gt;
  &lt;wsp:All&gt;<emph>&lt;!-- assertion 2 --&gt;&lt;!-- assertion 3 --&gt;</emph>&lt;/wsp:All&gt;
  &lt;wsp:All&gt;<emph>&lt;!-- assertion 2 --&gt;&lt;!-- assertion 4 --&gt;</emph>&lt;/wsp:All&gt;
&lt;/wsp:ExactlyOne&gt;</eg>
<p>Distributing <el>wsp:All</el> over an empty <el>wsp:ExactlyOne</el> is equivalent to no alternatives. For example,</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:All&gt;
  &lt;wsp:ExactlyOne&gt;
<emph>    &lt;!-- assertion 1 --&gt;</emph>
<emph>    &lt;!-- assertion 2 --&gt;</emph>
  &lt;/wsp:ExactlyOne&gt;
  &lt;wsp:ExactlyOne /&gt;
&lt;/wsp:All&gt;</eg>
<p>is equivalent to:</p>
<eg xml:space="preserve" role="needs-numbering" diff="chg">&lt;wsp:ExactlyOne /&gt;</eg>
<p>For example, given the following compact policy expression:</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;sp:RequireDerivedKeys wsp:Optional="true" /&gt;
(03)   &lt;wsp:ExactlyOne&gt;
(04)     &lt;sp:WssUsernameToken10 /&gt;
(05)     &lt;sp:WssUsernameToken11 /&gt;
(06)   &lt;/wsp:ExactlyOne&gt;
(07) &lt;/wsp:Policy&gt;</phrase></eg>
</def>
</gitem>
</glist>

<p>Applying Section <specref ref="Optional_Policy_Assertions"></specref> to <att>@wsp:Optional</att> in Line
(02), and distributing <el>wsp:All</el> over
<el>wsp:ExactlyOne</el> per Section <specref ref="Policy_Operators"></specref> for the assertions
in Lines (04-05) yields:</p>

<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;wsp:All&gt; &lt;!-- @wsp:Optional alternative with assertion --&gt;
(04)       &lt;sp:RequireDerivedKeys /&gt;
(05)     &lt;/wsp:All&gt;
(06)     &lt;wsp:All /&gt; &lt;!-- @wsp:Optional alternative without --&gt;
(07)   &lt;/wsp:ExactlyOne&gt;
(08)   &lt;wsp:ExactlyOne&gt;
(09)     &lt;wsp:All&gt;
(10)       &lt;sp:WssUsernameToken10 /&gt;
(11)     &lt;/wsp:All&gt;
(12)     &lt;wsp:All&gt;
(13)       &lt;sp:WssUsernameToken11 /&gt;
(14)     &lt;/wsp:All&gt;
(15)   &lt;/wsp:ExactlyOne&gt;
(16) &lt;/wsp:Policy&gt;</phrase></eg>
<p>Note that the assertion listed in Line (02) in the first listing expands into the two alternatives in Lines (03-06) in the second listing.</p>
<p>Finally, noting that <el>wsp:Policy</el> is equivalent to <el>wsp:All</el>, and distributing <el>wsp:All</el> over <el>wsp:ExactlyOne</el> yields the following normal form policy expression:</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;wsp:All&gt;
(04)       &lt;sp:RequireDerivedKeys /&gt;
(05)       &lt;sp:WssUsernameToken10 /&gt;
(06)     &lt;/wsp:All&gt;
(07)     &lt;wsp:All&gt;
(08)       &lt;sp:RequireDerivedKeys /&gt;
(09)       &lt;sp:WssUsernameToken11 /&gt;
(10)     &lt;/wsp:All&gt;
(11)     &lt;wsp:All&gt;
(12)       &lt;sp:WssUsernameToken10 /&gt;
(13)     &lt;/wsp:All&gt;
(14)     &lt;wsp:All&gt;
(15)       &lt;sp:WssUsernameToken11 /&gt;
(16)     &lt;/wsp:All&gt;
(17)   &lt;/wsp:ExactlyOne&gt;
(18) &lt;/wsp:Policy&gt;</phrase></eg>
<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>
</div3>
<div3 id="Policy_References" diff="chg">
<head>Policy <phrase diff="chg">References</phrase></head>
<p><phrase diff="add">The</phrase><phrase diff="del">In order to share assertions across policy expressions, the </phrase><el>wsp:PolicyReference</el> element <phrase diff="del">MAY be present anywhere a policy assertion is allowed inside a policy expression. This element </phrase>is used to <phrase diff="add">reference</phrase><phrase diff="del">include the content of one policy expression in another </phrase><termref def="policy_expression" diff="add">policy <phrase diff="add">expressions</phrase></termref><phrase diff="add">.  The</phrase><phrase diff="del">expression.
When a wsp:PolicyReference element references a wsp:Policy element, then the </phrase>semantics of <phrase diff="del">inclusion are simply to replace the wsp:PolicyReference element with a wsp:All element whose children property is the same as the children property of </phrase>the <phrase diff="del">referenced wsp:Policy element. That is, the contents of the referenced policy conceptually replace the </phrase><el>wsp:PolicyReference</el> element <phrase diff="del">and </phrase>are <phrase diff="add">determined</phrase><phrase diff="del">wrapped in a wsp:All operator. </phrase><phrase diff="chg">by </phrase>the <phrase diff="add">context</phrase><phrase diff="del">wsp:PolicyReference element, a policy expression MUST NOT reference itself either directly or indirectly. (Note: References that </phrase><phrase diff="chg">in which </phrase><phrase diff="add">it</phrase><phrase diff="del">@Digest </phrase><phrase diff="chg">is </phrase><phrase diff="add">used</phrase><phrase diff="del">SHOULD </phrase><phrase diff="chg">(for an example, see </phrase><specref ref="Policy_Inclusion" diff="add"></specref><phrase diff="add">).</phrase><phrase diff="del">included.)</phrase></p>
<p>The schema outline for the <el>wsp:PolicyReference</el> element is as follows:</p>
<eg xml:space="preserve" role="needs-numbering">&lt;wsp:PolicyReference
    URI="<emph>xs:anyURI</emph>"
  ( Digest="<emph>xs:base64Binary</emph>" ( DigestAlgorithm="<emph>xs:anyURI</emph>" )? )?
    … &gt;
   …
&lt;/wsp:PolicyReference&gt;</eg>
<p>The following describes the Attribute and Element Information Items defined in the schema outline above:</p>
<glist><gitem>
<label><el diff="chg">/wsp:PolicyReference</el></label>
<def><p>This element references a policy expression that is being <phrase diff="chg">referenced.</phrase></p></def>
</gitem>
<gitem>
<label><att><phrase diff="chg">/wsp:PolicyReference/@URI</phrase></att></label>
<def><p>This attribute references a policy expression by an IRI. For a policy 
expression within the same XML Document, the reference <rfc2119>SHOULD</rfc2119> 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 
be resolvable; retrieval mechanisms are beyond the scope of this specification. 
After retrieval, there is no requirement to check that the retrieved policy 
expression is associated (Section <specref ref="Policy_Identification"></specref>) with this IRI.  
The IRI included in the retrieved policy expression, if any, <rfc2119>MAY</rfc2119> be 
different than the IRI used to retrieve the policy expression. </p></def>
</gitem>
<gitem>
<label><att><phrase diff="chg">/wsp:PolicyReference/@Digest</phrase></att></label>
<def><p>This optional attribute specifies the digest of the referenced policy expression. This is used to ensure the included policy is the expected policy.  If omitted, there is no implied value.</p></def>
</gitem>
<gitem>
<label><att><phrase diff="chg">/wsp:PolicyReference/@DigestAlgorithm</phrase></att></label>
<def><p>This optional URI attribute specifies the digest algorithms being used. This specification predefines the default algorithm below, although additional algorithms can be expressed. </p></def>
</gitem>
</glist>
<table cellspacing="0" cellpadding="5" border="1">
<thead>
<tr>
<th rowspan="1" colspan="1">URI</th>
<th rowspan="1" colspan="1">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="1" colspan="1"><code><phrase diff="chg">http://www.w3.org/@@@@/@@/ws-policy/Sha1Exc</phrase></code> (implied)</td>
<td rowspan="1" colspan="1">The digest is a SHA1 hash over the octet stream resulting from using the Exclusive XML canonicalization defined for XML Signature [<bibref ref="XML-Signature"></bibref>].</td>
</tr>
</tbody>
</table>

<glist>
<gitem>
<label><att><phrase diff="chg">/wsp:PolicyReference/@{any}</phrase></att></label>
<def><p>Additional attributes <rfc2119>MAY</rfc2119> be specified but
<rfc2119>MUST NOT</rfc2119> contradict the semantics of the 
    <emph role="infoset-property" diff="add"> owner
<phrase diff="del">element; </phrase><phrase diff="add">element</phrase></emph><phrase diff="add">;
    </phrase>if an attribute is not recognized, it
<rfc2119>SHOULD</rfc2119> be ignored.</p>
</def>
</gitem>
<gitem diff="add">
<label><el diff="add">/wsp:PolicyReference/{any}</el></label>
<def><p><phrase diff="add">Additional elements </phrase><rfc2119><phrase diff="add">MAY</phrase></rfc2119> <phrase diff="add">be specified but
</phrase><rfc2119><phrase diff="add">MUST NOT</phrase></rfc2119> <phrase diff="add">contradict the semantics of the 
    </phrase><emph role="infoset-property"><phrase diff="add">parent element</phrase></emph><phrase diff="add">;
    if an element is not recognized, it
</phrase><rfc2119><phrase diff="add">SHOULD</phrase></rfc2119> <phrase diff="add">be ignored.</phrase></p>
</def>
</gitem>
</glist>

</div3>
<div3 id="Policy_Inclusion" diff="add">
<head><phrase diff="add">Policy Inclusion</phrase></head>
<p><phrase diff="add">In order to share </phrase><termref def="policy_assertion"><phrase diff="add">assertions</phrase></termref> <phrase diff="add">across </phrase><termref def="policy_expression"><phrase diff="add">policy expressions</phrase></termref><phrase diff="add">, the </phrase><el diff="add">wsp:PolicyReference</el> <phrase diff="add">element </phrase><rfc2119><phrase diff="add">MAY</phrase></rfc2119> <phrase diff="add">be present anywhere a policy assertion is allowed inside a policy expression. This element is used to include the content of one policy expression in another policy expression.</phrase></p>
<p><phrase diff="add">When a </phrase><el diff="add">wsp:PolicyReference</el> <phrase diff="add">element references a </phrase><el diff="add">wsp:Policy</el> <phrase diff="add">element, then the semantics of inclusion are simply to replace the </phrase><el diff="add">wsp:PolicyReference</el> <phrase diff="add">element with a </phrase><el diff="add">wsp:All</el> <phrase diff="add">element whose </phrase><emph role="infoset-property"><phrase diff="add">children</phrase></emph> <phrase diff="add">property is the same as the </phrase><emph role="infoset-property"><phrase diff="add">children</phrase></emph> <phrase diff="add">property of the referenced </phrase><el diff="add">wsp:Policy</el> <phrase diff="add">element. That is, the contents of the referenced policy conceptually replace the </phrase><el diff="add">wsp:PolicyReference</el> <phrase diff="add">element and are wrapped in a </phrase><el diff="add">wsp:All</el> <phrase diff="add">operator. Using the </phrase><el diff="add">wsp:PolicyReference</el> <phrase diff="add">element, a policy expression </phrase><rfc2119><phrase diff="add">MUST NOT</phrase></rfc2119> <phrase diff="add">reference itself either directly or indirectly. (Note: References that have a </phrase><att><phrase diff="add">@Digest</phrase></att> <phrase diff="add">attribute </phrase><rfc2119><phrase diff="add">SHOULD</phrase></rfc2119> <phrase diff="add">be validated before being included.)</phrase></p>

<p>In the example below two policies include and extend a common policy. In the first example there is a single policy document containing two policy assertions. The expression is given an identifier but not a fully qualified location. The second and third expressions reference the first expression by URI indicating the referenced expression is within the document. </p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy"
        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
        wsu:Id="Protection" &gt;
(02)   &lt;sp:EncryptSignature wsp:Optional="true" /&gt;
(03)   &lt;sp:ProtectTokens wsp:Optional="true" /&gt;
(04) &lt;/wsp:Policy&gt;
</phrase></eg>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;wsp:PolicyReference URI="#Protection" /&gt;
(03)   &lt;sp:OnlySignEntireHeadersAndBody /&gt;
(04) &lt;/wsp:Policy&gt;
</phrase></eg>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
(02)   &lt;sp:IncludeTimestamp /&gt;
(03)   &lt;wsp:PolicyReference URI="#Protection" /&gt;
(04)   &lt;sp:OnlySignEntireHeadersAndBody /&gt;
(05) &lt;/wsp:Policy&gt;</phrase></eg>
<p>There are times when it is desirable to "re-use" a portion of a policy expression. Generally, this can be accomplished by placing the common assertions in a separate policy expression and referencing it. </p>
</div3>
</div2>
<div2 id="Policy_Intersection">
<head>Policy Intersection</head>
<p>Policy intersection is useful when two or more parties express <termref def="policy">policy</termref> and want to limit the <termref def="policy_alternative">policy alternatives</termref> to those that are mutually compatible. For example, when a requester and a provider express requirements on a message exchange, intersection identifies compatible policy alternatives (if any) included in both requester and provider policies. Intersection is a commutative, associative function that takes two policies and returns a policy.</p>
<p>Because the set of behaviors indicated by a <termref def="policy_alternative">policy 
alternative</termref> depends on the domain-specific semantics of the collected assertions, 
determining whether two policy alternatives are compatible generally involves 
domain-specific processing. <phrase diff="add">If a domain-specific intersection processing algorithm 
is required will be known from the QNames of the specific </phrase><termref def="policy_assertion_type" diff="add"><phrase diff="add">assertion types</phrase></termref>
<phrase diff="add">involved in the policy alternatives. </phrase>As a first approximation, an algorithm is defined herein 
that approximates compatibility in a domain-independent manner; specifically, 
for two <termref def="policy_alternative" diff="add">policy alternatives</termref>   to be compatible, they must at least have the same 
<termref def="policy_alternative_vocabulary" diff="add"><phrase diff="add">policy alternative </phrase>vocabulary</termref> (see Section <specref ref="rPolicy_Alternative"></specref>).
</p>
<ulist>
<item><p>Two <termref def="policy_assertion">policy assertions</termref> are compatible if they have the same <termref def="policy_assertion_type">type</termref> and</p></item>
<item><p>If either assertion contains a nested <termref def="policy_expression">policy expression</termref>, the two assertions are compatible if they both have a nested policy expression and the alternative in the nested policy expression of one is compatible with the alternative in the nested policy expression of the other.</p></item>
</ulist>
<p><termref def="policy_assertion_parameter">Assertion parameters</termref> are not part of the compatibility determination defined herein but may be part of other, domain-specific compatibility processing. </p>
<ulist>
<item><p>Two <termref def="policy_alternative">policy alternatives</termref> are compatible if each assertion in one is compatible with an assertion in the other, and vice-versa. If two alternatives are compatible, their intersection is an alternative containing all of the assertions in both alternatives.</p></item>
<item><p>Two <termref def="policy">policies</termref> are compatible if an alternative in one is compatible with an alternative in the other. If two policies are compatible, their intersection is the set of the intersections between all pairs of compatible alternatives, choosing one alternative from each policy. If two policies are not compatible, their intersection has no policy alternatives.</p></item>
</ulist>
<p>As an example of intersection, consider two input policies in normal form:</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
       &lt;!-- Policy P1 --&gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;wsp:All&gt; &lt;!-- Alternative A1 --&gt;

(04)       &lt;sp:SignedElements&gt;
(05)         &lt;sp:XPath&gt;/S:Envelope/S:Body&lt;/sp:XPath&gt;
(06)       &lt;/sp:SignedElements&gt;
(07)       &lt;sp:EncryptedElements&gt;
(08)         &lt;sp:XPath&gt;/S:Envelope/S:Body&lt;/sp:XPath&gt;
(09)       &lt;/sp:EncryptedElements&gt;
(10)     &lt;/wsp:All&gt;
(11)     &lt;wsp:All&gt; &lt;!-- Alternative A2 --&gt;
(12)       &lt;sp:SignedParts&gt;
(13)         &lt;sp:Body /&gt;
(14)         &lt;sp:Header
                Namespace="http://www.w3.org/2005/08/addressing" /&gt;
(15)       &lt;/sp:SignedParts&gt;
(16)       &lt;sp:EncryptedParts&gt;
(17)         &lt;sp:Body /&gt;
(18)       &lt;/sp:EncryptedParts&gt;
(19)     &lt;/wsp:All&gt;
(20)   &lt;/wsp:ExactlyOne&gt;
(21) &lt;/wsp:Policy&gt;</phrase></eg>
<p>The listing above contains two policy alternatives. The first alternative, (Lines 03-10) contains two policy assertions. One indicates which elements should be signed (Lines 04-06); its type is <el>sp:SignedElements</el> (Line 04), and its parameters include an XPath expression for the content to be signed (Line 05). The other assertion (Lines 07-09) has a similar structure: type (Line 07) and parameters (Line 08).</p>
<p>The second alternative (Lines 11-19) also contains two assertions, each with type (Line 12 and Line 16) and parameters (Lines 13-14 and Line 17).</p>
<p>As this example illustrates, compatibility between two policy assertions is based on assertion type and delegates parameter processing to domain-specific processing.</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
       &lt;!-- Policy P2 --&gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;wsp:All&gt; &lt;!-- Alternative A3 --&gt;
(04)       &lt;sp:SignedParts /&gt;
(05)       &lt;sp:EncryptedParts&gt;
(06)         &lt;sp:Body /&gt;
(07)       &lt;/sp:EncryptedParts&gt;
(08)     &lt;/wsp:All&gt;
(09)     &lt;wsp:All&gt; &lt;!-- Alternative A4 --&gt;
(10)       &lt;sp:SignedElements&gt;
(11)         &lt;sp:XPath&gt;/S:Envelope/S:Body&lt;/sp:XPath&gt;
(12)       &lt;/sp:SignedElements&gt;
(13)     &lt;/wsp:All&gt;
(14)   &lt;/wsp:ExactlyOne&gt;
(15) &lt;/wsp:Policy&gt;</phrase></eg>
<p>Because there is only one alternative (A2) in policy P1 with the same vocabulary — the assertions have the same type — as another alternative (A3) in policy P2, the intersection is a policy with a single alternative that contains all of the assertions in A2 and in A3.</p>
<eg xml:space="preserve"><phrase diff="chg">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/@@@@/@@/ws-policy" &gt;
       &lt;!-- Intersection of P1 and P2 --&gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;wsp:All&gt;
(04)       &lt;sp:SignedParts &gt;
(05)         &lt;sp:Body /&gt;
(06)         &lt;sp:Header
                Namespace="http://www.w3.org/2005/08/addressing" /&gt;
(07)       &lt;/sp:SignedParts&gt;
(08)       &lt;sp:EncryptedParts&gt;
(09)         &lt;sp:Body /&gt;
(10)       &lt;/sp:EncryptedParts&gt;
(11)       &lt;sp:SignedParts /&gt;
(12)       &lt;sp:EncryptedParts&gt;
(13)         &lt;sp:Body /&gt;
(14)       &lt;/sp:EncryptedParts&gt;
(15)     &lt;/wsp:All&gt;
(16)   &lt;/wsp:ExactlyOne&gt;
(17) &lt;/wsp:Policy&gt;</phrase></eg>

<p>Note that there are &gt; 1 assertions of the type
<el>sp:SignedParts</el>; when the behavior associated with
<el>sp:SignedParts</el> is invoked, the contents of both
assertions are used to indicate the correct behavior. Whether these
two assertions are compatible depends on the domain-specific semantics
of the <el>sp:SignedParts</el> assertion. To leverage
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>
</div2>
</div1>
<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>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
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 [<bibref ref="SOAP11"></bibref>, <bibref ref="SOAP12"></bibref>] using WS-Security [<bibref ref="WS-Security"></bibref>] or embedded within other
objects using object-specific security mechanisms.</p>

    <p diff="add"><phrase diff="add">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
        implementing policy.</phrase></p>
    <div2 id="information-disclosure-threats" diff="add">
        <head><phrase diff="add">Information Disclosure Threats</phrase></head>
        <p><phrase diff="add">A policy is used to represent the capabilities and requirements of a Web Service.
            Policies may include sensitive information. Malicious consumers may acquire sensitive
            information, fingerprint the service and infer service vulnerabilities. These threats can
            be mitigated by requiring authentication for sensitive information, by omitting sensitive
            information from the policy or by securing access to the policy. For securing access to
            policy metadata, policy providers can use mechanisms from other Web Services
            specifications such as WS-Security and WS-MetadataExchange.</phrase></p>
    </div2>
    <div2 id="spoofing-and-tampering-threats" diff="add">
        <head><phrase diff="add">Spoofing and Tampering Threats</phrase></head>
        <p><phrase diff="add">If a policy expression is unsigned it could be easily tampered with or replaced. To
            prevent tampering or spoofing of policy, requestors should discard a policy unless it is
            signed by the provider and presented with sufficient credentials. Requestors should also
            check that the signer is actually authorized to express policies for the given policy
            subject.</phrase></p>
    </div2>
    <div2 id="downgrade-threats" diff="add">
        <head><phrase diff="add">Downgrade Threats</phrase></head>
        <p><phrase diff="add">A policy may offer several alternatives that vary from weak to strong set of
            requirements. An adversary may interfere and remove all the alternatives except the
            weakest one (say no security requirements). Or, an adversary may interfere and discard
            this policy and insert a weaker policy previously issued by the same provider. Policy
            authors or providers can mitigate these threats by sun-setting older or weaker policy
            alternatives. Requestors can mitigate these threats by discarding policies unless they are
            signed by the provider.</phrase></p>
    </div2>
    <div2 id="repudiation-threats" diff="add">
        <head><phrase diff="add">Repudiation Threats</phrase></head>
        <p><phrase diff="add">Malicious providers may include policy assertions in its policy whose behavior cannot be
            verified by examining the wire message from the provider to requestor. In general,
            requestors have no guarantee that a provider will behave as described in the provider’s
            policy expression. The provider may not and perform a malicious activity. For example, say
            the policy assertion is privacy notice information and the provider violates the semantics
            by disclosing private information. Requestors can mitigate this threat by discarding
            policy alternatives which include assertions whose behavior cannot be verified by
            examining the wire message from the provider to requestor. Assertion authors can mitigate
            this threat by not designing assertions whose behavior cannot be verified using wire
            messages.</phrase></p>
    </div2>
    <div2 id="denial-of-service-threats" diff="add">
        <head><phrase diff="add">Denial of Service Threats</phrase></head>
        <p><phrase diff="add">Malicious providers may provide a policy expression with a large number of alternatives,
            a large number of assertions in alternatives, deeply nested policy expressions or chains
            of PolicyReference elements that expand exponentially (see the chained sample below; this
            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.</phrase></p>
        <example id="ex-chained-policy-reference-elements">
            <head><phrase diff="add">Chained Policy Reference Elements</phrase></head>
            <eg xml:space="preserve" role="needs-numbering">&lt;Policy wsu:Id="p1"&gt;
                &lt;PolicyReference URI="#p2"/ &gt;
                &lt;PolicyReference URI="#p2"/&gt;
                &lt;/Policy&gt;
                
                &lt;Policy wsu:Id="p2" &gt;
                &lt;PolicyReference URI="#p3"/&gt;
                &lt;PolicyReference URI="#p3"/&gt;
                &lt;/Policy&gt;
                
                &lt;Policy wsu:Id="p3" &gt;
                &lt;PolicyReference URI="#p4"/&gt;
                &lt;PolicyReference URI="#p4"/&gt;
                &lt;/Policy&gt;
                
                &lt;!-- Policy/@wsu:Id p4 through p99 --&gt;
                
                &lt;Policy wsu:Id="p100" &gt;
                &lt;PolicyReference URI="#p101"/&gt;
                &lt;PolicyReference URI="#p101"/&gt;
                &lt;/Policy&gt;
                
                &lt;Policy wsu:Id="p101" &gt;
                &lt;mtom:OptimizedMimeSerialization /&gt;
                &lt;/Policy&gt;</eg>
        </example>
        <p><phrase diff="add">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
            defaults on number of PolicyReference elements per policy expression.</phrase></p>
    </div2>
    <div2 id="general-xml-considerations" diff="add">
        <head><phrase diff="add">General XML Considerations</phrase></head>
        <p><phrase diff="add">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.</phrase></p>
    </div2>
</div1>
<div1 id="Conformance">
    <head>Conformance</head>
    <p diff="add"><phrase diff="add">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 [</phrase><bibref ref="XMLSchemaPart1"></bibref><phrase diff="add">] for that element as defined by this specification (</phrase><loc href="http://www.w3.org/@@@@/@@/policy/ws-policy.xsd" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">http://www.w3.org/@@@@/@@/policy/ws-policy.xsd</phrase></loc><phrase diff="add">) and additionally adheres to all the constraints contained in this specification. Such a conformant element information item constitutes a </phrase><termref def="policy_expression"><phrase diff="add">policy expression</phrase></termref><phrase diff="add">.
</phrase></p>
</div1>
    </body>
    <back>
<div1 id="References">
<head>References</head>

    <div2 id="Normative-References">
        <head>Normative References</head>

	<blist>
	  <bibl key="IETF RFC 2119" href="http://www.ietf.org/rfc/rfc2119.txt" id="RFC2119" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	    <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Key words for use in RFCs to Indicate
	    Requirement Levels</titleref>, S. Bradner, Author. Internet
	    Engineering Task Force, June 1999. Available at
	    http://www.ietf.org/rfc/rfc2119.txt.
	  </bibl>
	    <bibl key="IETF RFC 3987" href="http://www.ietf.org/rfc/rfc3987.txt" id="RFC3987" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	      <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Internationalized Resource Identifiers (IRIs)
	      </titleref>, M. Duerst and M. Suignard, 
	        Authors. Internet Engineering Task Force,
	    January 2005. Available at
	    http://www.ietf.org/rfc/rfc3987.txt.
	  </bibl>
	  <bibl id="WS-Security" key="WS-Security 2004" href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	    <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Web Services Security: SOAP Message Security 1.0
	    (WS-Security 2004)</titleref>, A. Nadalin, C. Kaler,
	    P. Hallam-Baker, and R. Monzillo, Editors.
	    Organization for the Advancement of Structured Information Standards, March 2004. Available at
	    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf.
	  </bibl>
	  <bibl id="XML10" key="XML 1.0" href="http://www.w3.org/TR/2006/REC-xml-20060816" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple" diff="chg">
	    <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Extensible Markup Language (XML) 1.0 (Fourth
	    Edition)</titleref>, T.  Bray, J. Paoli,
	    C. M. Sperberg-McQueen, and E. Maler, Editors. World Wide
	    Web Consortium, 10 February 1998, revised 16 August 2006. This version of the XML
	    1.0 Recommendation is
	    <phrase diff="chg">http://www.w3.org/TR/2006/REC-xml-20060816. </phrase>The <loc href="http://www.w3.org/TR/REC-xml/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest version of XML
	    1.0</loc> is available at <phrase diff="chg">http://www.w3.org/TR/REC-xml.
	  </phrase></bibl>
	    <bibl id="XMLID" key="XML ID" href="http://www.w3.org/TR/2005/REC-xml-id-20050909/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	        <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">xml:id Version 1.0</titleref>,
	        J. Marsh, D. Veillard and N. Walsh, Editors. World Wide Web Consortium,
	        9 September 2005.  This version of
	        the xml:id Version 1.0 Recommendation is
	        http://www.w3.org/TR/2005/REC-xml-id-20050909/. The
	        <loc href="http://www.w3.org/TR/xml-id/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	            version of xml:id Version 1.0</loc> is available at
	        http://www.w3.org/TR/xml-id/.
	  </bibl>	  
	  <bibl id="XMLInfoset" key="XML Information Set" href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	    <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">XML Information Set (Second Edition)</titleref>,
	    J. Cowan and R. Tobin, Editors. World Wide Web Consortium,
	    24 October 2001, revised 4 February 2004.  This version of
	    the XML Information Set Recommendation is
	    http://www.w3.org/TR/2004/REC-xml-infoset-20040204. The
	    <loc href="http://www.w3.org/TR/xml-infoset/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	    version of XML Information Set</loc> is available at
	    http://www.w3.org/TR/xml-infoset.
	  </bibl>
	  <bibl id="XML-NS" key="XML Namespaces" href="http://www.w3.org/TR/2006/REC-xml-names-20060816/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	    <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Namespaces in XML 1.0</titleref>, T. Bray,
	    D. Hollander, A. Layman, and R. Tobin, Editors. World Wide Web
	    Consortium, 14 January 1999, revised 16 August 2006. This version of the XML
	    Information Set Recommendation is
	    http://www.w3.org/TR/2006/REC-xml-names-20060816/. The <loc href="http://www.w3.org/TR/REC-xml-names/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest version
	    of Namespaces in XML</loc> is available at
	    http://www.w3.org/TR/REC-xml-names.
	  </bibl>
	  <bibl id="XMLSchemaPart1" key="XML Schema Structures" href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	    <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">XML Schema Part 1: Structures Second
	    Edition</titleref>, H. Thompson, D. Beech, M. Maloney, and
	    N. Mendelsohn, Editors. World Wide Web Consortium, 2 May
	    2001, revised 28 October 2004. This version of the XML
	    Schema Part 1 Recommendation is
	    http://www.w3.org/TR/2004/REC-xmlschema-1-20041028. The
	    <loc href="http://www.w3.org/TR/xmlschema-1/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	    version of XML Schema Part 1</loc> is available at
	    http://www.w3.org/TR/xmlschema-1.
	  </bibl>
	  <bibl key="XML Schema Datatypes" id="XMLSchemaPart2" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	    <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">XML Schema Part 2: Datatypes Second
	    Edition</titleref>, P. Byron and A. Malhotra,
	    Editors. World Wide Web Consortium, 2 May 2001, revised 28
	    October 2004. This version of the XML Schema Part 2
	    Recommendation is
	    http://www.w3.org/TR/2004/REC-xmlschema-2-20041028. The
	    <loc href="http://www.w3.org/TR/xmlschema-2/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	    version of XML Schema Part 2</loc> is available at
	    http://www.w3.org/TR/xmlschema-2.
	  </bibl>
	</blist>
    </div2>
    <div2 id="Informative-References">
      <head>Other References</head>
      <blist>
      <bibl id="C14NNOTE" key="C14N 1.0 Note" href="http://www.w3.org/2006/04/c14n-note/c14n-note.html" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
          <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Known Issues with Canonical XML 1.0 (C14N/1.0)</titleref>, 
          J. Kahan and K. Lanz, Editors. World Wide Web
          Consortium, 17 August 2006.
          Available at http://www.w3.org/2006/04/c14n-note/c14n-note.html.
      </bibl>
	<bibl id="SOAP11" key="SOAP 1.1" href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Simple Object Access Protocol (SOAP)
	  1.1</titleref>, D. Box, et al, Editors. World Wide Web
	  Consortium, 8 May 2000.
	  Available at http://www.w3.org/TR/2000/NOTE-SOAP-20000508/.
	</bibl>
	<bibl id="SOAP12" key="SOAP 1.2 Messaging Framework" href="http://www.w3.org/TR/2003/REC-soap12-part1-20030624/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">SOAP Version 1.2 Part 1: Messaging
	  Framework</titleref>, M. Gudgin, M.  Hadley, N. Mendelsohn,
	  J-J. Moreau, H. Frystyk Nielsen, Editors. World Wide Web
	  Consortium, 24 June 2003. This version of the SOAP Version
	  1.2 Part 1: Messaging Framework Recommendation is
	  http://www.w3.org/TR/2003/REC-soap12-part1-20030624/. The
	  <loc href="http://www.w3.org/TR/soap12-part1/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	  version of SOAP Version 1.2 Part 1: Messaging
	  Framework</loc> is available at
	  http://www.w3.org/TR/soap12-part1/.
	</bibl>
      <bibl id="UDDIAPI20" key="UDDI API 2.0" href="http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	<titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">UDDI Version 2.04 API</titleref>, T. Bellwood,
	Editor.  Organization for the Advancement of Structured
	Information Standards, 19 July 2002. This version of UDDI
	Version 2.0 API is
	http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm. The
	<loc href="http://uddi.org/pubs/ProgrammersAPI_v2.htm" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	version of the UDDI 2.0 API</loc> is available at
	http://uddi.org/pubs/ProgrammersAPI_v2.htm.
      </bibl>
      <bibl id="UDDIDataStructure20" key="UDDI Data Structure 2.0" href="http://uddi.org/pubs/DataStructure-V2.03-Published-20020719.htm" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	<titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">UDDI Version 2.03 Data Structure
	Reference</titleref>, C. von Riegen, Editor. Organization for
	the Advancement of Structured Information Standards, 19 July
	2002. This version of UDDI Version 2.0 Data Structures is
	http://uddi.org/pubs/DataStructure-V2.03-Published-20020719.htm. The
	<loc href="http://uddi.org/pubs/DataStructure_v2.htm" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	version of the UDDI 2.0 Data Structures</loc> is available at
	http://uddi.org/pubs/DataStructure_v2.htm.
      </bibl>
	<bibl id="UDDI30" key="UDDI 3.0" href="http://uddi.org/pubs/uddi-v3.0.1-20031014.htm" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">UDDI Version 3.0.1</titleref>, L. Clément, et
	  al, Editors. Organization for the Advancement of Structured Information Standards, 14 October 2003. This version of the
	  UDDI Version 3.0 is
	  http://uddi.org/pubs/uddi-v3.0.1-20031014.htm. The <loc href="http://uddi.org/pubs/uddi_v3.htm" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest version of
	  the UDDI 3.0</loc> specification is available at
	  http://uddi.org/pubs/uddi_v3.htm.
	</bibl>
	<bibl id="WS-PolicyAttachment" key="Web Services Policy Attachment" href="ws-policy-attachment.html" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple" diff="chg">
	  <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Web Services Policy 1.5 - Attachment</titleref>, A. S. Vedamuthu, D. Orchard, M. Hondo, T. Boubez and P. Yendluri,
	  Editors. World Wide Web Consortium, <phrase diff="chg">@@,
	  @@@@ @@@@.  </phrase>This version of the
	  specification of the Web Services Policy 1.5 - Attachment specification is
	  <phrase diff="chg">ws-policy-attachment.html. </phrase>The <loc href="http://www.w3.org/TR/ws-policy-attachment" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	  version of Web Services Policy 1.5 - Attachment</loc> is available at
	  <phrase diff="chg">http://www.w3.org/TR/ws-policy-attachment.
	</phrase></bibl>
	<bibl id="WS-SecurityPolicy" key="WS-SecurityPolicy" href="http://www.oasis-open.org/committees/download.php/15979/oasis-wssx-ws-securitypolicy-1.0.pdf" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">WS-SecurityPolicy v1.0</titleref>, A. Nadalin,
	  M. Gudgin, A. Barbir, and H. Granqvist, Editors. Organization for the Advancement of Structured Information Standards, 8
	  December 2005. Available at
	  http://www.oasis-open.org/committees/download.php/15979/oasis-wssx-ws-securitypolicy-1.0.pdf.
	</bibl>
	<bibl id="WSDL11" key="WSDL 1.1" href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Web Services Description Language (WSDL)
	  1.1</titleref>, E. Christensen, et al, Authors. World Wide
	  Web Consortium, March 2001. Available at
	  http://www.w3.org/TR/2001/NOTE-wsdl-20010315.
	</bibl>
	<bibl key="WSDL 2.0 Core Language" id="WSDL20" href="http://www.w3.org/TR/2006/CR-wsdl20-20060327/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">Web Services Description Language (WSDL) Version
	  2.0 Part 1: Core Language</titleref>, R. Chinnici,
	  J. J. Moreau, A. Ryman, S. Weerawarana, Editors. World Wide
	  Web Consortium, 27 March 2006. This version of the WSDL 2.0
	  specification is
	  http://www.w3.org/TR/2006/CR-wsdl20-20060327. The <loc href="http://www.w3.org/TR/wsdl20/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest version of WSDL
	  2.0</loc> is available at
	  http://www.w3.org/TR/wsdl20.
	</bibl>
	<bibl id="XML-Signature" key="XML-Signature" href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/" xlink:actuate="onRequest" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="new">XML-Signature Syntax and Processing</titleref>,
	  D. Eastlake, J. Reagle, and D. Solo, Editors. The Internet
	  Society &amp; World Wide Web Consortium, 12 February
	  2002. This version of the XML-Signature Syntax and
	  Processing Recommendation is
	  http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/. The
	  <loc href="http://www.w3.org/TR/xmldsig-core/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">latest
	  version of XML-Signature Syntax and Processing</loc> is
	  available at http://www.w3.org/TR/xmldsig-core/.
	</bibl>
      </blist>
    </div2>

</div1>
      
<inform-div1 id="acknowledgments">
  <head>Acknowledgements</head>

  <p>This document is the work of the <loc href="http://www.w3.org/2002/ws/policy/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">W3C Web Services Policy
  Working Group</loc>.</p>

  <p>
    Members of the Working Group are (at the time of writing, and by
    alphabetical order):
      Dimitar Angelov (SAP AG), Abbie Barbir (Nortel Networks), Charlton Barreto (Adobe Systems Inc.), Sergey Beryozkin (IONA Technologies, Inc.), Vladislav Bezrukov (SAP AG), Toufic Boubez (Layer 7 Technologies), Paul Cotton (Microsoft Corporation), Jeffrey Crump (Sonic Software), Glen Daniels (Sonic Software), Ruchith Fernando (WSO2), Christopher Ferris (IBM Corporation), William Henry (IONA Technologies, Inc.), Frederick Hirsch (Nokia), Maryann Hondo (IBM Corporation), Tom Jordahl (Adobe Systems Inc.), Philippe Le Hégaret (W3C/MIT), Jong Lee (BEA Systems, Inc.), Mark Little (JBoss Inc.), Ashok Malhotra (Oracle Corporation), Monica Martin (Sun Microsystems, Inc.), Jeff Mischkinsky (Oracle Corporation), Dale Moberg (Cyclone Commerce, Inc.), Anthony Nadalin (IBM Corporation), David Orchard (BEA Systems, Inc.), <phrase diff="del">Bijan Parsia (University of Manchester), </phrase>Fabian Ritzmann (Sun Microsystems, Inc.), Daniel Roth (Microsoft Corporation), Sanka Samaranayake (WSO2), Felix Sasaki (W3C/Keio), Skip Snow (Citigroup), Yakov Sverdlov (Computer Associates), Mark Temple-Raston (Citigroup), Asir Vedamuthu (Microsoft Corporation), Sanjiva Weerawarana (WSO2), Ümit Yalçinalp (SAP AG), Prasad Yendluri (webMethods, Inc.).
  </p>

  <p diff="add">
    <phrase diff="add">Previous members of the Working Group were:
       Bijan Parsia (University of Manchester), Seumas Soltysik (IONA Technologies, Inc.)

  </phrase></p>

  <p>
    The people who have contributed to <loc href="http://lists.w3.org/Archives/Public/public-ws-policy/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">discussions
    on public-ws-policy@w3.org</loc> are also gratefully
    acknowledged.
  </p>
</inform-div1>

<inform-div1 id="change-description">
  <head>Changes in this Version of the Document</head>
    <p>A list of substantive changes since the Working Draft dated <phrase diff="chg">27 September, </phrase>2006
    is below:</p>
    <ulist>
        <item><p><phrase diff="chg">Enhanced Conformance </phrase><phrase diff="add">section.</phrase></p></item>
        <item diff="add"><p><phrase diff="add">Enhanced Security Considerations section.</phrase></p></item>
        <item diff="add"><p><phrase diff="add">Clarified WS-Policy 1.5 Framework and Attachment XML Namespace URI versioning Policy.</phrase></p></item>
        <item diff="add"><p><phrase diff="add">Clarified</phrase><phrase diff="del">for </phrase>the <phrase diff="add">policy model for</phrase><phrase diff="del">xml:id </phrase><phrase diff="add">Web Services.</phrase><phrase diff="del">attribute.</phrase></p></item>
        <item><p><phrase diff="chg">Clarified </phrase><phrase diff="add">that </phrase>an <phrase diff="chg">Element (EII) </phrase><phrase diff="add">within a policy expression MUST be an assertion.</phrase><phrase diff="del">section.</phrase></p></item>
        <item><p><phrase diff="chg">Clarified that policy </phrase><phrase diff="add">assertion parameters are opaque to framework processing.</phrase><phrase diff="del">IRI.</phrase></p></item>
        <item diff="add"><p><phrase diff="add">Added PolicyReference extensibility via {Any}</phrase></p></item>
        <item diff="add"><p><phrase diff="add">Clarified constraints on @xml:id type usage for Policy Identification.</phrase></p></item>
        <item diff="add"><p><phrase diff="add">Clarified that a wsp:PolicyReference can be used any place where a wsp:Policy element can be used</phrase></p></item>
    
  </ulist>
</inform-div1>
        <inform-div1 id="change-log">
            <head>Web Services Policy 1.5 - Framework Change Log</head>
            <table id="ws-policy-framework-changelog-table" border="1">
                <tbody>
                    <tr>
                        <th rowspan="1" colspan="1">Date</th>
                        <th rowspan="1" colspan="1">Author</th>
                        <th rowspan="1" colspan="1">Description</th>
                    </tr>
                    <!-- template
                        <tr>
                        <td>200505</td>
                        <td></td>
                        <td></td>
                        </tr>
                    -->
                    <tr> 
                        <td rowspan="1" colspan="1">20060712</td>
                        <td rowspan="1" colspan="1">ASV</td>
                        <td rowspan="1" colspan="1">Updated the list of editors. Completed action items
                            <loc href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action12" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">12</loc>,
                            <loc href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action16" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">16</loc> and 
                            <loc href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action20" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">20</loc> 
                            from the Austin F2F.</td>
                    </tr>
                    <tr>
                       	<td rowspan="1" colspan="1">20060718</td>
                       	<td rowspan="1" colspan="1">DBO</td>
                       	<td rowspan="1" colspan="1">Completed action items: RFC2606 for domain names <loc href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action09" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">09</loc> 
                       	(note: PLH had already done but it didn't show up in the change log)
                       	</td>
                    </tr>
                    <tr>
                        <td rowspan="1" colspan="1">20060726</td>
                        <td rowspan="1" colspan="1">ASV</td>
                        <td rowspan="1" colspan="1">Incorporated the 
                            <loc href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Jul/0107.html" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">XML 
                        namespace URI versioning policy</loc> adopted by the WG. 
                        </td>
                    </tr>
                    <tr>
                       	<td rowspan="1" colspan="1">20060803</td>
                       	<td rowspan="1" colspan="1">PY</td>
                       	<td rowspan="1" colspan="1">Completed Issue: <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3551" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3551</loc> 
                       	 Misc updates throughout.                     	
                       	</td>
                    </tr>
                    <tr>
                       	<td rowspan="1" colspan="1">20060808</td>
                       	<td rowspan="1" colspan="1">PY</td>
                       	<td rowspan="1" colspan="1">Completed action item: <loc href="http://www.w3.org/2006/07/13-ws-policy-minutes.html#action20" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">20</loc> 
                       	    to highlight infoset terms uniformly.                     	
                       	</td>
                    </tr>
                    <tr>
                       	<td rowspan="1" colspan="1">20060808</td>
                       	<td rowspan="1" colspan="1">DBO</td>
                       	<td rowspan="1" colspan="1">Completed action items: <loc href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action15" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">15</loc> 
                       	    as early as possible in the doc, use the definition that are defined in the doc.                     	
                       	</td>
                    </tr>
                    <tr>
                        <td rowspan="1" colspan="1">20060808</td>
                        <td rowspan="1" colspan="1">ASV</td>
                        <td rowspan="1" colspan="1">Implemented the 
                        <loc href="http://www.w3.org/2006/08/02-ws-policy-minutes.html#action08" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                        for issue 
                        <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3543" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3543</loc> and
                            the <loc href="http://www.w3.org/2006/07/26-ws-policy-minutes.html#action15" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">
                                resolution</loc> for issue 
                            <loc href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Jul/0072.html" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">
                                'Modify wording in Abstract for Framework'</loc>. 
                            Restored Section <specref ref="Extensibility"></specref> (that was accidentally dropped).
                            Completed action item <loc href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action17" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">17</loc> 
                            from the Austin F2F.
                        </td>
                    </tr>
                    <tr>
                        <td rowspan="1" colspan="1">20060809</td>
                        <td rowspan="1" colspan="1">ASV</td>
                        <td rowspan="1" colspan="1">Implemented the 
                            <loc href="http://www.w3.org/2006/08/09-ws-policy-minutes.html#action08" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3563" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3563</loc>.
                        </td>
                    </tr>
                    <tr>
                       	<td rowspan="1" colspan="1">20060811</td>
                       	<td rowspan="1" colspan="1">DBO</td>
                       	<td rowspan="1" colspan="1">Completed action items: <loc href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action15" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">15</loc> 
                       	    remove use if emph/ital terms.  Framework: removed emph on conceptually replace and support; attachment: make merge a termdef                     	
                       	</td>
                    </tr>
                    <tr>
                        <td rowspan="1" colspan="1">20060813</td>
                        <td rowspan="1" colspan="1">ASV</td>
                        <td rowspan="1" colspan="1">Added a new Section <specref ref="change-description"></specref> (that provides 
                        a list of substantive chanages since the previous publication).                    	
                        </td>
                    </tr>
                    <tr>
                        <td rowspan="1" colspan="1">20060818</td>
                        <td rowspan="1" colspan="1">ASV</td>
                        <td rowspan="1" colspan="1">Implemented the 
                            <loc href="http://www.w3.org/2006/08/16-ws-policy-minutes.html#action10" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3560" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3560</loc>.                  	
                        </td>
                    </tr>                       
                    <tr>
                        <td rowspan="1" colspan="1">20060822</td>
                        <td rowspan="1" colspan="1">TIB</td>
                        <td rowspan="1" colspan="1">Completed action item:
                            <loc href="http://www.w3.org/2006/08/16-ws-policy-minutes.html#action05" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3565" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3565</loc>.                  	
                        </td>
                    </tr> 
                    <tr>
                        <td rowspan="1" colspan="1">20060824</td>
                        <td rowspan="1" colspan="1">PY</td>
                        <td rowspan="1" colspan="1">Completed action item:
                            <loc href="http://www.w3.org/2006/08/23-ws-policy-minutes.html#action08" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3552" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3552</loc>.                  	
                        </td>
                    </tr>                       
                    <tr>
                        <td rowspan="1" colspan="1">20060827</td>
                        <td rowspan="1" colspan="1">TIB</td>
                        <td rowspan="1" colspan="1">Completed action item:
                            <loc href="http://www.w3.org/2006/08/23-ws-policy-minutes.html#action03" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                            for adding Conformance section.                  	
                        </td>
                    </tr>
                    <tr>
                    	<td rowspan="1" colspan="1">20060828</td>
                    	<td rowspan="1" colspan="1">DBO</td>
                    	<td rowspan="1" colspan="1">Completed action item:
                    	Partial <loc href="http://www.w3.org/2006/08/23-ws-policy-minutes.html#action14" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                    	for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3590" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3590</loc>.
                            for adding document attribute extensbility of wsp:Policy/@{any} and wsp:Policy/.../wsp:PolicyReference/@{any}                  	
                        </td>
                    </tr>
                    <tr>
                        <td rowspan="1" colspan="1">20060829</td>
                        <td rowspan="1" colspan="1">ASV</td>
                        <td rowspan="1" colspan="1">Implemented the 
                            <loc href="http://www.w3.org/2006/08/23-ws-policy-minutes.html#action06" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3561" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3561</loc>: replaced URI with IRI.                	
                        </td>
                    </tr>
                       <tr>
                    	<td rowspan="1" colspan="1">20060830</td>
                    	<td rowspan="1" colspan="1">DBO</td>
                    	<td rowspan="1" colspan="1">Completed action item:
                    	<loc href="http://www.w3.org/2005/06/tracker/wspolicy/actions/77" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                    	for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3604" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3604</loc>.
                            Removing Goals section, resulted in moving Policy expression definition to 2nd para of intro.                 	
                        </td>
                    </tr>
                    <tr>
                    	<td rowspan="1" colspan="1" diff="chg">20060906</td>
                    	<td rowspan="1" colspan="1">DBO</td>
                    	<td rowspan="1" colspan="1">Completed partial resolution	for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3590" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3590</loc>.
                            for adding document attribute extensbility of wsp:Policy/@{any} and wsp:Policy/.../wsp:PolicyReference/@{any},
                            specifically making attribute extensibility for any namespace.             	
                        </td>
                    </tr>
                    <tr>
                        <td rowspan="1" colspan="1">20060906</td>
                        <td rowspan="1" colspan="1">TIB</td>
                        <td rowspan="1" colspan="1">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicy/actions/89" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">resolution</loc> 
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3607" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace">3607</loc>.
                            Better describe policy language capabilities in the Introduction.
                        </td>
                    </tr>
                    <tr diff="add">
                    	<td rowspan="1" colspan="1" diff="add">20060912</td>
                    	<td rowspan="1" colspan="1" diff="add">DBO</td>
                    	<td rowspan="1" colspan="1" diff="add">Completed action item:
                    	    <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/6" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">6</phrase></loc>.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060913</td>
                        <td rowspan="1" colspan="1" diff="add">TIB</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/8" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">8</phrase></loc>.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060913</td>
                        <td rowspan="1" colspan="1" diff="add">TIB</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/31" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">31</phrase></loc>.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060913</td>
                        <td rowspan="1" colspan="1" diff="add">TIB</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/11" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">11</phrase></loc>.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060918</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/16" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">16</phrase></loc>.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060918</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/17" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">17</phrase></loc>.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060918</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/23" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">23</phrase></loc>
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3617" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3617</phrase></loc>,
                            Namespace URI versioning Policy is not clear.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060918</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/33" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">33</phrase></loc>
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3672" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3672</phrase></loc>,
                            Clarify the policy model for Web Services.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060918</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/34" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">34</phrase></loc>
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3703" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3703</phrase></loc>,
                            Element within policy expression must be an assertion.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060918</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/39" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">39</phrase></loc>
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3710" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3710</phrase></loc>,
                            Clarify that policy assertion parameters are opaque to framework processing.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060918</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/40" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">40</phrase></loc>
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3711" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3711</phrase></loc>,
                            Add Cross-Product description to 4.3.3 in Framework.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060920</td>
                        <td rowspan="1" colspan="1" diff="add">DBO</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item: <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/24" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">24</phrase></loc> for issues <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3662" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3662</phrase></loc>, Add PolicyReference extensibility as ##any. And <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/25" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">25</phrase></loc> for issue <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3590" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3590</phrase></loc>, Add PolicyReference extensibility.</td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060921</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/29" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">29</phrase></loc>
                            for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3577" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3577</phrase></loc>,
                            Semantics of successful intersection determined by domain-specific assertion content.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060924</td>
                        <td rowspan="1" colspan="1" diff="add">TIB</td>
                        <td rowspan="1" colspan="1" diff="add">Implemented the 
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/35" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">editorial action 35</phrase></loc> 
                            to include the Security Considerations section from the Primer document.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060926</td>
                        <td rowspan="1" colspan="1" diff="add">ASV</td>
                        <td rowspan="1" colspan="1" diff="add">Implemented the action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/30" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">30</phrase></loc> 
                            resolution for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3549" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3549</phrase></loc>.                	
                        </td>
                    </tr>
                     <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060927</td>
                        <td rowspan="1" colspan="1" diff="add">MH</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/02" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">02</phrase></loc> 
                            resolution for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3706" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3706</phrase></loc> - changing "domain authors" to "authors".                	
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20060927</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/46" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">46</phrase></loc> 
                            resolution for issue 
                            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3752" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3752</phrase></loc> - Clarify restrictions of ID type usage.                	
                        </td>
                    </tr>
                    <tr diff="add">
                    	<td rowspan="1" colspan="1" diff="add">20061002</td>
                    	<td rowspan="1" colspan="1" diff="add">DBO</td>
                    	<td rowspan="1" colspan="1" diff="add">Completed action item:
                    	    <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/7" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">7</phrase></loc>.
                        </td>
                    </tr>
                    <tr diff="add">
<td rowspan="1" colspan="1" diff="add">20061002</td>
<td rowspan="1" colspan="1" diff="add">DBO</td>
<td rowspan="1" colspan="1" diff="add">Implemented the 
            <loc href="http://www.w3.org/2005/06/tracker/wspolicy/actions/64" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"></loc> 
            for issue 
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3559" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3559</phrase></loc>: Conformance Section.                	
          </td>
</tr>
<tr diff="add">
<td rowspan="1" colspan="1" diff="add">20061002</td>
<td rowspan="1" colspan="1" diff="add">DBO</td>
<td rowspan="1" colspan="1" diff="add">Implemented the 
            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/48" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc>
            for issue 
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3712" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3712</phrase></loc>:wsp:PolicyReference can be used in any place where you can use wsp:Policy               	
          </td>
</tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20061004</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/10" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">10</phrase></loc> Recast text at the beg of section to describe what's upcoming in the subsections.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20061007</td>
                        <td rowspan="1" colspan="1" diff="add">TIB</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/47" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">47</phrase></loc> Issue 3602 Resolution - The absence of an assertion should not mean that the behavior is "explicitly prohibited".
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20061007</td>
                        <td rowspan="1" colspan="1" diff="add">TIB</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/19" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">19</phrase></loc> Add an intro paragraph that introduces the material in section 4.3.3.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20061008</td>
                        <td rowspan="1" colspan="1" diff="add">MH</td>
                        <td rowspan="1" colspan="1" diff="add">Completed action item:
                            <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/45" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">45</phrase></loc> Replace security policy example 1.1. as per issue 3753.
                        </td>
                    </tr>
                    <tr diff="add">
                        <td rowspan="1" colspan="1" diff="add">20061011</td>
                        <td rowspan="1" colspan="1" diff="add">PY</td>
                        <td rowspan="1" colspan="1" diff="add">Updated "Changes in this Version" section (Appendix C)
                        </td>
                    </tr>
                     <tr diff="add">
                       	<td rowspan="1" colspan="1" diff="add">20061012</td>
                       	<td rowspan="1" colspan="1" diff="add">DBO</td>
                       	<td rowspan="1" colspan="1" diff="add">Revisited action items: <loc href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action15" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">15</phrase></loc> 
                       	    as early as possible in the doc, use the definition that are defined in the doc.  Opened as Bug
                       	     <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3720" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3720</phrase></loc>                 	
                       	</td>
                    </tr>
                
                    
                </tbody>
            </table>
        </inform-div1>
    </back>
</spec>
