<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.2+Addr//EN" "xmlspec.dtd">
<!--
/*
 * Copyright © 2006 World Wide Web Consortium,
 *
 * (Massachusetts Institute of Technology, European Research Consortium for
 * Informatics and Mathematics, Keio University). All Rights Reserved. This
 * work is distributed under the W3C® Document License [1] in the hope that
 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
 */
    -->
<!-- $Id: ws-policy-framework.xml,v 1.1 2006/09/23 00:44:59 fsasaki Exp $ -->
<?xml-stylesheet type='text/xsl' href='xmlspec-policy.xsl'?><spec w3c-doctype="wd" role="public">
    <header>
        <title>Web Services Policy 1.5 - Framework</title>
        <w3c-designation>http://www.w3.org/TR/2006/WD-ws-policy-20060927</w3c-designation>
        <w3c-doctype>W3C Working Draft</w3c-doctype>
        <pubdate>
            <day>27</day>
            <month>September</month>
            <year>2006</year>
        </pubdate>
        <publoc>
            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2006/WD-ws-policy-20060927" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/2006/WD-ws-policy-20060927</loc>
        </publoc>
	<altlocs>
	<loc xmlns:xlink="http://www.w3.org/1999/xlink" role="pdf" href="ws-policy-framework.pdf" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PDF</loc>
	<loc xmlns:xlink="http://www.w3.org/1999/xlink" role="postscript" href="ws-policy-framework.ps" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PostScript</loc>
	<loc xmlns:xlink="http://www.w3.org/1999/xlink" role="xml" href="ws-policy-framework.xml" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">XML</loc>
	<loc xmlns:xlink="http://www.w3.org/1999/xlink" role="plain" href="ws-policy-framework.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">plain text</loc>
    </altlocs>
	<prevlocs>
            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2006/WD-ws-policy-20060731" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/2006/WD-ws-policy-20060731</loc>
        </prevlocs>
        <latestloc>
            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/ws-policy" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/ws-policy</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 id="Status">

  <p><emph>This section describes the status of this document at the
  time of its publication. Other documents may supersede this
  document. A list of current W3C publications and the latest revision
  of this technical report can be found in the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C technical reports index</loc> at
  http://www.w3.org/TR/.</emph></p>

  <p>This is an updated Public Working Draft of the Web Services Policy 1.5 - Framework specification for review
  by W3C members and other interested parties. It has been produced by
  the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2002/ws/policy/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Web Services
  Policy Working Group</loc>, which is part of the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2002/ws/Activity" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C Web Services
  Activity</loc>. A list of <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#change-description" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">changes in this version of the document</loc> and a <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="ws-policy-framework-diff20060731.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">diff-marked version against the previous version of this document</loc> are available.</p>

  <p>Discussion of this document takes place on the public <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:public-ws-policy@w3.org" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public-ws-policy@w3.org</loc>
  mailing list (<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public
  archive</loc>) and within <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=WS-Policy&amp;component=Framework&amp;component=Framework%2BAttachment&amp;component=Framework%2BAttachment%2BPrimer" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Bugzilla</loc>.
  Comments on this specification should be made following the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2002/ws/policy/#issues" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Description for Issues</loc> of the Working Group.
  </p>

         <p> This document was produced by a group operating under the
      <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">5
      February 2004 W3C Patent Policy</loc>. W3C maintains a <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2004/01/pp-impl/39293/status" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public
      list of any patent disclosures</loc> made in connection with the
      deliverables of the group; that page also includes instructions
      for disclosing a patent. An individual who has actual knowledge
      of a patent which the individual believes contains <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Essential
      Claim(s)</loc> must disclose the information in accordance with
      <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">section
      6 of the W3C Patent Policy</loc>. </p>

  <p>
    Publication as a Working Draft does not imply endorsement by the W3C
    Membership. This is a draft document and may be updated, replaced or
    obsoleted by other documents at any time. It is inappropriate to
    cite this document as other than work in progress.
  </p>

</status>

	<langusage>
            <language id="en-US">English</language>
        </langusage>
        <revisiondesc>
            <p>Last Modified: $Date: 2006/09/23 00:44:59 $</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><termdef id="policy" term="policy">A <term>policy</term> is a collection of 
	    <termref def="policy_alternative">policy alternatives</termref>, </termdef>
	    where <termdef id="policy_alternative" term="policy alternative">a <term>policy alternative</term> 
	    is a collection of <termref def="policy_assertion">policy assertions</termref>.</termdef>
		<termdef id="policy_assertion" term="policy assertion">A <term>policy assertion</term> 
		represents an individual requirement, capability, or other property of a behavior.</termdef>
	    <termdef id="policy_expression" term="policy expression">A <term>policy expression</term> 
		is an XML Infoset representation of a <termref def="policy">policy</termref>, 
		either in a normal form or in an equivalent compact form.</termdef> 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 
	    <termref def="policy_attachment">policy attachment</termref>.
	    <termdef id="policy_attachment" term="policy attachment">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>.</termdef>
				<termdef id="policy_scope" term="policy scope">A <term>policy scope</term> is a collection of 
	    <termref def="policy_subject">policy subjects</termref> to which a policy may apply.</termdef>
				<termdef id="policy_subject" term="policy subject">A <term>policy subject</term> is an entity 
	    (e.g., an endpoint, message, resource, interaction) with which a 
	    <termref def="policy">policy</termref> can be associated. </termdef>

	    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"/>]
	    defines such mechanisms, especially for associating policy
	    with arbitrary XML elements [<bibref ref="XML10"/>], WSDL artifacts [<bibref ref="WSDL11"/>, <bibref ref="WSDL20"/>], and UDDI
	    elements [<bibref ref="UDDIAPI20"/>, <bibref ref="UDDIDataStructure20"/>, <bibref ref="UDDI30"/>].</p>


        <div2 id="Example">
            <head>Example</head>
            <p>The following example illustrates a security <termref def="policy_expression">policy expression</termref> using
                assertions defined in WS-SecurityPolicy [<bibref ref="WS-SecurityPolicy"/>]:</p>
            
            <example>
                <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/2006/07/ws-policy" &gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;sp:Basic256Rsa15 /&gt;
(04)     &lt;sp:TripleDesRsa15 /&gt;
(05)   &lt;/wsp:ExactlyOne&gt;
(06) &lt;/wsp:Policy&gt;</eg>
            </example>
            
            <p>Lines (01-06) represent a
                policy for the algorithm suite required for performing
                cryptographic operations with symmetric or asymmetric
                key-based security tokens.</p>
            
            <p>Lines (02-05) illustrate 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 uses
                one of the algorithm suite assertions (Lines 03-04)
                specified.</p>        
        </div2>
	</div1>
	<div1 id="Notation_Terminilogy">
	  <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"/>]. 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"/>)
	      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 namespace other than the http://www.w3.org/2006/07/ws-policy 
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"/>]
	    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>SHOULD</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"/>. Note that the choice of any namespace
                    prefix is arbitrary and not semantically significant (see [<bibref ref="XML-NS"/>]).</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"/>]</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><code>wsp</code></td>
<td rowspan="1" colspan="1"><code>http://www.w3.org/2006/07/ws-policy</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"/>]</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"/>]</td>
</tr>
</tbody>
</table>
                <p>All information items defined by this specification
                are identified by the XML namespace URI [<bibref ref="XML-NS"/>] <code>http://www.w3.org/2006/07/ws-policy</code>. A <xspecref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/ws-policy" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">normative XML Schema</xspecref> [<bibref ref="XMLSchemaPart1"/>, <bibref ref="XMLSchemaPart2"/>] 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 preponderance of 
	              instance would remain valid.</p></item>
	          <item>
	              <p>Modifications to the cardinality of elements 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"/>].
	    </p>
	    
<p>We introduce the following terms that are used throughout this document:</p>
 <glist><gitem><label><loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">policy</loc></label><def><p>A <term>policy</term> is a collection of 
	    <termref def="policy_alternative">policy alternatives</termref>, </p></def></gitem><gitem><label><loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_alternative" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">policy alternative</loc></label><def><p>a <term>policy alternative</term> 
	    is a collection of <termref def="policy_assertion">policy assertions</termref>.</p></def></gitem><gitem><label><loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_assertion" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_assertion_parameter" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_assertion_type" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_attachment" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_expression" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_scope" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_subject" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="#policy_vocabulary" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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>A <termref def="policy_assertion">policy
	    assertion</termref> identifies a behavior that is a
	    requirement (or capability) of a <termref def="policy_subject">policy
	    subject</termref>. Assertions indicate domain-specific (e.g.,
	    security, transactions) semantics and are expected to be
	    defined in separate, domain-specific specifications.</p>

	    <p>Assertions are strongly typed by the domain authors
	    that define them. 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.  
	    <termdef id="policy_assertion_type" term="policy assertion type">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.</termdef>
	    Assertions of
	    a given type <rfc2119>MUST</rfc2119> be consistently
	    interpreted independent of their <termref def="policy_subject">policy subjects</termref>.</p>

	    <p>Domain authors <rfc2119>MAY</rfc2119> define that an assertion contains a
	    <termref def="policy_expression">policy
	    expression</termref> as one of its <emph role="infoset-property">children</emph>. Policy
	    expression nesting is used by domain authors to further
	    qualify one or more specific aspects of the original
	    assertion. For example, security policy domain 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 content <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>Domain authors should be cognizant of the processing
	    requirements when defining complex assertions containing
	    additional assertion content or nested policy
	    expressions. Specifically, domain 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>A <termref def="policy_alternative">policy
	    alternative</termref> is a logical construct which
	    represents a potentially empty collection of <termref def="policy_assertion">policy assertions</termref>. An
	    alternative with zero assertions indicates no
	    behaviors. An alternative with one or more assertions
	    indicates behaviors implied by those, and only those
	    assertions. </p>

	    <p>The vocabulary of a policy alternative is the set of
	    all <termref def="policy_assertion_type">policy assertion
	    types</termref> within the alternative. 
	    <termdef id="policy_vocabulary" term="policy vocabulary">A <term>policy vocabulary</term> is the set of all 
	    <termref def="policy_assertion_type">policy assertion types</termref> used in a policy.</termdef>
	    An assertion whose type
	    is part of the policy's vocabulary but is not included in
	    an alternative is explicitly prohibited by the
	    alternative.</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. </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) 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>At the abstract level a <termref def="policy">policy</termref> is a potentially empty
	    collection of <termref def="policy_alternative">policy
	    alternatives</termref>. A policy with zero alternatives
	    contains no choices; a policy with one or more
	    alternatives indicates choice in requirements (or
	    capabilities) 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>Web services</head>

	    <p>Applied in the Web services model, <termref def="policy">policy</termref> is used to convey conditions
	    on an interaction between a Web service requestor and a Web service provider. Satisfying assertions in the policy usually
	    results in behavior that reflects these
	    conditions. Typically, the provider of a Web service
	    exposes a policy to convey conditions under which it
	    provides the service. A requester might use this policy to
	    decide whether or not to use the service. A requester may
	    choose any alternative since each is a valid configuration
	    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 a
	    requester if and only if the requester satisfies the
	    requirement (or accommodates the capability) corresponding
	    to the assertion. A <termref def="policy_alternative">policy alternative</termref> is
	    supported by a requester if and only if the
	    requester supports all the assertions in the
	    alternative. And, a <termref def="policy">policy</termref>
	    is supported by a requester if and only if
	    the requester 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 a requester may be able to support a policy
	    even if the requester 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 requester only has to understand the
	    type of each assertion in the vocabulary of a <termref def="policy_alternative">policy alternative</termref> the requester 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 requesters
	    to continue to use old alternatives in a
	    backward-compatible manner.</p>
	  </div2>
	</div1>
	<div1 id="rPolicy_Expression">
	  <head>Policy Expression</head>
	  
	  <p>To convey policy in an interoperable form, a <termref def="policy_expression">policy
	  expression</termref> is an XML Infoset representation of a policy. The
	  normal form policy expression is the most straightforward
	  Infoset; equivalent, alternative Infosets allow compactly
	  expressing a policy through a number of constructs.</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">&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 owner
element; 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 nested policy
expression, the nested policy expression <rfc2119>MUST</rfc2119>
contain at most one policy alternative.</p>

<p>To simplify processing and improve interoperability, the normal
form of a policy expression should be used where practical.</p>

<p>For example, the following is the normal form of the policy expression example introduced earlier.</p>
<eg xml:space="preserve">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/ws-policy" &gt;
(02)   &lt;wsp:ExactlyOne&gt;
(03)     &lt;wsp:All&gt;
(04)       &lt;sp:Basic256Rsa15 /&gt;
(05)     &lt;/wsp:All&gt;
(06)     &lt;wsp:All&gt;
(07)       &lt;sp:TripleDesRsa15 /&gt;
(08)     &lt;/wsp:All&gt;
(09)   &lt;/wsp:ExactlyOne&gt;
(10) &lt;/wsp:Policy&gt;</eg>

<p>Lines (03-05) and Lines (06-08) express the two alternatives in the
policy. If the first alternative is selected, only the Basic 256 RSA
15 algorithm suite [<bibref ref="WS-SecurityPolicy"/>] is supported;
conversely, if the second alternative is selected, only the 3DES RSA
15 algorithm suite is supported. </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"/>]. The schema outline
for attributes to associate an IRI is as follows:</p>

<eg xml:space="preserve">&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"/>]. 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"/>]. </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. To
refer to this policy expression, an IRI-reference
 <rfc2119>MAY</rfc2119> be formed using this value per Section 4.2 of
    WS-Security [<bibref ref="WS-Security"/>] 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"/>] 
    and thus this combination must be avoided (see [<bibref ref="C14NNOTE"/>]). 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">(01) &lt;wsp:Policy
        Name="http://www.example.com/policies/P1"
        xmlns:wsp="http://www.w3.org/2006/07/ws-policy" &gt;
(02)   &lt;!-- Details omitted for readability --&gt;
(03) &lt;/wsp:Policy&gt;</eg>
<p>The following example illustrates how to associate a policy expression with the IRI-reference <code>"#P1"</code>:</p>
<eg xml:space="preserve">(01) &lt;wsp:Policy
        wsu:Id="P1"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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>"http://www.w3.org/2006/07/ws-policy"</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"/>.</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>"http://www.w3.org/2006/07/ws-policy"</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"/>
and <specref ref="Policy_Assertion_Nesting"/>.</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"/>.</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
attribute that is a syntactic shortcut for expressing policy
alternatives with and without the assertion. The schema outline for
this attribute is as follows:</p>
<eg xml:space="preserve">&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 true, the expression of the assertion is semantically equivalent to the following:</p>
<eg xml:space="preserve">&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 false, the expression of the assertion is semantically equivalent to the following:</p>
<eg xml:space="preserve">&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">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/ws-policy" &gt;
(02)   &lt;sp:IncludeTimestamp wsp:Optional="true" /&gt;
(03) &lt;/wsp:Policy&gt;</eg>
<p>is equivalent to the following normal form policy expression:</p>
<eg xml:space="preserve">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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 nested <termref def="policy_expression">policy expression</termref>. The schema
outline for a nested policy expression is:</p>

<eg xml:space="preserve">&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"/>, this is equivalent to a
nested policy expression with a single alternative that has zero
assertions.  If this is not done then two assertions of the same type
will not be compatible and intersection may fail (see Section <specref ref="Policy_Intersection"/>).</p></def>
</gitem>
<gitem>
<label>/Assertion/*/wsp:Policy</label>

<def><p>This specification does not define processing for arbitrary
<el>wsp:Policy</el> Element Information Items in the descendants
of an assertion, 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 compact nested policy expression:</p>
<eg xml:space="preserve">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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 this policy is equivalent to the following:</p>
<eg xml:space="preserve">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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>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><el>wsp:Policy</el> is 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"/> and <specref ref="rPolicy"/>, respectively), <el>wsp:All</el> and
<el>wsp:ExactlyOne</el> are commutative. For example,</p>

<eg xml:space="preserve">&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">&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">&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">&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">&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">&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">&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">&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">&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">&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">&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">&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">&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">&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>Similarly,</p>
<eg xml:space="preserve">&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">&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">&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">&lt;wsp:ExactlyOne /&gt;</eg>
<p>For example, given the following compact policy expression:</p>
<eg xml:space="preserve">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</eg>
</def>
</gitem>
</glist>

<p>Applying Section <specref ref="Optional_Policy_Assertions"/> 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"/> for the assertions
in Lines (04-05) yields:</p>

<eg xml:space="preserve">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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_Inclusion">
<head>Policy Inclusion</head>
<p>In order to share <termref def="policy_assertion">assertions</termref> across <termref def="policy_expression">policy expressions</termref>, the <el>wsp:PolicyReference</el> element <rfc2119>MAY</rfc2119> 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.</p>
<p>When a <el>wsp:PolicyReference</el> element references a <el>wsp:Policy</el> element, then the semantics of inclusion are simply to replace the <el>wsp:PolicyReference</el> element with a <el>wsp:All</el> element whose <emph role="infoset-property">children</emph> property is the same as the <emph role="infoset-property">children</emph> property of the referenced <el>wsp:Policy</el> element. That is, the contents of the referenced policy conceptually replace the <el>wsp:PolicyReference</el> element and are wrapped in a <el>wsp:All</el> operator. Using the <el>wsp:PolicyReference</el> element, a policy expression <rfc2119>MUST NOT</rfc2119> reference itself either directly or indirectly. (Note: References that have a <att>@Digest</att> attribute <rfc2119>SHOULD</rfc2119> be validated before being included.)</p>
<p>The schema outline for the <el>wsp:PolicyReference</el> element is as follows:</p>
<eg xml:space="preserve">&lt;wsp:Policy&gt;
  …
  &lt;wsp:PolicyReference
      URI="<emph>xs:anyURI</emph>"
    ( Digest="<emph>xs:base64Binary</emph>" ( DigestAlgorithm="<emph>xs:anyURI</emph>" )? )?
      … /&gt;
  …
&lt;/wsp:Policy&gt; </eg>
<p>The following describes the Attribute and Element Information Items defined in the schema outline above:</p>
<glist><gitem>
<label><el>/wsp:Policy/…/wsp:PolicyReference</el></label>
<def><p>This element references a policy expression that is being included.</p></def>
</gitem>
<gitem>
<label><att>/wsp:Policy/…/wsp:PolicyReference/@URI</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"/>) 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>/wsp:Policy/…/wsp:PolicyReference/@Digest</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>/wsp:Policy/…/wsp:PolicyReference/@DigestAlgorithm</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>http://www.w3.org/2006/07/ws-policy/Sha1Exc</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"/>].</td>
</tr>
</tbody>
</table>

<glist>
<gitem>
<label><att>/wsp:Policy/…/wsp:PolicyReference/@{any}</att></label>
<def><p>Additional attributes <rfc2119>MAY</rfc2119> be specified but
<rfc2119>MUST NOT</rfc2119> contradict the semantics of the owner
element; if an attribute is not recognized, it
<rfc2119>SHOULD</rfc2119> be ignored.</p>
</def>
</gitem>
</glist>

<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">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;
</eg>
<eg xml:space="preserve">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/ws-policy" &gt;
(02)   &lt;wsp:PolicyReference URI="#Protection" /&gt;
(03)   &lt;sp:OnlySignEntireHeadersAndBody /&gt;
(04) &lt;/wsp:Policy&gt;
</eg>
<eg xml:space="preserve">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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. As a first approximation, an algorithm is defined herein that approximates compatibility in a domain-independent manner; specifically, for two policy alternatives to be compatible, they must at least have the same vocabulary (see Section <specref ref="rPolicy_Alternative"/>).</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">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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">(01) &lt;wsp:Policy
        xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
        xmlns:wsp="http://www.w3.org/2006/07/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;</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 ref="SOAP12"/>] using WS-Security [<bibref ref="WS-Security"/>] or embedded within other
objects using object-specific security mechanisms.</p>
</div1>
<div1 id="Conformance">
    <head>Conformance</head>
</div1>
    </body>
    <back>
<div1 id="References">
<head>References</head>

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

	<blist>
	  <bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="IETF RFC 2119" href="http://www.ietf.org/rfc/rfc2119.txt" id="RFC2119" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" key="IETF RFC 3987" href="http://www.ietf.org/rfc/rfc3987.txt" id="RFC3987" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	      <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" 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:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" id="XML10" key="XML 1.0" href="http://www.w3.org/TR/2006/REC-xml-20060816/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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
	    http://www.w3.org/TR/2006/REC-xml-20060816/. The <loc href="http://www.w3.org/TR/REC-xml/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XML
	    1.0</loc> is available at http://www.w3.org/TR/REC-xml/.
	  </bibl>
	    <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XMLID" key="XML ID" href="http://www.w3.org/TR/2005/REC-xml-id-20050909/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest
	            version of xml:id Version 1.0</loc> is available at
	        http://www.w3.org/TR/xml-id/.
	  </bibl>	  
	  <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XMLInfoset" key="XML Information Set" href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest
	    version of XML Information Set</loc> is available at
	    http://www.w3.org/TR/xml-infoset.
	  </bibl>
	  <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XML-NS" key="XML Namespaces" href="http://www.w3.org/TR/2006/REC-xml-names-20060816/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest version
	    of Namespaces in XML</loc> is available at
	    http://www.w3.org/TR/REC-xml-names.
	  </bibl>
	  <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XMLSchemaPart1" key="XML Schema Structures" href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest
	    version of XML Schema Part 1</loc> is available at
	    http://www.w3.org/TR/xmlschema-1.
	  </bibl>
	  <bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="XML Schema Datatypes" id="XMLSchemaPart2" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" id="C14NNOTE" key="C14N 1.0 Note" href="http://www.w3.org/2006/04/c14n-note/c14n-note.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
          <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" id="SOAP11" key="SOAP 1.1" href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" id="SOAP12" key="SOAP 1.2 Messaging Framework" href="http://www.w3.org/TR/2003/REC-soap12-part1-20030624/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest
	  version of SOAP Version 1.2 Part 1: Messaging
	  Framework</loc> is available at
	  http://www.w3.org/TR/soap12-part1/.
	</bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="UDDIAPI20" key="UDDI API 2.0" href="http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest
	version of the UDDI 2.0 API</loc> is available at
	http://uddi.org/pubs/ProgrammersAPI_v2.htm.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="UDDIDataStructure20" key="UDDI Data Structure 2.0" href="http://uddi.org/pubs/DataStructure-V2.03-Published-20020719.htm" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest
	version of the UDDI 2.0 Data Structures</loc> is available at
	http://uddi.org/pubs/DataStructure_v2.htm.
      </bibl>
	<bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="UDDI30" key="UDDI 3.0" href="http://uddi.org/pubs/uddi-v3.0.1-20031014.htm" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest version of
	  the UDDI 3.0</loc> specification is available at
	  http://uddi.org/pubs/uddi_v3.htm.
	</bibl>
	<bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="WS-PolicyAttachment" key="Web Services Policy Attachment" href="http://www.w3.org/TR/2006/WD-ws-policy-attach-20060927" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Web Services Policy 1.5 - Attachment</titleref>, A. S. Vedamuthu, D. Orchard, M. Hondo, T. Boubez and P. Yendluri,
	  Editors. World Wide Web Consortium, 27,
	  September 2006.  This version of the
	  specification of the Web Services Policy 1.5 - Attachment specification is
	  http://www.w3.org/TR/2006/WD-ws-policy-attach-20060927. The <loc href="http://www.w3.org/TR/ws-policy-attach" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
	  version of Web Services Policy 1.5 - Attachment</loc> is available at
	  http://www.w3.org/TR/ws-policy-attach.
	</bibl>
	<bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="WS-SecurityPolicy" key="WS-SecurityPolicy" href="http://www.oasis-open.org/committees/download.php/15979/oasis-wssx-ws-securitypolicy-1.0.pdf" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" id="WSDL11" key="WSDL 1.1" href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" key="WSDL 2.0 Core Language" id="WSDL20" href="http://www.w3.org/TR/2006/CR-wsdl20-20060327/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">latest version of WSDL
	  2.0</loc> is available at
	  http://www.w3.org/TR/wsdl20.
	</bibl>
	<bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XML-Signature" key="XML-Signature" href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">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" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2002/ws/policy/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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.), Bijan Parsia (University of Manchester), 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>
    Previous members of the Working Group were:
      &acknowledgements-old;
  </p>
-->
  <p>
    The people who have contributed to <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 31 July 2006
is below:</p>
  <ulist>
      <item><p>Added support for the <code>xml:id</code> attribute.</p></item>
      <item><p>Added an empty conformance section.</p></item>
      <item><p>Replaced URI with IRI.</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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action12" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">12</loc>,
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action16" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">16</loc> and 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action20" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action09" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Jul/0107.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3551" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/13-ws-policy-minutes.html#action20" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action15" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/08/02-ws-policy-minutes.html#action08" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                        for issue 
                        <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3543" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">3543</loc> and
                            the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/26-ws-policy-minutes.html#action15" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
                                resolution</loc> for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Jul/0072.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
                                'Modify wording in Abstract for Framework'</loc>. 
                            Restored Section <specref ref="Extensibility"/> (that was accidentally dropped).
                            Completed action item <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action17" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/08/09-ws-policy-minutes.html#action08" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                            for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3563" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/07/12-ws-policy-minutes.html#action15" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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"/> (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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/08/16-ws-policy-minutes.html#action10" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                            for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3560" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/08/16-ws-policy-minutes.html#action05" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                            for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3565" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/08/23-ws-policy-minutes.html#action08" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                            for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3552" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/08/23-ws-policy-minutes.html#action03" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/08/23-ws-policy-minutes.html#action14" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                    	for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3590" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/08/23-ws-policy-minutes.html#action06" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                            for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3561" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicy/actions/77" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                    	for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3604" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">3604</loc>.
                            Removing Goals section, resulted in moving Policy expression definition to 2nd para of intro.                 	
                        </td>
                    </tr>
                    <tr>
                    	<td rowspan="1" colspan="1">200609006</td>
                    	<td rowspan="1" colspan="1">DBO</td>
                    	<td rowspan="1" colspan="1">Completed partial resolution	for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3590" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicy/actions/89" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> 
                            for issue 
                            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3607" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">3607</loc>.
                            Better describe policy language capabilities in the Introduction.
                        </td>
                    </tr>
                    
                </tbody>
            </table>
        </inform-div1>
    </back>
</spec>
