<?xml version="1.0" encoding="UTF-8"?><!-- $Id: ws-policy-guidelines-diff20061221.xml,v 1.5 2007/03/28 00:44:56 avedamut Exp $ -->
<!DOCTYPE spec
  PUBLIC "-//W3C//DTD Specification V2.10//EN" "xmlspec.dtd">
<spec w3c-doctype="wd" role="editors-copy"><header>Web Services Policy 1.5 - Guidelines for Policy Assertion Authors<w3c-designation>ws-policy-guidelines.html</w3c-designation><w3c-doctype>Editors' copy $Date: 2007/03/28 00:44:56 $</w3c-doctype><pubdate><day>@@</day><month>@@@@</month><year>@@@@</year></pubdate><publoc>
      <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="ws-policy-guidelines.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">ws-policy-guidelines.html</loc>
    </publoc><prevlocs diff="add">
            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2006/WD-ws-policy-primer-20061221" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">http://www.w3.org/TR/2006/WD-ws-policy-primer-20061221</phrase></loc>
        </prevlocs><latestloc><loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-guidelines.html?content-type=text/html;charset=utf-8" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-guidelines.html?content-type=text/html;charset=utf-8</loc></latestloc><authlist><author role="editor"><name>Asir S Vedamuthu</name><affiliation>Microsoft Corporation</affiliation></author><author role="editor"><name>David Orchard</name><affiliation>BEA Systems, Inc.</affiliation></author><author role="editor"><name>Frederick Hirsch</name><affiliation>Nokia</affiliation></author><author role="editor"><name>Maryann Hondo</name><affiliation>IBM Corporation</affiliation></author><author role="editor"><name>Prasad Yendluri</name><affiliation>webMethods, Inc.</affiliation></author><author role="editor"><name>Toufic Boubez</name><affiliation>Layer 7 Technologies</affiliation></author><author role="editor"><name>Ümit Yalçinalp</name><affiliation>SAP AG.</affiliation></author></authlist><abstract><p>
        <emph>Web Services Policy 1.5 - Guidelines for Policy Assertion Authors</emph> is intended to provide guidance for assertion
        authors that will work with the Web Services Policy 1.5 - Framework [<bibref ref="WS-Policy"/>] and Web Services Policy 1.5 - Attachment [<bibref ref="WS-PolicyAttachment"/>] specifications to create domain
        specific assertions. The focus of this document is to provide
        best practices and patterns to follow as well as illustrate
        the care needed in using WS-Policy to achieve the best
        possible results for interoperability. It is a complementary
        guide to using the specifications. </p></abstract><status><p/></status><langusage><language id="en-US">English</language></langusage><revisiondesc><p>Last Modified: $Date: 2007/03/28 00:44:56 $</p></revisiondesc></header><body><div1 id="introduction"><head>Introduction</head><p>The WS-Policy specification defines a policy to be a collection
        of policy alternatives with each policy alternative a
        collection of policy assertions. The Web Services Policy 1.5 - Framework provides a flexible framework to 
        represent
        consistent combinations of behaviors from a variety of domains.
        A policy assertion is a machine readable metadata expression that 
        identifies behaviors  required for Web services interactions.
        <emph>Web Services Policy 1.5 - Guidelines for Policy Assertion Authors</emph>
        is a resource primarily for <phrase diff="chg">Assertion Authors </phrase>and provides
        guidelines on the use of Web Services Policy 1.5 - Framework and
        Web Services Policy 1.5 - Attachment specifications to create and use domain specific
        assertions to enable interoperability.
        </p><p>WS-Policy Assertions <phrase diff="del">are XML expressions
        that </phrase>communicate the requirements and capabilities of a web
        service by adhering to the specification, WS-Policy Framework. To enable interoperability of web
        services different sets of WS-Policy Assertions need to be
        defined by different communities based upon domain-specific requirements of
        the web service.
        </p><p>The focus of these guidelines is to capture best practices and usage patterns for practitioners. It is a
        complementary guide to the Framework and Attachments
        specifications and <phrase diff="add">the Primer.</phrase><phrase diff="del">primer. </phrase>It is intended to provide
        non-normative guidelines <phrase diff="add">for </phrase><phrase diff="del">for:
        
	  		
				
					</phrase>WS-Policy <phrase diff="chg">Assertion Authors </phrase>who
        need to <phrase diff="chg">know </phrase>the <phrase diff="chg">features </phrase>of the language and understand <phrase diff="chg">the
        requirements for describing </phrase>policy <phrase diff="add">assertions. Some of the
        guidance for WS-Policy Assertion Authors can also be helpful
        for:

        </phrase><phrase diff="del">expressions,
	 			    </phrase></p><ulist diff="add"><item><p>WS-Policy <phrase diff="chg">expression </phrase>authors who need to <phrase diff="chg">understand 
                                 </phrase>the <phrase diff="chg">syntax </phrase>of the language and understand <phrase diff="chg">how to </phrase><phrase diff="add">build</phrase><phrase diff="del">for
         			 describing </phrase><phrase diff="add">consistent 
                                 </phrase>policy <phrase diff="chg">expressions
                                </phrase></p></item><item><p diff="del">Some of the guidance for authors can also be helpful for:
			
				</p></item><item><p>Consumers of policy expressions who need to understand
        			the requirements contained in policy <phrase diff="chg">assertions
         			</phrase></p></item><item><p>Providers of policy expressions who need to understand
         			 how to use the assertions authored by <phrase diff="add">Assertion</phrase><phrase diff="del">policy assertion </phrase><phrase diff="chg">Authors
         			</phrase></p></item></ulist><p>This document assumes a basic understanding of <phrase diff="add">XML, 
        </phrase><phrase diff="del">XML 1.0,
        </phrase>Namespaces in XML, <phrase diff="chg">WSDL, SOAP </phrase>and <phrase diff="add">the Web Services Policy language. 
        </phrase><phrase diff="del">SOAP.
        </phrase></p><p>This is a non-normative document and does
        not provide a definitive specification of the Web Services
        Policy framework. <specref ref="xml-namespaces"/> lists all
        the namespace prefixes that are used in this document. (XML
        elements without a namespace prefix are from the Web Services
        Policy XML Namespace.)
        </p><p> As a companion document to the primer, this document also follows
        the Socratic style of beginning with a question, and then answering 
        the question.
        </p></div1><div1 id="Assertions"><head>What is an Assertion? </head><p>An assertion is a piece of metadata that describes a
      	capability related to a specific WS-Policy domain. Sets of domain-specific assertions
      	are typically defined in a dedicated specification that describes
      	their semantics, applicability and scoping requirements as well
      	as their data type definition using XML Schema. 
      	</p><p>Policy assertions representing shared and visible behaviors are useful pieces of metadata to enable 
      	interoperability and tooling for automation. The key to understanding when to
        design policy assertions is to have clarity on the characteristics of a behavior
        represented by a policy assertion. Some useful ways to discover relevant behaviors are
        to ask questions like the following:
        </p><ulist><item><p>Is this behavior a requirement?
            </p></item><item><p>Is the behavior visible?
            </p><p>A visible behavior refers to a requirement that manifests itself on the wire. Web services
            	provide interoperable machine-to-machine interaction among disparate systems. Web
            	service interoperability is the capability of disparate systems to exchange data using
            	common data formats and protocols supporting characteristics such as messaging, security, 
            	reliability and
            	transaction. Such data formats and protocols manifest on the wire. Providers and
            	requesters rely on wire messages conforming to such formats and protocols
            	to achieve interoperability. 
            	</p><p>
          		If an assertion describes a behavior that does not manifest on the wire then the assertion <phrase diff="chg">will </phrase>not <phrase diff="add">impact the 
          		interoperability of wire messages, but may still be </phrase>relevant to <phrase diff="add">enabling </phrase>an interoperable interaction. 
          		<phrase diff="add">For example, a provider may not wish to interact unless a client can accept an assertion describing provider behavior. 
          		
          		</phrase>An example is an assertion that describes the privacy notice information of a provider and the associated regulatory 
          		safeguard in place on the <phrase diff="chg">provider's </phrase>side. <phrase diff="add">For</phrase><phrase diff="del">Such
            	assertions </phrase><phrase diff="chg">cases where the provider does not intend the assertion to </phrase><phrase diff="add">impact 
          		interoperability</phrase><phrase diff="del">add </phrase><phrase diff="chg">it </phrase><phrase diff="add">may</phrase><phrase diff="del">value
            	to </phrase><phrase diff="add">mark it as ignorable.
          	</phrase><phrase diff="del">interoperability.
            	</phrase></p><p>If an assertion has no wire or message-level visible behavior then the interacting
            	participants may require some sort of additional mechanism to indicate
            	compliance with the assertion and to enable dispute resolution. 
            	Introducing an additional non-repudiation mechanism adds
            	unnecessary complexity to processing a policy assertion.
            	</p></item><item><p>Does the behavior apply to two or more Web service participants?
            </p><p>A shared behavior refers to a requirement that is relevant to an interoperable Web service interaction and involves 
          		two or more participants. If an assertion only describes one <phrase diff="chg">participant's </phrase>behavior <phrase diff="del">(non-shared behavior) then </phrase>the assertion <phrase diff="chg">may </phrase><phrase diff="add">still be </phrase><phrase diff="del">not
            	</phrase>relevant to 
          		<phrase diff="add">enabling </phrase>an interoperable interaction.  
          		 <phrase diff="del">Non-shared behaviors do not add any value for
            	tooling or interoperability. </phrase>An example <phrase diff="del">of a non-shared behavior </phrase>is the use of logging or auditing by the provider.
            	<phrase diff="del">Requesters </phrase><phrase diff="chg">If an assertion only describes one participant's behavior </phrase><phrase diff="add">then 
          		the</phrase><phrase diff="del">compatible </phrase><phrase diff="chg">assertion </phrase><phrase diff="add">may</phrase><phrase diff="del">alternative
           		 for </phrase><phrase diff="chg">be marked as ignorable (indicating it does not impact interoperability). An </phrase>ignorable<phrase diff="del">behavior
            	then </phrase><phrase diff="chg">policy </phrase>assertion <phrase diff="add">is 
          		ignored</phrase><phrase diff="del">will </phrase><phrase diff="chg">for lax policy intersection. If an assertion is not an </phrase><phrase diff="add">ignorable</phrase><phrase diff="del">policy
            	intersection </phrase><phrase diff="add">assertion then</phrase><phrase diff="del">will </phrase><phrase diff="chg">it is deemed </phrase><phrase diff="add">important for agreement 
          		between both parties.
          	</phrase><phrase diff="del">negatives.
            	</phrase></p></item><item><p>Does the behavior have an implied scoping to a policy subject such as service, endpoint, operation and message?
            	</p></item><item><p>Is there a requirement that a choice must be made for successful interaction?</p><p>Sometimes providers and requesters are required to engage in certain behaviors. 
          			The use of optimization and reliable messaging are two examples.
          		</p></item></ulist><p>There are already many examples in the industry that adhere to <phrase diff="add">the above</phrase><phrase diff="del">this </phrase><phrase diff="chg">practices, </phrase>such as <bibref ref="WS-RM-Policy"/>
      	and <bibref ref="WS-SecurityPolicy"/>. Some common characteristics from these documents may be considered as <emph>best practices</emph> for new <phrase diff="chg">Assertion Authors:
      	</phrase></p><ulist><item><p>Specify both the syntax and the semantics of the assertions
               		</p></item><item><p>If nested or parameterized assertions are defined, be clear about their usage
               		</p></item><item><p> Describe the policy subjects the assertions can be attached to. 
               		</p></item></ulist><p>In this document we will explain why these practices should
      	be followed so that the assertion developers defining such a
      	specification will be well informed and able to adequately specify assertions for their domain.
      	</p><p>It is expected that consumers of the metadata specified by
     	the <phrase diff="chg">Assertion Authors </phrase>will also benefit from understanding these
      	practices as it will help them utilize the assertions in the
      	context of the WS-Policy framework. A result of following the
      	best practices will be an assertion specification that describes
      	a contract for the consumers and providers of the capabilities and constraints of the domain.
      	</p></div1><div1><head>Who is involved in authoring Assertions? </head><p>In order for the policy framework to enable communities to
		express their own domain knowledge, it is necessary to provide basic
		functionality that all domains could exploit and then allow
		points of extension where authors of the various WS-Policy
		<phrase diff="chg">assertions </phrase>for a particular domain can provide additional semantics.
        </p><p>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). WS-Policy provides a
      	single policy grammar to allow both kinds of assertions to be reasoned about in a consistent manner.
      	</p><div2 id="roles"><head> Roles and Responsibilities </head><p>Below we capture some of the characteristics of the roles
        	and responsibilities for the authors, consumers and providers.
        	</p><div3 id="domain-owners"><head> <phrase diff="chg">Assertion </phrase>Authors</head><p><phrase diff="add">Assertion </phrase><phrase diff="del">WS-Policy Domain owners or WS-Policy </phrase><phrase diff="chg">Authors </phrase>are <phrase diff="del">defined
       			 by the WS-Policy Framework to be </phrase>a community that chooses to
        		exploit the WS-Policy Framework by creating their own
        		specification to define a set of assertions that express the
        		capabilities and constraints of that target domain. The
        		WS-Policy Framework is based on a declarative model, meaning
        		that it is incumbent on the <phrase diff="chg">Assertion Authors </phrase>to define both the semantics of 
        		the assertions as well as the scope of their target domain in their specification. The set
        		of metadata for any particular domain will vary in the granularity of assertion
        		specification required.  It is the intent of
        		this document to help communities utilize the framework in such
       			 a way that multiple WS-Policy domains can co-exist and
       			consumers and providers can utilize the framework consistently across domains.
				</p><p>When using the WS-Policy Framework, any
    	    	<phrase diff="chg">Assertion Authors </phrase>defining new WS-Policy assertions
    	    	must adhere to the MUST's and SHOULD's in the specification
    	    	and should review the conformance section of the specification. 
    	    	</p><p><phrase diff="chg">An assertion author should </phrase>also specify <phrase diff="chg">a policy </phrase><phrase diff="add">subject. For</phrase><phrase diff="del">associate
				</phrase><phrase diff="chg">instance, if a policy </phrase><phrase diff="add">assertion were to be used</phrase><phrase diff="del">defined </phrase>with <phrase diff="chg">WSDL, an assertion
				description should specify a </phrase><phrase diff="add">WSDL policy subject.</phrase><phrase diff="del">specification.
				</phrase></p><p>An example of a domain specification that follows these practices is the WS-SecurityPolicy
        		specification [<bibref ref="WS-SecurityPolicy"/>]. The
        		WS-SecurityPolicy authors have defined their scope as follows:
        		</p><p><emph>"This document [WS-SecurityPolicy] defines a set of
        		security policy assertions for use with the WS-Policy
        		framework with respect to security features provided in WSS:
        		SOAP Message Security, WS-Trust and WS-SecureConversation. This document takes the approach of
        		defining a base set of assertions that describe how messages
        		are to be secured. Flexibility with respect to token types,
        		cryptographic algorithms and mechanisms used, including using
        		transport level security is part of the design and allows for
        		evolution over time. The intent is to provide enough
        		information for compatibility and interoperability to be
        		determined by web service participants along with all
        		information necessary to actually enable a participant to
        		engage in a secure exchange of messages." </emph>
				</p><p>An example of scoping individual assertions to policy subjects is also provided by the WS-Security Policy specification in Appendix A.
				</p></div3><div3 id="consumers"><head>Consumers</head><p>A consumer of WS-Policy
				Assertions can be any entity that is capable of parsing a
				WS-Policy XML  element and selecting one alternative from the
				policy. This selected alternative is then used to govern the creation of a message
				to send to the subject to which the policy alternative was
				attached.  The WS-Policy Attachment specification defines a
				set of attachment models for use with common web service
				subjects: WSDL definitions [<bibref ref="WSDL11"/>, <bibref ref="WSDL20"/>], UDDI directory entries [<bibref ref="UDDIAPI20"/>, <bibref ref="UDDIDataStructure20"/>,
				<bibref ref="UDDI30"/>], and WS-Addressing Endpoint
				References (EPR) [<bibref ref="WS-Addressing"/>].
       		 	</p><p> 
				In the degenerate case, a human could read the XML and
				determine if a message could be constructed conformant to the
				advertised policy.
        		</p><p>It is expected that consumers of WS-Policy will include a
     		   	wide range of client configurations, from stand alone client
     		   	applications to "active" web service <phrase diff="chg">requesters </phrase>that are
				capable of adapting to the constraints and capabilities
				expressed in a WS-Policy document and modifying their own
      			configurations dynamically.
        		</p></div3><div3 id="providers"><head>Providers</head><p>A provider <phrase diff="add">who expresses capabilities and requirements </phrase>of <phrase diff="chg">a </phrase><phrase diff="add">Web service
				as policies</phrase><phrase diff="del">Assertions </phrase>can be any web service implementation that can
	   			specify its on-the-wire message behavior as <phrase diff="chg">a policy
				</phrase>expression that conforms to the <phrase diff="add">Web Services Policy 1.5 - Framework</phrase><phrase diff="del">WS-PolicyFramework </phrase><phrase diff="add">[</phrase><bibref ref="WS-Policy" diff="add"/><phrase diff="add">]
				</phrase>and <phrase diff="add">Web Services Policy 1.5 -
	   			</phrase><phrase diff="del">WS-Policy </phrase>Attachment <phrase diff="add">[</phrase><bibref ref="WS-PolicyAttachment" diff="add"/><phrase diff="add">]</phrase>specifications.
				The <phrase diff="chg">Web </phrase><phrase diff="add">Services Policy 1.5 - Attachment </phrase>specification has defined a set of
	   			subjects and an extensible mechanism for attaching policies
	   			to web services subjects. 
           		 <phrase diff="del">When a web service provider
	   			chooses to make its capabilities and constraints available,
	   			it may also need to conform to requirements of other policy
	   			specifications it utilizes ( i.e., WS-SecurityPolicy).
           		</phrase></p><p>When deploying services with policies it is useful for providers to anticipate how
           		to evolve their services capabilities over time.  If
           		forward compatibility is a concern in order to accommodate
           		compatibility with different and potentially new clients,
           		providers should refer to <specref ref="versioning-policy-assertions" diff="chg"/> and
           		<bibref ref="WS-Policy-Primer"/> that describes service and
           		policy assertion evolution.
	   			</p></div3></div2></div1><div1 id="general-guidelines"><head>General Guidelines for <phrase diff="del">WS-Policy </phrase>Assertion Authors</head><p> As <phrase diff="add">Assertion Authors</phrase><phrase diff="del">authors </phrase>begin the task of inventing XML dialects to represent policy  assertions they can take
		advantage of WS-Policy building on XML principles and XML Schema validation in their design. WS-Policy 
		relies on the QName of a policy assertion being an XML element but allows <phrase diff="add">Assertion Authors</phrase><phrase diff="del">authors </phrase>to optionally  
		provide additional semantics through nesting assertions, or specifying assertion parameters.
		This section covers several aspects of assertion design and provides some answers to the following questions:</p><ulist><item><p>What is the intended use of the policy assertion?</p></item><item><p>Which authoring style will be used?</p></item><item><p>Is this a new policy domain? Does it need to compose with other domains?</p></item><item><p>How complex are the assertions?</p></item><item><p>Is there a need to consider nesting?</p></item><item><p>Do optional behaviors need to be represented?</p></item></ulist><div2 id="assertion-target"><head>Assertions and Their Target Use</head><p>
				<phrase diff="add">Assertion</phrase><phrase diff="del">WS-Policy </phrase><phrase diff="chg">Authors </phrase>need to have <phrase diff="add">a</phrase><phrase diff="del">some definition of what </phrase><phrase diff="chg">specific </phrase>goal <phrase diff="add">in mind</phrase><phrase diff="del">is </phrase>for the assertions 
				<phrase diff="add">that 
			</phrase>they author. <phrase diff="chg">Assertion Authors </phrase>should also understand the 
				functionality <phrase diff="add">that </phrase>the WS-Policy framework provides and apply the 
				knowledge of <phrase diff="add">the policy </phrase>framework processing when defining the set of 
				assertions. 
				</p><p>Assertions can be simple or they can be complex. <phrase diff="chg">Assertion Authors </phrase>may 
				choose to specify <phrase diff="chg">multiple peer </phrase><phrase diff="add">assertions, each carrying the semantic of 
				a particular behavior,</phrase><phrase diff="del">two
           	assertions </phrase>or they may choose to specify assertions<phrase diff="del">many assertion
           	elements </phrase>that 
				<phrase diff="add">contains </phrase><phrase diff="chg">assertion </phrase>parameters <phrase diff="add">and/or</phrase><phrase diff="del">or other </phrase>nested <phrase diff="add">policy expression (nested 
				assertions), each of which relate to an aspect of the behavior, yet 
				encapsulated
           	</phrase><phrase diff="del">assertions. </phrase><phrase diff="add">within a single assertion. </phrase>There are advantages to 
				simplifying the set of assertions. The ultimate goal of policy <phrase diff="del">assertions </phrase>is to 
				enable <phrase diff="add">interoperability.</phrase><phrase diff="del">interoperability and assertions that </phrase><phrase diff="chg">By </phrase><phrase diff="add">keeping</phrase><phrase diff="del">behavior
           	for </phrase><phrase diff="chg">assertion design as simple </phrase><phrase diff="add">as 
				possible,</phrase><phrase diff="del">can </phrase><phrase diff="chg">Assertion Authors </phrase><phrase diff="del">understood
           	</phrase>will <phrase diff="chg">more </phrase>likely be <phrase diff="add">able</phrase><phrase diff="del">consumed by </phrase><phrase diff="chg">to meet </phrase><phrase diff="add">that 
				objective. 
				</phrase><phrase diff="del">audience.
           	</phrase></p><p>
				If a <phrase diff="chg">set </phrase><phrase diff="add">of assertions describes</phrase><phrase diff="del">has </phrase>a wide range of behaviors, the ability
           	to 
				combine individual assertions may also need to be considered. 
				</p><p>
				The <phrase diff="add">WS-Policy Attachment specification defines a </phrase>number of different 
				<phrase diff="add">policy </phrase>subjects to which an assertion can be <phrase diff="chg">attached. For attaching </phrase><phrase diff="add">to 
					WSDL</phrase><phrase diff="del">a </phrase><phrase diff="chg">subjects see </phrase><specref ref="levels-of-abstraction" diff="add"/><phrase diff="del">defining </phrase><phrase diff="chg">for more </phrase><phrase diff="add">detail. 
				Additionally,</phrase><phrase diff="del">Determining </phrase>the <phrase diff="add">framework</phrase><phrase diff="del">appropriate policy </phrase><phrase diff="chg">provides for </phrase><phrase diff="add">the</phrase><phrase diff="del">sometimes
           	involve </phrase><phrase diff="chg">means to extend </phrase><phrase diff="add">the</phrase><phrase diff="del">of  wide </phrase><phrase diff="chg">set </phrase>of 
				<phrase diff="add">policy </phrase><phrase diff="chg">subjects beyond </phrase><phrase diff="add">the</phrase><phrase diff="del">from
           	stand </phrase><phrase diff="chg">set of subjects defined in the WS-Policy 
				Attachment </phrase><phrase diff="add">specification.
				</phrase></p><p diff="add">
				<phrase diff="add">The</phrase><phrase diff="del">that </phrase><phrase diff="chg">WS-Policy Attachment specification provides various mechanisms </phrase><phrase diff="add">to 
				attach</phrase><phrase diff="del">configurations </phrase>a<phrase diff="del">dynamically.
	  		
			 </phrase><phrase diff="chg">policy expression to a </phrase>policy <phrase diff="chg">subject. Although a </phrase><phrase diff="add">policy 
				assertion</phrase><phrase diff="del">there </phrase><phrase diff="chg">may be constrained to </phrase>a<phrase diff="del">of
			attaching </phrase><phrase diff="chg">specific set </phrase>of <phrase diff="chg">policy subjects by 
				</phrase>assertion <phrase diff="chg">authors, its semantics should not be dependent upon </phrase>the 
				<phrase diff="add">mechanism </phrase><phrase diff="chg">by which the policy expression is </phrase><phrase diff="add">attached</phrase><phrase diff="del">the
			framework. </phrase><phrase diff="chg">to a given </phrase><phrase diff="add">policy 
				subject.</phrase><phrase diff="del">assertion </phrase><phrase diff="chg">For instance, an </phrase><phrase diff="add">assertion</phrase><phrase diff="del">it
			in </phrase><phrase diff="chg">"Foo" has the same </phrase><phrase diff="add">semantic</phrase><phrase diff="del">different
			alternatives) </phrase><phrase diff="add">when 
				attached</phrase><phrase diff="del">via </phrase><phrase diff="chg">to </phrase><phrase diff="add">an operation</phrase>policy <phrase diff="chg">subject regardless </phrase><phrase diff="add">of</phrase><phrase diff="del">be
			associated </phrase><phrase diff="chg">whether it </phrase><phrase diff="add">was 
				attached</phrase><phrase diff="del">alternatives </phrase><phrase diff="chg">using XML </phrase><phrase diff="add">element</phrase><phrase diff="del">A
			referencing </phrase><phrase diff="chg">policy attachment or the external </phrase><phrase diff="add">URI 
				attachment</phrase><phrase diff="add">mechanism.</phrase><phrase diff="del">tooling
			environment; </phrase><phrase diff="chg">Independence from </phrase>a <phrase diff="del">domain </phrase>specific
			<phrase diff="chg">attachment </phrase><phrase diff="add">mechanism 
				allows</phrase><phrase diff="del">multiple </phrase><phrase diff="chg">policy tools to </phrase><phrase diff="add">choose</phrase><phrase diff="del">Endpoint
			References </phrase><phrase diff="chg">the most appropriate mechanism to attach </phrase><phrase diff="add">a 
				policy</phrase><phrase diff="del">policies </phrase><phrase diff="chg">without having </phrase>to <phrase diff="add">analyze the contents of the</phrase><phrase diff="del">be </phrase><phrase diff="chg">policy. 
				</phrase></p><p>
				Best practice: <phrase diff="chg">Assertion Authors </phrase>should include the following items in <phrase diff="chg">an 
				assertion </phrase>specification: 
				</p><p diff="add">
				<ulist><item><p><emph>The definition of the
            			<phrase diff="del">assertion. Does the assertion pertain to a </phrase><phrase diff="add">assertion's</phrase><phrase diff="del">specific
           				behavior that is tied to </phrase><phrase diff="add">semantic.</phrase></emph><phrase diff="del">a </phrase></p></item><item><p><emph><phrase diff="add">The</phrase><phrase diff="del">context </phrase><phrase diff="chg">specification of </phrase>the <phrase diff="add">set</phrase><phrase diff="del">behavior
          				different </phrase><phrase diff="chg">of valid policy subjects to which </phrase>an 
						assertion may <phrase diff="del">have different semantics for a single
            			message exchange or for all message exchanges that pertain
            			to an endpoint would probably </phrase>be <phrase diff="add">attached.</phrase></emph><phrase diff="del">represented by separate assertions.
	    				</phrase></p></item><item><p><emph><phrase diff="add">The scope</phrase><phrase diff="del">Scoping </phrase>of the assertion<phrase diff="del">. </phrase><phrase diff="add">in</phrase><phrase diff="del">Where
            			does </phrase>the <phrase diff="chg">context of a particular </phrase><phrase diff="add">policy 
						subject.</phrase></emph><phrase diff="del">assertion </phrase><phrase diff="chg">For </phrase><phrase diff="add">example,</phrase><phrase diff="del">a
            			specific </phrase><phrase diff="chg">an assertion with Endpoint Policy Subject </phrase><phrase diff="add">can be 
						scoped to</phrase><phrase diff="del">about </phrase>a
            			<phrase diff="del">specific </phrase><phrase diff="chg">given message exchange with that endpoint, or </phrase>it<phrase diff="del">a
            			specific </phrase><phrase diff="chg">can be </phrase><phrase diff="add">scoped 
						to</phrase><phrase diff="del">parties? </phrase><phrase diff="chg">all </phrase><phrase diff="add">messages</phrase><phrase diff="del">of
            			the </phrase><phrase diff="chg">exchanged with that endpoint. The former case permits a 
						client to select a different alternative with </phrase><phrase diff="add">each successive message 
						exchange.</phrase><phrase diff="del">to.
            			</phrase></p></item><item><p><emph>Composition</emph>. If the assertion is used with other assertions in a 
				context, it is necessary to consider how the assertion <phrase diff="chg">may, </phrase>or may <phrase diff="chg">not, 
				</phrase>affect the composition. For example, if an assertion applies to the SOAP 
				protocol, it would be necessary to consider how its presence must interact 
				with other policy assertions that are defined for security.
             			</p></item></ulist>
					</p><p diff="add">
				<phrase diff="add">Best practice: The semantics a policy assertion should not depend on the 
				attachment mechanism used.
				</phrase></p></div2><div2 id="compact-full"><head>Authoring Styles </head><p> WS-Policy supports two different authoring <phrase diff="add">styles, compact form and
					normal form. </phrase><phrase diff="del">styles.  </phrase>A compact form is one in which an expression consists of
					three constructs: an attribute to decorate an assertion (to indicate
					whether it is required or optional), semantics for recursively nested
					policy operators, and a policy reference/inclusion mechanism.
      		</p><example><eg xml:space="preserve"><phrase diff="chg">&lt;wsp:Policy xmlns:wsp='http://www.w3.org/ns/ws-policy'
 xmlns:sp='http://schemas.xmlsoap.org/ws/2005/07/securitypolicy' 
 xmlns:wsrmp='http://docs.oasis-open.org/ws-rx/wsrmp/200608'&gt;
 &lt;wsrmp:RMAssertion wsp:Optional="true"/&gt;
 &lt;wsp:ExactlyOne&gt; 
  &lt;wsp:All&gt;
   &lt;sp:TransportBinding&gt;
    &lt;wsp:Policy&gt;
     &lt;sp:TransportToken&gt;
      &lt;wsp:Policy&gt;
       &lt;sp:HttpsToken RequireClientCertificate='true' /&gt;
      &lt;/wsp:Policy&gt;
     &lt;/sp:TransportToken&gt;
   &lt;/sp:TransportBinding&gt;
  &lt;/wsp:All&gt;
 &lt;/wsp:ExactlyOne&gt;
&lt;/wsp:Policy&gt;</phrase></eg></example><p><phrase diff="add">A</phrase><phrase diff="del">An alternative </phrase><phrase diff="chg">policy expression in the compact form can be translated into </phrase><phrase diff="add">its
					normal</phrase><phrase diff="del">is </phrase><phrase diff="chg">form using </phrase>the <phrase diff="chg">policy normalization </phrase><phrase diff="add">algorithm</phrase><phrase diff="del">the
            alternatives </phrase><phrase diff="chg">described in </phrase>the
					<phrase diff="add">Web </phrase><phrase diff="chg">Service Policy Framework </phrase><phrase diff="add">(see section 4.3 Compact Policy
					Expression).</phrase><phrase diff="del">assertions. 
      		</phrase></p><example><eg xml:space="preserve"><phrase diff="chg">&lt;wsp:Policy xmlns:wsp='http://www.w3.org/ns/ws-policy'
 xmlns:sp='http://schemas.xmlsoap.org/ws/2005/07/securitypolicy' 
 xmlns:wsrmp='http://docs.oasis-open.org/ws-rx/wsrmp/200608'&gt;
 &lt;wsp:ExactlyOne&gt; 

  &lt;wsp:All&gt;
    &lt;wsrmp:RMAssertion/&gt;
    &lt;sp:TransportBinding&gt;
      &lt;wsp:Policy&gt;
         &lt;sp:TransportToken&gt;
           &lt;wsp:Policy&gt;
             &lt;sp:HttpsToken RequireClientCertificate='true' /&gt;
           &lt;/wsp:Policy&gt;
         &lt;/sp:TransportToken&gt;
     &lt;/wsp:Policy&gt;
     &lt;/sp:TransportBinding&gt;
  &lt;/wsp:All&gt;

  &lt;wsp:All&gt;
    &lt;sp:TransportBinding&gt;
      &lt;wsp:Policy&gt;
        &lt;sp:TransportToken&gt;
          &lt;wsp:Policy&gt;
            &lt;sp:HttpsToken RequireClientCertificate='true' /&gt;
          &lt;/wsp:Policy&gt;
        &lt;/sp:TransportToken&gt;
      &lt;/wsp:Policy&gt;
    &lt;/sp:TransportBinding&gt;
  &lt;/wsp:All&gt;

 &lt;/wsp:ExactlyOne&gt;
&lt;/wsp:Policy&gt;</phrase></eg></example><p><phrase diff="add">These </phrase><phrase diff="del">Note that both authoring styles are equivalent, however
            there may be reasons to choose </phrase><phrase diff="chg">two forms of </phrase><phrase diff="add">the</phrase><phrase diff="del">another
            depending </phrase><phrase diff="chg">same policy expression are </phrase><phrase diff="add">semantically
					equivalent.</phrase><phrase diff="del">example, </phrase><phrase diff="chg">When </phrase>multiple alternatives are present in a policy, the
					normal form may express the choices more explicitly. On the other hand,
					the compact form <phrase diff="add">may be</phrase><phrase diff="del">is </phrase>more readable for humans when an assertion is
					marked as optional using the <code>wsp:optional</code> attribute as our example
					illustrates above. 
           	</p><p><phrase diff="chg">A policy </phrase><phrase diff="add">processor may normalize a policy expression originally authored
					in</phrase><phrase diff="del">use </phrase><phrase diff="add">compact form at any time without changing </phrase>the <phrase diff="chg">semantics of </phrase><phrase diff="add">the
					policy.</phrase><phrase diff="del">most </phrase><phrase diff="add">In general, it is not possible to guarantee in what form a
					policy expression would be when it is processed. As a result,</phrase><phrase diff="del">appropriate </phrase><phrase diff="add">the
					description </phrase>for <phrase diff="add">a policy assertion should not depend on </phrase>the <phrase diff="add">style used
					to author a policy expression that contains the assertion.
				</phrase></p><p diff="add"><phrase diff="add">Best practice: the semantics of an assertion should be independent of
					the form (compact or normal form) of</phrase><phrase diff="del">target </phrase><phrase diff="add">policy expressions that</phrase><phrase diff="del">audience </phrase><phrase diff="add">contain the
					assertion.</phrase></p></div2><div2 id="new-guidelines-domains"><head>Considerations when Modeling New Assertions</head><p>When creating a new policy domain, it is important to
         		understand how policy expressions are used by a
	        	framework implementation that has followed the specifications. 
	        	</p><p>The examples given in this document reference WS-Policy like WS-SecurityPolicy and WS-RM Policy. 
	        	These policy expressions represent web services message exchange requirements, but policy authoring can
	        	be done by individual groups that wish to represent web services application requirements and
         		deployments that wish to reuse the WS-Policy framework in
         		order to enable dynamic negotiation of business requirements
         		and capabilities at runtime.
         		</p><div3 id="minimal-approach"><head>Minimal approach</head><p>New <phrase diff="chg">Assertion Authors </phrase>are encouraged to try to not overload assertions. A single assertion indicates a single
        		 	behavior. Sets of assertions can by grouped by an operator "all". This indicates that there is a relationship between
         			the assertions and they now constitute a policy alternative. 
         			</p><p>If grouping is utilized, choices between alternatives can be indicated by
         			an "exactly one" operator. This basic set of operators allows
         			<phrase diff="chg">Assertion </phrase><phrase diff="add">Authors </phrase>a wide range of options for expressing the possible combinations of assertions within their domain.
         			</p><p>It requires a good deal of effort to evaluate the
         			capabilities of a domain and capture them in a way that
         			reflects the options of the domain if the domain has a lot of
         			assertions to define.  Interoperability testing of new policy
         			domains is recommended to ensure that consumers and providers
         			are able to use the new domain assertions.
         			</p><p>New <phrase diff="add">Assertion Authors</phrase><phrase diff="del">authors </phrase>are encouraged to look at <bibref ref="WS-RM-Policy"/> to see an example of a
         			relatively simple domain that has defined three assertions. <phrase diff="chg">Assertion Authors </phrase>are encouraged to look at <bibref ref="WS-SecurityPolicy"/> to see an example of a complex domain that has been decomposed into a set of policy expressions.
        			</p><p>How big should an assertion be? How many assertion parameters should the assertion
            		enumerate? How many dependent behaviors should the assertion enumerate? It is always
            		good to start with a simple working policy assertion that allows extensibility. As your
            		design work progresses, you may add more parameters or nested policy assertions to meet
            		your interoperability needs. 
            		</p><p>Best practice: Start with a simple working assertion that allows extensibility.
          			</p></div3><div3 id="QName_and_XML_Information_Set_representation"><head>QName and XML Information Set representation</head><p>Web Services Policy language allows <phrase diff="chg">Assertion Authors </phrase>to invent
            		their own XML dialects to represent policy assertions. The policy language relies only
            		on the policy assertion XML element QName. This QName is unique and identifies the
            		behavior represented by a policy assertion. Assertion <phrase diff="chg">Authors </phrase>have the option to
            		represent an assertion parameter as a child element (by leveraging natural XML nesting)
            		or an attribute of an assertion. The general guidelines on when to use XML elements
            		versus attributes apply.</p><p>The syntax of an assertion can be represented using an XML outline (plus an XML schema
            		document). If the assertion has a nested policy expression then the assertion XML
            		outline can enumerate the nested assertions that are allowed.
            		</p><p>Best practice: Use a unique QName to identify the behavior and provide an XML outline
            		(plus an XML schema document) to specify the syntax of an assertion.
            		</p></div3><div3 id="self-describing"><head> Self Describing Messages </head><p> WS-Policy is intended to communicate the requirements, <phrase diff="add">capabilities</phrase><phrase diff="del">capabilities, preferences </phrase>and
    	 			behaviors of nodes that provide the message's path, not specifically to declare properties of the message semantics. One
    	 			of the advantages of Web services is that an XML message can be stored and later examined (e.g. as a record of a business
     				transaction) or interpreted by an intermediary; however, if information that is necessary to understand a message is not
     				available, these capabilities suffer.
     				</p><p>Policy assertions should not be used to express the semantics of a 
                           message. Rather, if a property is
     		           required to understand a message, it should be communicated in
     			   the message, or be made available by some other means (e.g., being
     			   referenced by a URI in the message) instead of being communicated as a policy element. <phrase diff="add">Note that there are other specifications that target specification of semantics of a message, such as </phrase><bibref ref="SAWSDL" diff="add"/><phrase diff="add">. 
     				
     				</phrase></p><p>For example, if the details of a message's encryption ( e.g., the cipher used, etc) are expressed
     				in policy that isn't attached to the message, it isn't possible
     				to later decipher it. This is very different from expressing, in
     				policy, what ciphers (and so forth) are supported by a particular
     				endpoint, or those that are required in a particular message; the
     				latter are the intended uses of the WS-Policy framework.
     				</p><p>As a result, the <phrase diff="chg">Assertion Authors </phrase>should take into account that the following important concepts
     				when designing assertions and documenting the semantics of the
     				assertion types. 
     				</p><p>Firstly, an assertion type indicates a <emph>runtime</emph> behavior.  
     				</p><p>Secondly, <phrase diff="add">Assertion Authors</phrase><phrase diff="del">authors </phrase>need to indicate how the runtime behavior represented in the assertion type can be inferred or indicated
     				from a message at runtime.  If there is a need for the behavior
    		 		to be represented in a persistent way or if there is a need for
     				additional data or metadata that is present in a message to be
     				persisted, it should be incorporated into the assertion design or
     				in the message itself. In essence, the <phrase diff="chg">Assertion Authors </phrase>should
     				consider how to make messages self describing when utilizing
     				their assertions by specifying additional properties, headers,
     				etc. that must be present in a message as part of their assertion design.
     				</p><p>If the messages could not be made self describing by utilizing additional properties present in the
    				message as required by the assertion, it would be necessary to
    				determine the behaviors engaged at runtime by additional means. A
    				general protocol that aids in determining such behaviors may be
    				utilized, however a standard protocol for this purpose is
    				currently not available to ensure interoperability. Thus, a private protocol should be used with care. </p><p>Another approach is to use of the assertion to selectively apply to subjects. For example, a
    				dedicated endpoint may be allocated to ensure the engagement of a
    				behavior that is expressed by a policy assertion. This approach
    				can be considered when messages cannot be self describing. 
     				</p><p>Best practice: Policy assertions should not be used to express the semantics of a message.
     				</p></div3><div3 id="single-domains"><head>Single Domains</head><p>When considering the creation of a
      			  	new domain of policy assertions, it is important to identify
       			 	whether or not the domain is self-contained or at least if a
        			subset of the domain can be well defined.  A domain that
        			expresses a broad set of capabilities will also need to have
        			community supporting implementations to provide value to the
        			consumers.  Ultimately it is the consumers and providers that
        			will determine whether a particular set of assertions
        			correctly characterize a domain.  A new community should avoid
        			duplicating assertions that have already been defined as this
        			will create ambiguity not clarification. New <phrase diff="chg">Assertion Authors
        			</phrase>should focus on creating assertions for those specific
        			constraints and capabilities that do not overlap with other
        			domains but that communicate new functionality. 
        			</p><p>The model advocated for new
					assertion development is a cooperative marketplace
					[some might say it is an "opt-in" model]. The providers
					of services need to find value in the set of
					assertions or they will not include the assertions in
					their service descriptions. 
					</p><p>A review by a broad community is
        			the best way to ensure that the granularity of a set of domain
        			assertions is appropriate. 
        			</p><p>Best practice: Avoid duplication of assertions.
            		</p></div3></div2><div2 id="comparison"><head>Comparison of Nested and Parameterized Assertions</head><p>There are two different ways to provide additional information in an
				assertion beyond its type. We cover these two cases below followed by a
				comparison of these approaches targeting when to use either of the approach.  
				</p><div3 id="parameterized-assertions"><head>Assertions with Parameters</head><p>The framework allows WS-Policy domain authors to define 
                                        <phrase diff="chg">policy assertion parameters </phrase>to qualify an assertion. 
                                        <phrase diff="chg">Policy assertion parameters are defined </phrase><bibref ref="WS-Policy" diff="add"/><phrase diff="add">.   
                                        Policy</phrase><phrase diff="del">be </phrase><phrase diff="add">assertion</phrase><phrase diff="del">appropriate
        			to </phrase><phrase diff="chg">parameters </phrase><phrase diff="add">are the opaque payload</phrase><phrase diff="del">these </phrase><phrase diff="add">of an assertion.  
                                        Assertion </phrase>parameters <phrase diff="add">carry additional useful pieces</phrase><phrase diff="del">instead </phrase>of <phrase diff="add">information 
                                        necessary</phrase><phrase diff="del">nesting </phrase><phrase diff="chg">for </phrase><phrase diff="add">engaging</phrase><phrase diff="del">elements. 
        			
					 </phrase><phrase diff="chg">the </phrase><phrase diff="add">behavior described by</phrase><phrase diff="del">that </phrase><phrase diff="add">an assertion.  
                                        Assertion </phrase>parameters <phrase diff="chg">are not </phrase><phrase diff="add">considered when performing policy 
                                        intersection unless domain</phrase><phrase diff="del">include </phrase><phrase diff="add">specific compatibility processing
                                        semantics are specified by </phrase>the <phrase diff="add">assertion.  
                                        In the XML representation of a policy assertion the</phrase><phrase diff="del">following:
					
						
						 </phrase><phrase diff="chg">child </phrase>elements 
                                        <phrase diff="add">and </phrase><phrase diff="chg">attributes of the assertion excluding </phrase><phrase diff="add">child elements and attributes 
                                        from the</phrase><phrase diff="del">be </phrase>policy <phrase diff="add">xml</phrase><phrase diff="del">assertions.  
						 
						
						
						 </phrase><phrase diff="chg">language namespace are the </phrase><phrase diff="add">assertion parameters.
                                        </phrase></p><p>In the example below, <code>sp:Body</code> and <code>sp:Header</code> 
                                        elements are the two assertion parameters of the 
                                        <code>sp:SignedParts</code> policy assertion 
                                        (this assertion requires the parts of a message to be protected). 
            		                </p><example><head>Policy Assertion with Assertion Parameters</head><eg xml:space="preserve"><phrase diff="chg">&lt;wsp:Policy&gt;
  &lt;sp:SignedParts&gt;
    &lt;sp:Body/&gt;
    &lt;sp:Header/&gt;
  &lt;/sp:SignedParts&gt;
&lt;/wsp:Policy&gt;</phrase></eg></example><p diff="add"><phrase diff="add">Best practice: Define policy assertion parameters for 
                                         specifying useful pieces of information necessary for engaging 
                                         the behavior described by an assertion but not relevant to policy 
                                         intersection. 
                                         </phrase></p></div3><div3 id="nested-assertions"><head>Nested Assertions</head><p>The framework provides the ability to "nest" policy assertions. For domains with a complex set of
        				options, nesting provides one way to indicate dependent
        				elements within a behavior. The granularity of assertions is
        				determined by the authors and it is recommended that care be
        				taken when defining nested policies to ensure that the options
        				provided appropriately specify policy alternatives within a specific behavior.
        				</p><p>We will use the WS-SecurityPolicy to illustrate the use of nested assertions.
        				</p><p>Securing messages is a complex usage scenario. The WS-SecurityPolicy <phrase diff="add">Assertion Authors</phrase><phrase diff="del">authors </phrase>have defined the
        				<code>sp:TransportBinding</code> policy assertion to indicate
       					 the use of transport-level security for protecting
        				messages. Just indicating the use of transport-level security
        				for protecting messages is not sufficient. To successfully
        				interact with a Web service, the consumer must know not only
        				that transport-level security is required, but also the
        				transport token to use, the secure transport to use, the
        				algorithm suite to use for performing cryptographic
        				operations, etc. The <code>sp:TransportBinding</code> policy
        				assertion can represent these dependent behaviors.
        				</p><p>A policy assertion like the <code>sp:TransportBinding</code>
        				identifies a visible behavior that is a requirement. A nested
        				policy expression can be used to enumerate the dependent
        				behaviors on the Transport binding. A nested policy expression
        				is a policy expression that is a child element of another
        				policy assertion element. A nested policy expression further
        				qualifies the behavior of its parent policy assertion.
        				</p><p>In the example below, the child Policy element is a nested
        				policy expression and further qualifies the behavior of the
        				<code>sp:TransportBinding</code> policy assertion. The
        				<code>sp:TransportToken</code> is a nested policy assertion of
        				the <code>sp:TransportBinding</code> policy assertion. The
        				<code>sp:TransportToken</code> assertion requires the use of a
        				specific transport token and further qualifies the behavior of
        				the <code>sp:TransportBinding</code> policy assertion (which
        				already requires the use of transport-level security for
        				protecting messages).
        				</p><example><head>Transport Security Policy Assertion</head><eg xml:space="preserve">&lt;sp:TransportBinding&gt;
  &lt;Policy&gt;
    &lt;sp:TransportToken&gt;
      &lt;Policy&gt;
        &lt;sp:HttpsToken RequireClientCertificate="false" /&gt;
      &lt;/Policy&gt;
    &lt;/sp:TransportToken&gt;
    &lt;sp:AlgorithmSuite&gt;
      &lt;Policy&gt;
        &lt;sp:Basic256Rsa15/&gt;
      &lt;/Policy&gt;
    &lt;/sp:AlgorithmSuite&gt;
  &lt;/Policy&gt;
&lt;/sp:TransportBinding&gt;</eg></example><p>The <code>sp:AlgorithmSuite</code> is a nested policy assertion of
           				 the <code>sp:TransportBinding</code> policy assertion. The <code>sp:AlgorithmSuite</code>
          				assertion requires the use of the algorithm suite identified by its nested policy
          				assertion (<code>sp:Basic256Rsa15</code>
						<emph>in the example above</emph>) and further qualifies the behavior of the
            			<code>sp:TransportBinding</code> policy assertion.
            			</p><p>Setting aside the details of using transport-level
        				security, a policy-aware client that recognizes this policy
        				assertion can engage transport-level security and its
       					dependent behaviors automatically. This means the complexity of
        				security usage is absorbed by a policy-aware client and hidden
        				from Web service application developers.
        				</p><p diff="add"><phrase diff="add">Assertion authors should note the effect of nested policy expressions
						on policy intersection in their nested policy design. The result of
						intersecting an assertion that contains an empty nested policy
						expression with an assertion of the same type without a nested policy
						expression is that the assertions are not compatible. Therefore, when
						providers require dependent behaviors these behaviors should be
						explicitly specified as assertions in a nested policy expression. When
						the definition of an assertion allows for nested dependent behaviors,
						but the use of the assertion only contains an empty nested policy
						expression, this specific use indicates the specification of no nested
						dependent behaviors. This use must not be interpreted as being
						compatible with "any" of the nested dependent behaviors that are
						allowed by the assertion, unless otherwise specified by the assertion
						definition.</phrase></p><p diff="add"><phrase diff="add">As an example, WS-Security Policy defines </phrase><code><phrase diff="add">sp:HttpToken</phrase></code> <phrase diff="add">assertion to
						contain three possible nested elements, </phrase><code><phrase diff="add">sp:HttpBasicAuthentication</phrase></code><phrase diff="add">,
						</phrase><code><phrase diff="add">sp:HttpDigestAuthentication</phrase></code> <phrase diff="add">and </phrase><code><phrase diff="add">sp:RequireClientCertificate</phrase></code><phrase diff="add">. When the
						</phrase><code><phrase diff="add">HttpToken</phrase></code> <phrase diff="add">is used with an empty nested policy in a policy expression
						by a provider, it will indicate that none of the dependent behaviors
						namely authentication or client certificate is required.</phrase></p><example diff="add"><head><phrase diff="add">Empty Nested Policy Expression</phrase></head><eg xml:space="preserve">&lt;sp:TransportToken&gt; 
  &lt;wsp:Policy&gt; 
	&lt;sp:HttpsToken&gt; 
	  &lt;wsp:Policy/&gt; 
	&lt;/sp:HttpsToken&gt; 
  &lt;/wsp:Policy&gt; 
&lt;/sp:TransportToken&gt;</eg></example><p diff="add"><phrase diff="add">A non-anonymous client who requires authentication or client
						certificate will not be able to use this provider solely on the basis
						of intersection algorithm alone.</phrase></p></div3><div3 id="which-one-to-use"><head>Considerations for choosing parameters vs nesting</head><p>The main consideration for selecting parameters or nesting
					of assertions is that <emph>the framework intersection
					algorithm processes nested alternatives, but does not consider
					parameters in its algorithm</emph>. 
					</p><p><phrase diff="chg">Assertion Authors </phrase>should recognize that the framework can
        			yield multiple assertions of the same type. The <emph>QName</emph>
        			of the assertion is the only vehicle for the framework to
        			match a specific assertion, NOT the contents of the
        			element. If the assertion is a parameterized assertion the
        			authors must understand that this type of assertion will
        			require additional processing by consumers in order to
        			disambiguate the assertions or to understand the semantics of
        			the name value pairs, complex content, attribute values
        			contribution to the processing.  The tradeoff is the generality
        			vs. the flexibility and complexity of the comparison expected for a domain. </p><p>
        			The following design questions below can help
            		 to determine when to use nested policy expressions:</p><ulist><item><p>Are these assertions designed for the same policy subject? </p></item><item><p>Do these assertions represent dependent behaviors?</p></item></ulist><p>If the answers are yes to both of these questions then leveraging nested policy
           			expressions is something to consider. Keep in mind that a nested policy expression participates in
            		the policy intersection algorithm. If a requester uses policy intersection to select a
            		compatible policy alternative then the assertions in a nested policy expression play a
            		first class role in the outcome. There is one caveat to watch out for: policy assertions
            		with deeply nested policy can greatly increase the complexity of a policy and should be
            		avoided when they are not needed.</p><p>Best practice: If the <phrase diff="chg">assertion
        			</phrase>authors want to delegate the processing to the framework,
        			utilizing nesting should be considered. Otherwise, domain
        			specific comparison algorithms <phrase diff="chg">may </phrase>need to be devised and be
        			delegated to the specific domain handlers that are not visible
        			to the WS-Policy framework.
        			</p></div3></div2><div2 id="optional-policy-assertion"><head>Designating Optional Behaviors</head><div3><head>Optional behavior in Compact authoring</head><p>Optional behaviors represent behaviors which may be engaged by a consumer. When using the
        			compact authoring form for assertions, behaviors are marked by
        			using <code>wsp:Optional</code> attribute that has a value,
        			"true". During the process of normalization, the runtime
        			behavior is indicated by two policy alternatives, one with and
        			one without the assertion. In a consumer/provider
        			scenario, the choice of engaging the runtime behavior is upon
        			the consumer although the provider is capable of engaging the
        			runtime behavior. In order to simplify reference to such
        			assertions, we just use the term optional assertions in this section. 
        			</p></div3><div3><head>Optional behavior at runtime</head><p>The <bibref ref="WS-Policy-Primer"/> document contains an
        			example that proposes the use of <bibref ref="MTOM"/> as an
        			optional behavior that can be engaged by a consumer. The
        			primer proposes that an assertion that identifies the use of
        			MIME Multipart/Related serialization (see <bibref ref="MTOM"/>,
        			<bibref ref="XOP"/> for messages to enable a Policy-aware
        			clients to recognize the policy assertion and if they select
        			an alternative with this assertion, they engage Optimized MIME
        			Serialization for messages. </p><p>The semantics of this assertion declare that the behavior
        			is reflected in messages: they use an optimized wire format
        			(MIME Multipart/Related serialization). Note that in order for
        			an optional behavior to be engaged, the wire message that
        			would utilize the specific assertion must be self
        			describing. For example, an inbound message to a web service
        			that asserts MTOM, must evaluate, the protocol format of the
        			message to determine whether the incoming message adheres to
        			the Optimized MIME Serialization. By examining the message,
        			the provider can determine whether the policy alternate that
        			contains the MTOM assertion is being selected.</p><p>Assertion <phrase diff="chg">Authors </phrase>should be aware that optional behaviors,
          			like utilizing optional support for Optimized MIME
          			Serialization require some care considering the scoping of the assertion that is applicable. </p><ulist><item><p>Since optional behaviors indicate optionality for
          					both the provider and the consumer, behaviors that must
          					always be engaged by a consumer must not be marked as
          					"optional" with a value "true" since presence of two
          					alternatives due to normalization enables a consumer to
          					choose the alternative that does not contain the assertion,
         			 		and thus making the behavior not being engaged in an interaction.
          					</p></item><item><p>As demonstrated in the MIME optimization behavior, behaviors must be engaged
          					with respect to messages that are targeted to the provider
          					so that the provider can determine that the optional
          					behavior is engaged. In other words, the requirement of self
          					describing nature of messages [<specref ref="self-describing"/>] in order to engage behaviors must
          					not be forgotten with regard to the client's ability to
          					detect and select the alternative if it is to participate in the exchange. 
          					</p></item><item><p> The target scope of an optional assertion is an important factor for
          					<phrase diff="chg">Assertion Authors </phrase>to consider as it determines the
          					<emph>granularity</emph> where the behavior is optionally
          					engaged. For example, if the assertion is targeted for an
          					endpoint policy subject, it is expected to govern all the
          					messages that are indicated by the specific endpoint when
          					optional behavior is <emph> engaged </emph>. Since the
          					behavior would be applicable to policy subject that is
          					designated, it is important for the <phrase diff="add">Assertion</phrase><phrase diff="del">policy assertion </phrase><phrase diff="chg">Authors
          					</phrase>to choose the appropriate level of granularity for optional
          					behaviors, to consider whether a specific message or all messages, etc.  are targeted. 
          					</p></item><item><p> Attaching optional assertions to outbound-messages using message policy subject
          					require some care. An explicit, out of band mechanism may be necessary  to enable a client to indicate that
          					the optional behavior is engaged. Currently such a mechanism is outside the scope of WS-Policy Framework.  
          					</p></item><item><p>When optional behaviors are indicated by attaching assertions with only
            				one side of an interaction, such as an inbound message of
            				a request-response, the engagement of the rest of the
            				interaction will be <emph>undefined</emph>. For example,
            				if a request-response interaction only specified MTOM
            				optimization for an inbound message, it would not be clear
            				whether the outbound message from the provider could also
            				utilize the behavior. Therefore, the <phrase diff="chg">Assertion Authors </phrase>are
            				encouraged to consider how the attachment on a message
            				policy subject on a response message should be treated
            				when optional behaviors are specified for message
            				exchanges within a request response for response messages,
            				using message policy subject. Leaving the semantics
            				not specified or incompletely specified may result in providers making assumptions
            				(i.e. if the incoming message utilized the optimization,
            				the response will be returned utilizing the MTOM
            				serialization). Similarly, if engagement of a behavior is
            				only specified for an outbound message, the <phrase diff="del">policy
            				</phrase><phrase diff="chg">Assertion Authors </phrase>should consider  describing the
            				semantics if the incoming messages also utilized the
            				behavior. This is especially important if the assertion is
            				applicable to more than one specific policy subject. One
            				approach that is currently taken by WS-RM Policy [<bibref ref="WS-RM-Policy"/>] is to introduce both message and endpoint
            				policy subjects for one of its assertions and require the
            				use of endpoint policy subject when message policy subject is used via attachment. 
            				</p></item></ulist><p>Best Practice: Optional <phrase diff="chg">Assertion Authors </phrase>should explicitly state
          			how the behavior that is enabled by the assertion would be
          			engaged when they are designing their assertion, whether by
          			specific headers or some other means. See also <specref ref="self-describing"/>.
          			</p></div3></div2><p diff="del">Typing Assertions
				Since a QName is the central mechanism for
	  			identifying a policy assertion, assertion authors should be
	  			aware of the possible evolution of their assertions and how
	  			this would impact the semantics of the assertion overtime. A namespace
	 			 associated with the assertion may be used to indicate a
	  			specific version of an assertion but this has its limitations. See Lifecycle material  for more detail.
          		
				The typing must be done in combination with the scoping
				of the semantics to a policy subject. WS-PolicyAttachment provides a means of associating an
          		assertion with arbitrary subjects, regardless of their
          		nature. This flexibility can lead to ambiguity in the
          		interpretation of policy; for example, if one attaches an
          		assertion with the semantic "must be encrypted" to a SOAP
          		endpoint, it's unclear what must be encrypted.
          		
		  		 One way to disambiguate the semantic is to generally determine
          		if an assertion is specific to a policy attachment
          		mechanism. An example could be identifying whether the
          		assertion expressed is associated with behaviors
          		(endpoints) or artifacts (messages) and then constraining
          		the use of an assertion to one of these subjects.
          		
				Thus our example encryption assertion would have a
          		subject of "message", and could only be attached to
          		messages, where the assertion is valid. However, authors
          		need to be aware that policy attachment subjects are
          		not limited to the subjects defined in WSDL.  The
          		external attachment model in WS-PolicyAttachment allows for
          		the definition of other domain expressions to be policy
          		subjects. More of this topic is covered in the 
				        
				Best Practice- To avoid confusion, assertion definitions should be
          		precise about their semantics and include information that
          		restricts their set of permissible policy subjects
          		appropriately and indicates which QNames are associated with
          		which subjects.        
          		
          
            Description must clearly and completely specify the syntax (plus an XML Schema
              document) and semantics of a policy assertion.
          
          
            If there is a nested policy expression, description must declare it and enumerate the
              nested policy assertions that are allowed. 
          
          
            A policy alternative may contain multiple instances of the same policy assertion.
              Description must specify the semantics of parameters and nested policy (if any) when
              there are multiple instances of a policy assertion in the same policy alternative.
            
          
          
            If a policy assertion is to be used with WSDL, description must specify a WSDL policy
              subject – such as service, endpoint, operation and message.
          
        
			
			
			</p><div2 id="levels-of-abstraction"><head>Levels of Abstraction in WSDL </head><p>A behavior identified by a policy assertion applies to the
        		associated policy subject. If a policy assertion is to be used
        		within WSDL, <phrase diff="add">Assertion</phrase><phrase diff="del">policy assertion </phrase><phrase diff="chg">Authors </phrase>must specify a WSDL
        		policy subject. The policy subject is determined with respect
        		to a behavior as follows:
        		</p><ulist><item><p>If the behavior applies to any message exchange
          				using any of the endpoints offered by a service then the
         				subject is the service policy subject. </p></item><item><p>If the behavior applies to any message exchange
          				made using an endpoint then the subject is the endpoint policy subject. </p></item><item><p>If the behavior applies to any message exchange
	  					defined by an operation then the subject is the operation policy subject. </p></item><item><p>If the behavior applies to an input message then
	  					the subject is the message policy subject - similarly for output and fault message policy subjects.</p></item></ulist><p><phrase diff="chg">Assertion Authors </phrase>that wish to utilize WSDL policy subjects need to understand how the assertions will be
				processed in intersection and merging and the implications of
				the processing for considering a specific attachment point and
				policy subject. This topic is considered in detail in <bibref ref="WS-Policy-Primer"/>
				</p><p>The current set of subjects as mapped to the WSDL 1.1
        		elements, can also constrain the assertion constructs. For Example, In WS-RM,
        		the <phrase diff="chg">Assertion Authors </phrase>chose to support certain capabilities at
        		the endpoint level. This resulted in the finer granularity of
        		the assertion to apply at the message policy subject, but the
        		assertion semantics also indicates that the if 
        		a sender chose to engage RM
        		semantics (although not specified via attachment in WSDL at incoming
        		messages), the providers will honor the engagement of RM.
        		This is illustrative of how the
        		assertion author can specify additional constraints and
        		assumptions for attachment and engagement of behavior.
        		</p><p>If the capability is not really suitable and may imply
        		different semantics with respect to attachment points, the
        		<phrase diff="chg">Assertion Authors </phrase>should consider the following</p><ulist><item><p> Decompose the semantics with several assertions </p></item><item><p> Rewrite a single assertion targeting a specific subject. </p></item></ulist><p> For a given WSDL policy subject, there may be several
        		attachment points. For example, there are three attachment
        		points for the endpoint policy subject: the port, binding and
        		portType element. <phrase diff="add">Assertion</phrase><phrase diff="del">Policy assertion </phrase><phrase diff="chg">Authors </phrase>should identify the
        		relevant attachment point when defining a new assertion. To
        		determine the relevant attachment points, <phrase diff="add">Assertion Authors</phrase><phrase diff="del">authors </phrase>should
        		consider the scope of the attachment point. For example, an
        		assertion should only be allowed in the portType element if
        		the assertion reasonably applies to any endpoint that ever
        		references that portType. Most of the known policy assertions
        		are designed for the endpoint, operation or message policy subject. 
        		</p><p> In using WSDL attachment, it should be noted that the
        		service policy subject is a collection of endpoint policy
        		subjects. The endpoint policy subject is a collection of
        		operation policy subjects and etc. As a result, the WSDL
        		policy subjects compose naturally. It is quite tempting to
        		associate the identified behavior to a broader policy subject
        		than to a fine granular policy subject. For instance, it is
        		convenient to attach a supporting token assertion (defined by
        		the Web Services Security Policy specification) to an endpoint
        		policy subject instead of a message policy subject. Similarly,
        		for authoring convenience, an assertion author may allow the
        		association of an assertion to multiple policy subjects. If an
        		assertion is allowed to be associated with multiple policy
        		subjects then <emph>the assertion author has the burden to
        		describe the semantics of multiple instances of the same
        		assertion attached to multiple policy subjects at the same
        		time in order to avoid conflicting behavior. </emph>
				</p><p>One approach is to specify a policy subject, choose the
				most granular policy subject that the behavior applies to and
				specify a preferred attachment point in WSDL. However, this
				approach only works if the policy subject is a true WSDL
				construct other than some other protocol concept that is
				layered over WSDL message exchanges. For example, the WS-RM
				Policy is a capability that governs a target endpoints
				capability to accept sequences that is beyond single message
				exchanges. Therefore, its semantics encompasses the cases when
				message level policy subjects may be used as attachment but
				considers when sequences are present. In addition, when the
				policy assertions do not target wire-level behaviors but
				rather abstract requirements, this technique does not apply. 
				</p></div2><div2 id="interrelated-domains" diff="add"><head><phrase diff="add">Interrelated domains</phrase></head><p><phrase diff="add">Assertion authors need to be clear about how assertions defined in  
				their domain may fit with assertions for interrelated domains. A  
				classic example of such an interrelated domain is security, because  
				security tends to
				cut across all aspects of a solution.</phrase></p><p> <phrase diff="add">One example is the definition  
				of additional assertions
				related to the interrelated security domain [</phrase><bibref ref="WS-SecurityPolicy"/><phrase diff="add">] in  
				Web Services Reliable Messaging Policy
				Assertions [</phrase><bibref ref="WS-RM-Policy"/><phrase diff="add">]. </phrase></p><p><phrase diff="add">Assertion authors should not duplicate existing  
				assertions and should also make sure that when adding assertions those new assertions are consistent  
				with pre-existing assertions of any  
				interrelated domain. </phrase></p></div2></div1><div1 id="versioning-policy-assertions" diff="chg"><head><phrase diff="chg">Versioning Policy </phrase>Assertions</head><p><phrase diff="chg">Assertion Authors </phrase>need to consider not just the expression of the current set of requirements but
		how they anticipate new assertions being added to the set.  There are three aspects <phrase diff="add">to</phrase><phrase diff="del">that govern </phrase><phrase diff="chg">versioning policy assetions:</phrase></p><ulist><item><p> Assertion Extensibility </p></item><item><p> Policy Language Extensibility </p><p>Over time, the Policy WG or third parties can version or extend the Policy Language with new 
				or modified constructs.  These constructs may be compatible or incompatible with previous versions.
				</p><p> <phrase diff="chg">Assertion Authors </phrase>should review the WS-Policy Primer <bibref ref="WS-Policy-Primer"/> 
				and the specifications <bibref ref="WS-Policy"/> <bibref ref="WS-PolicyAttachment"/>
				for details on extensibility.
				</p><p> The current WS-Policy language <bibref ref="WS-Policy"/> provides extensibility points 
				on 6 elements with a combination of attribute and/or element extensibility:</p><olist><item><p>Policy: element from ##other namespace and any attribute</p></item><item><p><phrase diff="del">PolicyReference: any attribute and a proposal to add any element </phrase>ExactlyOne, All: element from ##other <phrase diff="chg">namespace; </phrase>no attribute extensibility</p></item><item><p><phrase diff="add">PolicyReference: any element and any attribute</phrase></p></item><item diff="add"><p>PolicyAttachment: element from ##other namespace and any attribute</p></item><item><p>AppliesTo: any element and any attribute</p></item><item diff="add"><p><phrase diff="add">URI: any attribute</phrase></p></item></olist></item><item><p><phrase diff="add">Supporting </phrase><phrase diff="del">Subject attachment Extensibility 
			PolicyAttachment and AppliesTo also </phrase><phrase diff="chg">New Policy Subjects</phrase></p></item></ulist><div2 id="Referencing_Policy_Expressions"><head>Referencing Policy Expressions</head><p>The <bibref ref="WS-Policy-Primer"/> illustrates how providers can utilize
					the identification mechanism defined in the Policy specification
        			to
					expose a complex policy expression as a reusable building block for
					other policy expressions by reference. <phrase diff="add">Reuse may also be useful for
					domain</phrase><phrase diff="del">Domain </phrase>assertion authors, especially those defining complex assertions
					<phrase diff="add">utilizing references</phrase><phrase diff="del">that
        			include </phrase><phrase diff="chg">to policy expressions by nesting. </phrase><phrase diff="add">Statically
					available</phrase><phrase diff="del">consider </phrase><phrase diff="chg">parameterized content </phrase><phrase diff="add">may</phrase><phrase diff="del">recommending
        			naming </phrase><phrase diff="chg">also be reused by </phrase><phrase diff="add">different
					assertions.</phrase><phrase diff="del">promote </phrase><phrase diff="chg">However, such </phrase><phrase diff="del">through
        			</phrase>referencing <phrase diff="chg">mechanism is outside the scope </phrase><phrase diff="add">of
					WS-Policy</phrase><phrase diff="del">be </phrase><phrase diff="chg">naming and </phrase><phrase diff="add">referencing</phrase><phrase diff="del">only
        			within </phrase><phrase diff="chg">framework and other mechanisms could be used. 
					As an example, in </phrase><bibref ref="WS-Policy-Primer" diff="add"/>
					<phrase diff="add">Section</phrase><phrase diff="del">their </phrase><phrase diff="chg">4.2, the </phrase><code diff="add"><phrase diff="add">sp:issuedToken</phrase></code><phrase diff="del">common
        			policy </phrase><phrase diff="add">assertion utilizes the
					</phrase><code diff="add"><phrase diff="add">sp:RequestSecurityTokenTemplate</phrase></code> <phrase diff="add">parameter</phrase><phrase diff="del">expressions </phrase>that <phrase diff="chg">contains </phrase><phrase diff="add">necessary
					information</phrase><phrase diff="del">identified. </phrase><phrase diff="chg">to request </phrase><phrase diff="add">a</phrase><phrase diff="del">promotes
        			manageability </phrase><phrase diff="add">security token. The contents </phrase>of the <phrase diff="add">parameter
					are</phrase><phrase diff="del">expressions </phrase><phrase diff="chg">static and allows </phrase><phrase diff="add">reuse in different security scenerios.</phrase><phrase diff="del">uniquely
        			identified.
        			</phrase></p></div2><div2 id="extending-assertions"><head> Evolution of Assertions (Versioning and Compatibility)</head><p>Over time, there may be multiple equivalent behaviors emerging in the Web
           			Service interaction space. Examples of such multiple equivalent behaviors are WSS: SOAP Message Security 1.0
           			vs. 1.1 and WS-Addressing August 2004 version vs. WS-Addressing W3C Recommendation
           			[<bibref ref="WS-Addressing"/>]. These equivalent behaviors
           			are mutually exclusive for an interaction. Such equivalent
           			behaviors can be modeled as independent assertions. The
           			policy expression in the example below requires the use of
           			WSS: SOAP Message Security 1.0. </p><example><head>Message-level Security and WSS: SOAP Message Security 1.0</head><eg xml:space="preserve">&lt;Policy&gt;
  &lt;sp:Wss10&gt;…&lt;/sp:Wss10&gt;
&lt;/Policy&gt;</eg></example><p>The policy expression in the example below requires the use of WSS: SOAP Message
           						Security 1.1. These are multiple equivalent behaviors and are represented using distinct
           						policy assertions.</p><example><head>Message-level Security and WSS: SOAP Message Security 1.1</head><eg xml:space="preserve">&lt;Policy&gt;
  &lt;sp:Wss11&gt;…&lt;/sp:Wss11&gt;
&lt;/Policy&gt;</eg></example><p>Best practice: use independent assertions for modeling multiple equivalent
           						behaviors.</p></div2><div2 id="supporting-new-policy-subjects" diff="add"><head><phrase diff="add">Supporting</phrase><phrase diff="del">Inter-domain Policy </phrase><phrase diff="chg">New Policy Subjects</phrase></head><p>
				<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#Assertions" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">Section</phrase><phrase diff="del">Domain </phrase><phrase diff="add">2</phrase></loc><phrase diff="del">authors </phrase><phrase diff="chg">identifies that it is a best practice </phrase><phrase diff="add">for</phrase><phrase diff="del">their
			domain </phrase><phrase diff="chg">policy authors </phrase><phrase diff="add">to 
				define</phrase><phrase diff="del">domains. </phrase><phrase diff="chg">the set of policy </phrase><phrase diff="add">subjects</phrase><phrase diff="del">interact
         with </phrase><phrase diff="chg">to which </phrase><phrase diff="add">policy </phrase>assertions <phrase diff="chg">can </phrase><phrase diff="add">be 
				attached.  Over</phrase><phrase diff="del">a </phrase><phrase diff="chg">time, </phrase><phrase diff="add">new</phrase><phrase diff="del">Although
         modeling </phrase><phrase diff="chg">policy subjects </phrase>may <phrase diff="chg">need </phrase>to be <phrase diff="add">defined.  When 
				this occurs, a policy assertion author may update the list of policy 
				subjects supported by </phrase>an <phrase diff="add">assertion. 
			</phrase></p><p>
				<phrase diff="add">When</phrase><phrase diff="del">independent </phrase><phrase diff="add">the</phrase><phrase diff="del">behavior,
         protocol </phrase><phrase diff="chg">assertion's semantics do not change </phrase><phrase diff="add">to</phrase><phrase diff="del">transport
         bindings </phrase><phrase diff="chg">invalidate any of </phrase><phrase diff="add">the 
				original</phrase><phrase diff="del">must </phrase><phrase diff="add">policy subjects but new policy subjects need to </phrase>be <phrase diff="add">added, it may 
				be possible to use the same assertion to designate the additional</phrase><phrase diff="del">considered. </phrase><phrase diff="add">policy 
				subjects without a namespace change.  </phrase>For
         <phrase diff="chg">example, a policy assertion </phrase><phrase diff="add">for 
				a</phrase><phrase diff="del">with </phrase><phrase diff="add">protocol</phrase><phrase diff="del">other
         protocols </phrase><phrase diff="chg">that is originally designed for </phrase><phrase diff="add">endpoint policy subject may add 
				message policy subject to</phrase><phrase diff="del">result </phrase><phrase diff="add">indicate finer granularity </phrase>in <phrase diff="add">the attachment 
				provided that endpoint </phrase><phrase diff="del">nested
         </phrase>policy <phrase diff="chg">subject is also </phrase><phrase diff="add">retained in its design.</phrase><phrase diff="del">protocols </phrase><phrase diff="add">When 
				new policy subjects </phrase>are <phrase diff="chg">added </phrase><phrase diff="add">it</phrase><phrase diff="del">with
         . </phrase><phrase diff="chg">is </phrase><phrase diff="add">incumbent on</phrase><phrase diff="del">domain </phrase><phrase diff="add">the </phrase>authors <phrase diff="add">to</phrase><phrase diff="del">should
         be </phrase><phrase diff="add">retain the 
				semantic</phrase><phrase diff="del">aware </phrase>of the <phrase diff="chg">policy </phrase><phrase diff="add">assertion. 
			</phrase></p><p><phrase diff="add">Best</phrase><phrase diff="del">semantics </phrase><phrase diff="chg">Practice: An </phrase><phrase diff="add">assertion</phrase><phrase diff="del">related
         domains. </phrase><phrase diff="chg">description should specify a </phrase><phrase diff="add">policy 
				subject.</phrase></p><p><phrase diff="add">Best</phrase><phrase diff="del">require </phrase><phrase diff="add">Practice:</phrase><phrase diff="del">composition
         with </phrase><phrase diff="chg">If the policy subjects change over </phrase><phrase diff="add">time, 
				</phrase>the <phrase diff="add">assertion</phrase><phrase diff="del">nesting
         requirements </phrase><phrase diff="add">description should</phrase><phrase diff="chg">also be versioned to reflect </phrase><phrase diff="add">this 
				change.
			</phrase></p></div2></div1><div1 id="best-practices-attachment"><head>Applying Best Practices for  Policy Attachment</head><div2 id="context-free-policies"><head>Appropriate Attachment: Preserving Context-Free Policies</head><p>Policy attachment should not affect the interpretation of
         Policy alternatives. If it did, each policy assertion would
         need to be written with different (and possibly unknown)
         attachment mechanisms in mind.   <phrase diff="del">In particular, the timing of a
         policy attachment or the role that a party who attaches
         policy should have no bearing on the evaluation of the policy
         assertion </phrase></p><!-- EDS TO DO: [CLARIFY SUBJECT RELATIONSHIP] in the paragraph above --></div2><div2 id="appropriate-attachment-assertion-subjects"><head>Appropriate Attachment: Identifying Assertion Subjects</head><p>Each policy attachment mechanism should unambiguously
        identify the subject of the attached assertions. Generally,
        this should be a specific SOAP node or a specific message
        between two SOAP nodes. Some attachment mechanisms may
        encompass multiple notes or messages, for example, "the
        message along its entire path". </p><div3 id="interaction"><head>Interaction between Subjects</head><p>If the best practices are followed, and the assertions
           are scoped according to their subject, then multiple policy
           domains may be combined without conflict. Each domain
           should define any limitations at the policy subject level
           that might impact interoperability (i.e. WS-SecurityPolicy
           - binding abstraction to group capabilities per message
           exchange). </p></div3></div2><div2 id="identifying-assertion-sources"><head>Appropriate Attachment: Identifying Assertion Sources </head><p>As with identifying Policy subjects, policy attachment
	   mechanisms should make it possible to clearly identify the
	   source of a <phrase diff="chg">policy </phrase>assertion both for debugging and for
	   verification. This could take several forms: it could be
	   assumed (in WSDL, the source of the assertion is the same
	   as the WSDL provider) or it could be proven (using
	   <bibref ref="WS-Trust"/>).  </p></div2></div1><div1 id="scenario"><head>Scenario and a worked example</head><p>To illustrate the topics explored in this document, we
       include an example of a web service and how a fictitious company
       might utilize the WS-Policy Framework to enable Web Service
       interoperability. Company A has determined to utilize WS-Security,
       WS-Addressing and WS-Reliable Messaging in all its new web
       service offerings and has instructed its developers to use the
       policy assertions defined by the following documents: </p><ulist><item><p>Web Services Security Policy </p></item><item><p>Web Services Reliable Messaging Policy </p></item><item><p>Web Services Addressing WSDL Binding</p></item></ulist><p>The application developers at Company A are instructed to
      review the current web services at Company A and propose a plan
      for adding policy assertions. </p><p>The application developers collect information about web
      services within Company A and determine that all of the web
      services already have a WSDL 1.1 description. The developers
      have determined that Company A's web services fall into two
      types of web services. There are those that fall into the
      "default" category, and will use a predefined set of policy
      assertions, and there are those that use the default but also
      extend the policy alternatives. </p><p>They have also determined that for the both types, the
      appropriate policy subject is the endpoint.  They determined
      this because the capabilities apply to all operations and
      messages for the web service not to any one individual operation
      or message exchange. </p><p>Service A is a WSDL 1.1 conformant web service and requires
      the use of transport-level security for protecting messages as
      well as including addressing headers. Employees of Company A have
      already incorporated <code>wss:Security</code> headers into their
      messages. </p><example><head>Message with Security Headers</head><eg xml:space="preserve"><phrase diff="chg">&lt;soap:Envelope&gt; 
  &lt;soap:Header&gt;
    &lt;wss:Security soap:mustUnderstand ="1"&gt;
      &lt;wsu:Timestamp wsu:Id=_0"&gt;
        &lt;wsu:Created&gt; 20006-01-19T02:49:53.914Z &lt;/u:Created&gt; 
        &lt;wsu:Expires&gt; 20006-01-19T02:54:53.914Z &lt;/u:Expires&gt;
      &lt;/wsu:Timestamp&gt;
    &lt;/wss:Security&gt;
    &lt;wsa:To&gt; http://CompanyA/quote &lt;wsa:To&gt;
    &lt;wsa:Action&gt; http://CompanyA/GetRealQuote&lt;/wsa:Action&gt;
 &lt;/soap:Header&gt;
 &lt;soap:Body&gt; ...
&lt;/soap:Envelope&gt;</phrase></eg></example><p>The SOAP message in the example above includes security
     timestamps that express creation and expiration times of this
     message. Company A requires the use of these security timestamps
     and transport-level security, such as HTTPS for protecting
     messages. </p><p>The example below illustrates a policy expression that
     CompanyA has created for its employees to use on their web
     services to indicate the use of addressing and transport-level
     security for securing messages. </p><example><head> CompanyA-ProfileA </head><eg xml:space="preserve">
&lt;Policy URI=http://www.CompanyA.com/WebServicesProfileA.xml&gt; 
	&lt;wsa:UsingAddressing /&gt;
	&lt;sp:TransportBinding&gt;&lt;/sp:TransportBinding&gt;
&lt;/Policy&gt;</eg></example><p>The <code>sp:TransportBinding</code> element is a policy assertion. The
     assertion identifies the use of transport-level-security - such
     as HTTPS for protecting messages at the transport
     level. Company A's policy aware clients can now recognize this
     policy assertion and if they support it, engage in transport
     level security for protecting messages and providing security
     timestamps in SOAP envelopes for any WSDL with this policy
     attached. </p><p>When creating the policy for the default web services, the
     developers took into consideration several factors.  First, all
     their web services were WSDL 1.1 web services. Second, they
     wanted to reuse policy assertions where ever possible. Third,
     they wanted to ensure that where possible they would support
     alternatives rather than forcing a single client
     configuration. </p><p>The developers read the WS-Policy specification and noted that
     there were three ways to express combinations of behaviors. The three
     policy operators, (Policy, All and ExactlyOne) were considered
     and the result was the creation of two policy elements. </p><p>The first policy is shown in Figure
     <emph>CompanyA-ProfileA</emph> and it is the policy that is used
     by many web services at Company A that rely on HTTPS to provide
     transport level protection of messages. </p><p>The second policy is shown in Figure
     <emph>CompanyA-ProfileB</emph> and it offers <phrase diff="chg">requesters </phrase>of a
     service the ability to provide additional integrity protection by
     including WS-Security Headers to protect the message content
     after it is processed by the transport.  The additional security
     processing is not required by all Company A web services. </p><example><head>CompanyA-ProfileB (not expanded)</head><eg xml:space="preserve">&lt;Policy wsu:Id="CompanyA-ProfileB"&gt;
 &lt;wsa:UsingAddressing/&gt;
 &lt;ExactlyOne&gt;
  &lt;sp:TransportBinding&gt;&lt;/sp:TransportBinding&gt;
  &lt;sp:AsymmetricBinding&gt;&lt;/sp:AssymetricBinding&gt;
 &lt;/ExactlyOne&gt;
&lt;/Policy&gt;</eg></example><p>We have shown above that Company A offered a
    second profile that included two security options.  The details of
    the Bindings, requires a more detailed exploration of some of the
    other features of the WS-Policy Framework. </p><p>When <phrase diff="chg">Assertion Authors </phrase>create sets of Policy assertions, like
    WS-Security Policy they need to consider expressing the semantics
    of their domain in a way that policy consumers, like Company A,
    can utilize them.  In this case, the WS-SecurityPolicy <phrase diff="add">Assertion Authors</phrase><phrase diff="del">authors
    </phrase>factored out common elements of security mechanisms and utilized a
    feature of WS-Policy called "nested" assertions.  In the case of
    an <code>sp:TransportBinding</code> assertion, just indicating the use of
    transport-level security for protecting messages is not
    sufficient. For a consumer of a web service provided by a company,
    like Company A, to successfully interact, the consumer must also
    know what transport token, what algorithm suite, etc. is
    required. The <code>sp:TransportBinding</code> assertion, can (and has)
    represent (ed) these dependent behaviors as "nested" policy
    assertions.  </p><p>In the example below the child Policy element is a nested
     policy behavior and further qualifies the behavior of the
     <code>sp:TransportBinding</code> policy assertion.  </p><example><head>CompanyA-ProfileB (fully expanded)</head><eg xml:space="preserve">&lt;Policy wsu:Id="CompanyA-ProfileB"&gt; 
 &lt;wsa:UsingAddressing/&gt;
 &lt;ExactlyOne&gt;
  &lt;sp:TransportBinding&gt;
   &lt;Policy&gt;
    &lt;sp:TransportToken&gt;
     &lt;Policy&gt;
      &lt;sp:HttpsToken RequireClienCertificate="false" /&gt;
     &lt;/Policy&gt;
    &lt;/sp:TransportToken&gt;
    &lt;sp:AlgorithmSuite&gt;
     &lt;Policy&gt;
      &lt;sp:Basic256Rsa15 /&gt;
     &lt;/Policy&gt;
    &lt;/sp:AlgorithmSuite&gt;
   &lt;/Policy&gt;
  &lt;/sp:TransportBinding&gt;
  &lt;sp:AsymmetricBinding&gt;
  &lt;/sp:AssymetricBinding&gt;
 &lt;/ExactlyOne&gt;
&lt;/Policy&gt;</eg></example><p>
				<code>The sp:AlgorithmSuite</code> is a nested policy
     assertion of the <code>sp:TransportBinding</code> assertion and
     indicates that this suite is required.  The
     <code>sp:TransportToken</code> is a nested policy assertion that
     indicates the use of a specific type of token, in this case an
     HttpsToken. </p><p>It should be noted that each policy has an Identifier.  In the
     case of the default policy expression, Company A has decided that
     this policy expression should be broadly available via a URI.
     There are advantages and disadvantages to using each type of
     identifier.  For URI's there is the issue of maintaining the
     policy expression when it may no longer be used (Company A gets
     bought by Company B and starts using the policies of Company B,
     but some "old" consumers may still try to reference the
     URI). </p><p> For the second type of web services, which may be used only
     by certain of Company A's business partners, the id is an XML ID.
     The relative URI for referencing this within the same WSDL
     document is #CompanyA-ProfileB. This can be useful for company's
     when the policy expressions are agreed to between partners but
     may be changed as the business agreements change. But the
     disadvantage is that the policy expression must be included in
     each WSDL document. </p><p>Since Company A has decided to use well known policy
     expressions that are part of a specification, they
     adhere to the guidance given in the WS-SecurityPolicy
     specification and attach the policies to the web service endpoint
     policy subject as recommended by the WS-SecurityPolicy
     specification. For the default web services, the URI is included
     in the wsdl binding for each web service. </p><example><head/><eg xml:space="preserve">&lt;wsdl:binding name="CompanyADefaultBinding" type="tns:CompanyADefault"&gt;
 &lt;wsp:PolicyReference URI="http://www.CompanyA.com/WebServicesProfileA.xml"&gt;
 &lt;wsdl:operation name="GetQuote"&gt; &lt;/wsdl:operation&gt;
&lt;/wsdl:binding&gt;</eg></example><p>The partner specified policy is included in the beginning of
    the WSDL 1.1 document and referenced by the binding for the service
    as in the example below.</p><example><head/><eg xml:space="preserve"><phrase diff="chg">
&lt;wsdl:definitions name="StockQuote"
    targetNamespace="http:.."&gt;
&lt;wsp:Policy wsu:Id="CompanyA-ProfileB"&gt; 
	&lt;wsa:UsingAddressing /&gt;
	&lt;ExactlyOne&gt;
	   &lt;sp:TransportBinding&gt;
              &lt;Policy&gt;
     	         &lt;sp:TransportToken&gt;
		   &lt;wsp:Policy&gt;
		      &lt;sp:HttpsToken RequireClienCertificate="false" /&gt;
                   &lt;/wsp:Policy&gt;
                 &lt;/sp:TransportToken&gt;
                 &lt;sp:AlgorithmSuite&gt;
                    &lt;wsp:Policy&gt;
		       &lt;sp:Basic256Rsa15 /&gt;
                    &lt;/wsp:Policy&gt;
                 &lt;/spAlgorithmSuite&gt;
              &lt;/Policy&gt;
           &lt;/sp:TransportBinding&gt;
	   &lt;sp:AsymmetricBinding&gt;
           &lt;/sp:AssymetricBinding&gt;
	&lt;/ExactlyOne&gt;
&lt;/wsp:Policy&gt;

&lt;wsdl:binding name="CompanyADefaultBinding" type="tns:CompanyADefault"&gt; 
 &lt;wsp:PolicyReference id=#CompanyA-ProfileB&gt;
 &lt;wsdl:operation name="GetQuote"&gt; &lt;/wsdl:operation&gt;
&lt;/wsdl:binding&gt;</phrase></eg></example><p>In some cases, companies may chose to implement their own
  assertions.  When companies chose to become <phrase diff="chg">Assertion Authors </phrase>they need
  to consider not only the definition of the behavior that the
  assertion represents but they need to consider how new assertions
  will be intersected and merged with other assertions in the
  calculation of an effective policy and this also indicates they need
  to consider policy subjects.</p><p> The <phrase diff="chg">WS-Policy 1.5 - Attachment specification </phrase><phrase diff="add">defines algorithms</phrase><phrase diff="del">algorithm </phrase>for calculating <phrase diff="add">the 
 effective policy for a given policy subject and 
  </phrase>effective policies for
 <phrase diff="add">WSDL 1.1, </phrase>WSDL <phrase diff="chg">2.0 and </phrase><phrase diff="add">UDDI policy</phrase>subjects.</p></div1></body><back><div1 id="security-considerations"><head>Security Considerations</head><p> Security considerations are discussed in the <bibref ref="WS-Policy"/> document.</p></div1><div1 id="xml-namespaces"><head>XML Namespaces</head><p>The table below lists XML Namespaces that are used in this document. The choice of any
        namespace prefix is arbitrary and not semantically significant.</p><table summary="Prefixes and XML Namespaces used in this specification" id="nsprefix" border="1" cellspacing="0" cellpadding="5"><caption>Prefixes and XML Namespaces used in this specification.</caption><thead><tr><th rowspan="1" colspan="1">Prefix</th><th rowspan="1" colspan="1">XML Namespace</th><th rowspan="1" colspan="1">Specifications</th></tr></thead><tbody><tr><td rowspan="1" colspan="1">
							<code>soap</code>
						</td><td rowspan="1" colspan="1">
							<code>http://www.w3.org/2003/05/soap-envelope</code>
						</td><td rowspan="1" colspan="1">[<bibref ref="SOAP12"/>]</td></tr><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>wsa</code>
						</td><td rowspan="1" colspan="1">
							<code>http://www.w3.org/2005/08/addressing</code>
						</td><td rowspan="1" colspan="1">[<bibref ref="WS-Addressing"/>]</td></tr><tr><td rowspan="1" colspan="1">
							<code>wsdl</code>
						</td><td rowspan="1" colspan="1">
							<code>http://schemas.xmlsoap.org/wsdl/</code>
						</td><td rowspan="1" colspan="1">[<bibref ref="WSDL11"/>]</td></tr><tr><td rowspan="1" colspan="1">
							<code>wsp</code>
						</td><td rowspan="1" colspan="1">
							<code>http://www.w3.org/ns/ws-policy</code>
						</td><td rowspan="1" colspan="1">[<bibref ref="WS-Policy"/>, <bibref ref="WS-PolicyAttachment"/>]</td></tr><tr><td rowspan="1" colspan="1">
							<code>wsrmp</code>
						</td><td rowspan="1" colspan="1">
							<code>http://docs.oasis-open.org/ws-rx/wsrmp/200608</code>
						</td><td rowspan="1" colspan="1">[<bibref ref="WS-RM-Policy"/>]</td></tr><tr><td rowspan="1" colspan="1">
							<code>wss</code>
						</td><td rowspan="1" colspan="1">
							<code>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd</code>
						</td><td rowspan="1" colspan="1">[<bibref ref="WS-Security2004"/>]</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-Security2004"/>]</td></tr></tbody></table></div1><div1 id="references"><head>References</head><blist><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="MTOM" id="MTOM" href="http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">SOAP Message Transmission Optimization Mechanism</titleref>, M. Gudgin, N.
          Mendelsohn, M. Nottingham and H. Ruellan, Editors. World Wide Web Consortium, 25 January
          2005. This version of the SOAP Message Transmission Optimization Mechanism Recommendation
          is http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/. The <loc href="http://www.w3.org/TR/soap12-mtom/" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">latest version of SOAP Message Transmission
            Optimization Mechanism</loc> is available at http://www.w3.org/TR/soap12-mtom/. </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:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Simple Object Access Protocol (SOAP) 1.1</titleref>, D. Box, et al, Editors.
          World Wide Web Consortium, 8 May 2000. Available at
          http://www.w3.org/TR/2000/NOTE-SOAP-20000508/. </bibl><bibl 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:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">SOAP Version 1.2 Part 1: Messaging Framework</titleref>, M. Gudgin, M. Hadley,
          N. Mendelsohn, J-J. Moreau, H. Frystyk Nielsen, Editors. World Wide Web Consortium, 24
          June 2003. This version of the SOAP Version 1.2 Part 1: Messaging Framework Recommendation
          is http://www.w3.org/TR/2003/REC-soap12-part1-20030624/. The <loc href="http://www.w3.org/TR/soap12-part1/" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">latest version of SOAP Version 1.2 Part 1:
            Messaging Framework</loc> is available at http://www.w3.org/TR/soap12-part1/. </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="XOP" id="XOP" href="http://www.w3.org/TR/2005/REC-xop10-20050125/" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">XML-binary Optimized Packaging</titleref>, M. Gudgin, N. Mendelsohn, M.
          Nottingham and H. Ruellan, Editors. World Wide Web Consortium, 25 January 2005. This
          version of the XML-binary Optimized Packaging Recommendation is
          http://www.w3.org/TR/2005/REC-xop10-20050125/. The <loc href="http://www.w3.org/TR/xop10/" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">latest version of XML-binary Optimized Packaging</loc> is available at
          http://www.w3.org/TR/xop10/. </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="WS-Addressing Core" id="WS-Addressing" href="http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Addressing 1.0 - Core</titleref>, M. Gudgin, M. Hadley, and T.
          Rogers, Editors. World Wide Web Consortium, 9 May 2006. This version of the Web Services
          Addressing 1.0 - Core Recommendation is
          http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/. The <loc href="http://www.w3.org/TR/ws-addr-core/" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">latest version of Web Services Addressing 1.0
            - Core</loc> is available at http://www.w3.org/TR/ws-addr-core. </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:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Description Language (WSDL) 1.1</titleref>, E. Christensen, et al,
          Authors. World Wide Web Consortium, March 2001. Available at
          http://www.w3.org/TR/2001/NOTE-wsdl-20010315. </bibl><bibl 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:actuate="onRequest" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Description Language (WSDL) Version
	  2.0 Part 1: Core Language</titleref>, R. Chinnici,
	  J. J. Moreau, A. Ryman, S. Weerawarana, Editors. World Wide
	  Web Consortium, 27 March 2006. This version of the WSDL 2.0
	  specification is
	  http://www.w3.org/TR/2006/CR-wsdl20-20060327. The <loc href="http://www.w3.org/TR/wsdl20/" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">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="WS-Policy" key="Web Services Policy Framework" href="http://www.w3.org/TR/ws-policy/" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
			        <titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Policy 1.5 - Framework</titleref>, A. S. Vedamuthu, D. Orchard, F. Hirsch, M. Hondo, P. Yendluri, T. Boubez and Ü. Yalçinalp, Editors. World Wide Web Consortium, @@,
          @@@@ @@@@. This version of the 
          Web Services Policy 1.5 - Framework specification is at http://www.w3.org/TR/ws-policy/. 
          The <loc href="http://www.w3.org/TR/ws-policy/" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">latest version of
          Web Services Policy 1.5 - Framework</loc> is available at http://www.w3.org/TR/ws-policy/. </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="WS-PolicyAttachment" key="Web Services Policy Attachment" href="http://www.w3.org/TR/ws-policy-attach/" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Policy 1.5 - Attachment</titleref>, A. S. Vedamuthu, D. Orchard, F. Hirsch, M. Hondo,  
					P. Yendluri, T. Boubez and Ü. Yalçinalp, Editors. World Wide Web Consortium, @@,
          @@@@ @@@@. This version of the 
          Web Services Policy 1.5 - Attachment specification is at http://www.w3.org/TR/ws-policy-attach. The <loc href="http://www.w3.org/TR/ws-policy-attach/" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">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-Policy-Primer" key="Web Services Policy Primer" href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-primer.html?content-type=text/html;%20charset=utf-8" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Policy 1.5 - Primer</titleref>, A. S. Vedamuthu, D. Orchard, F. Hirsch, M. Hondo,  
					P. Yendluri, T. Boubez and Ü. Yalçinalp, Editors. World Wide Web Consortium, Draft. </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="WS-RM" key="Web Services Reliable Messaging" href="http://docs.oasis-open.org/ws-rx/wsrm/200608/wsrm-1.1-rddl-200608.html" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Reliable Messaging (WS-ReliableMessaging)</titleref>, <phrase diff="add">D.</phrase><phrase diff="del">Doug Davis </phrase><phrase diff="chg">Davis, A. </phrase>Karmarkar <phrase diff="del">(Oracle),
					</phrase><phrase diff="add">G. Pilz,</phrase><phrase diff="del">Gilbert </phrase><phrase diff="chg">S. Winkler, Ü. Yalçinalp, Editors. Organization </phrase><phrase diff="add">for the Advancement of
					Structured Information Standards,</phrase><phrase diff="del">Yalçinalp
          (SAP), </phrase>August 7th, 2006, available at:
          http://docs.oasis-open.org/ws-rx/wsrm/200608/wsrm-1.1-rddl-200608.html
          </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="WS-RM-Policy" key="Web Services Reliable Messaging Policy" href="http://docs.oasis-open.org/ws-rx/wsrmp/200608/wsrmp-1.1-rddl-200608.html" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Reliable Messaging Policy Assertion v1.1</titleref>, <phrase diff="chg">D. </phrase><phrase diff="add">Davis, 

					A.</phrase><phrase diff="del">Davis </phrase><phrase diff="chg">Karmarkar, G. Pilz, </phrase><phrase diff="add">S. Winkler, Ü. Yalçinalp,</phrase><phrase diff="del">(Oracle),
					Gilbert </phrase><phrase diff="chg">Editors. Organization for the Advancement </phrase><phrase diff="add">of
					Structured</phrase><phrase diff="del">Ü. </phrase><phrase diff="chg">Information Standards, </phrase>August 4, 2006, available at:
          http://docs.oasis-open.org/ws-rx/wsrmp/200608/wsrmp-1.1-rddl-200608.html
          </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="WS-Security2004" key="WS-Security 2004" href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Security: SOAP Message Security
          1.0</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="WS-SecurityPolicy" key="WS-SecurityPolicy" href="http://www.oasis-open.org/committees/download.php/15979/oasis-wssx-ws-securitypolicy-1.0.pdf" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">WS-SecurityPolicy v1.0</titleref>, A. Nadalin,
          M. Gudgin, A. Barbir, and H.  Granqvist,
          Editors. Organization for the Advancement of Structured
          Information Standards, 8 December 2005. Available at
          http://www.oasis-open.org/committees/download.php/15979/oasis-wssx-ws-securitypolicy-1.0.pdf. </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="WS-Trust" key="WS-Trust" href="http://schemas.xmlsoap.org/ws/2005/02/trust" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple">
					<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">Web Services Trust Language (WS-Trust)</titleref>,
          S. Anderson, et al, Authors.  Actional Corporation, BEA
          Systems, Inc., Computer Associates International, Inc.,
          International Business Machines Corporation, Layer 7
          Technologies, Microsoft Corporation, Oblix Inc., OpenNetwork
          Technologies Inc., Ping Identity Corporation, Reactivity
          Inc., RSA Security Inc., and VeriSign Inc., February
          2005. Available at
          http://schemas.xmlsoap.org/ws/2005/02/trust. </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:actuate="onRequest" xlink:show="replace" xlink:type="simple">
	<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">UDDI Version 2.04 API</titleref>, T. Bellwood,
	Editor.  Organization for the Advancement of Structured
	Information Standards, 19 July 2002. This version of UDDI
	Version 2.0 API is
	http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm. The
	<loc href="http://uddi.org/pubs/ProgrammersAPI_v2.htm" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">latest
	version of the UDDI 2.0 API</loc> is available at
	http://uddi.org/pubs/ProgrammersAPI_v2.htm.
      </bibl><bibl 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:actuate="onRequest" xlink:show="replace" xlink:type="simple">
	<titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">UDDI Version 2.03 Data Structure
	Reference</titleref>, C. von Riegen, Editor. Organization for
	the Advancement of Structured Information Standards, 19 July
	2002. This version of UDDI Version 2.0 Data Structures is
	http://uddi.org/pubs/DataStructure-V2.03-Published-20020719.htm. The
	<loc href="http://uddi.org/pubs/DataStructure_v2.htm" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">latest
	version of the UDDI 2.0 Data Structures</loc> is available at
	http://uddi.org/pubs/DataStructure_v2.htm.
      </bibl><bibl 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:actuate="onRequest" xlink:show="replace" xlink:type="simple">
	  <titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new">UDDI Version 3.0.1</titleref>, L. Clément, et
	  al, Editors. Organization for the Advancement of Structured Information Standards, 14 October 2003. This version of the
	  UDDI Version 3.0 is
	  http://uddi.org/pubs/uddi-v3.0.1-20031014.htm. The <loc href="http://uddi.org/pubs/uddi_v3.htm" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">latest version of
	  the UDDI 3.0</loc> specification is available at
	  http://uddi.org/pubs/uddi_v3.htm.
	</bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="SAWSDL" key="SAWSDL" href="http://www.w3.org/TR/sawsdl/" xlink:actuate="onRequest" xlink:show="replace" xlink:type="simple" diff="add">
          <titleref xlink:type="simple" xlink:actuate="onRequest" xlink:show="new"><phrase diff="add">Semantic Annotations for WSDL and XML Schema</phrase></titleref> <phrase diff="add">Joel Farrell, Holger          Lausen, Editors. World Wide Web Consortium, 26 January 2007. This version of the
          specification is at http://www.w3.org/TR/sawsdl. The </phrase><loc href="http://www.w3.org/TR/sawsdl/" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"> <phrase diff="add">latest version of Semantic Annotations for WSDL and XML Schema</phrase></loc> <phrase diff="add">is available at
          http://www.w3.org/TR/sawsdl/.</phrase></bibl></blist></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:actuate="onRequest" xlink:show="replace">W3C Web Services Policy
  Working Group</loc>.</p><p>
    Members of the Working Group are (at the time of writing, and by
    alphabetical order):
      Dimitar Angelov (SAP AG), Abbie Barbir (Nortel Networks), Charlton Barreto (Adobe Systems Inc.), Sergey Beryozkin (IONA Technologies, Inc.), Vladislav Bezrukov (SAP AG), Toufic Boubez (Layer 7 Technologies), Symon Chang (BEA Systems, Inc.), Paul Cotton (Microsoft Corporation), Jeffrey Crump (Sonic Software), Glen Daniels (Sonic Software), Jacques Durand (Fujitsu Limited), Ruchith Fernando (WSO2), Christopher Ferris (IBM Corporation), William Henry (IONA Technologies, Inc.), Frederick Hirsch (Nokia), Maryann Hondo (IBM Corporation), Tom Jordahl (Adobe Systems Inc.), Paul Knight (Nortel Networks), Philippe Le Hégaret (W3C/MIT), Mark Little (JBoss Inc.), Ashok Malhotra (Oracle Corporation), Monica Martin (Sun Microsystems, Inc.), Arnaud Meyniel (Axway Software), Jeff Mischkinsky (Oracle Corporation), Dale Moberg (Axway Software), Anthony Nadalin (IBM Corporation), Bob Natale (MITRE Corporation), David Orchard (BEA Systems, Inc.), Fabian Ritzmann (Sun Microsystems, Inc.), Daniel Roth (Microsoft Corporation), Tom Rutt (Fujitsu Limited), Sanka Samaranayake (WSO2), Felix Sasaki (W3C/Keio), Skip Snow (Citigroup), Yakov Sverdlov (CA Inc.), 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:
      Jeffrey Crump (Sonic Software), Jong Lee (BEA Systems, Inc.), Bob Natale (MITRE Corporation), Bijan Parsia (University of Manchester), Seumas Soltysik (IONA Technologies, Inc.).
  </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:actuate="onRequest" xlink:show="replace">discussions
    on public-ws-policy@w3.org</loc> are also gratefully
    acknowledged.
  </p></inform-div1><inform-div1 id="change-description"><head>Changes in this Version of
          the Document</head><p>A list of substantive changes since the <phrase diff="add">Working Draft dated</phrase><phrase diff="del">previous </phrase><phrase diff="chg">21 </phrase><phrase diff="add">December, 
			2006 </phrase>is below:</p><ulist><item><p><phrase diff="add">Rewrote section </phrase><specref ref="supporting-new-policy-subjects" diff="add"/> <phrase diff="add">and added two new best practices:
					</phrase><ulist diff="add"><item><p><phrase diff="add">An assertion description should specify a policy subject.</phrase></p></item><item><p><phrase diff="add">If the policy subjects change over time, the assertion description 
							should also be versioned to reflect this change.</phrase></p></item></ulist></p></item><item diff="add"><p><phrase diff="add">Rewrote section </phrase><specref ref="compact-full"/> <phrase diff="add">and added a new best practice: 
				the semantics of an assertion should be independent of the form (compact or normal form) 
				of policy expressions that contain the assertion.</phrase></p></item><item diff="add"><p><phrase diff="add">Rewrote section </phrase><specref ref="Referencing_Policy_Expressions"/><phrase diff="add">.</phrase></p></item><item diff="add"><p><phrase diff="add">Rewrote section </phrase><specref ref="assertion-target"/> <phrase diff="add">and added a new best practice:
					the semantics a policy assertion should not depend on the attachment mechanism used.</phrase></p></item><item diff="add"><p><phrase diff="add">Dropped section  
				</phrase><loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2006/WD-ws-policy-guidelines-20061221/#typing-assertions" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4.6 Typing
				 Assertions</phrase></loc><phrase diff="add">.</phrase><phrase diff="del">TBD</phrase></p></item><item diff="add"><p><phrase diff="add">Clarified the semantics of an empty nested policy expression in </phrase><specref ref="nested-assertions"/><phrase diff="add">.</phrase></p></item></ulist></inform-div1><inform-div1 id="change-log"><head>Web Services Policy 1.5 - Guidelines for Policy Assertion Authors Change Log</head><table id="ws-policy-primer-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">20060829</td><td rowspan="1" colspan="1">UY</td><td rowspan="1" colspan="1">Created first draft based on agreed outline and content</td></tr><tr><td rowspan="1" colspan="1">20061013</td><td rowspan="1" colspan="1">UY</td><td rowspan="1" colspan="1">Editorial fixes (suggested by Frederick), fixed references, bibl items, fixed dangling pointers, created eds to do</td></tr><tr><td rowspan="1" colspan="1">20061018</td><td rowspan="1" colspan="1">MH</td><td rowspan="1" colspan="1">Editorial fixes for readability, added example for Encrypted parts</td></tr><tr><td rowspan="1" colspan="1">20061030</td><td rowspan="1" colspan="1">UY</td><td rowspan="1" colspan="1">Fixes for Paul Cotton's editorial comments (20061020)</td></tr><tr><td rowspan="1" colspan="1">20061031</td><td rowspan="1" colspan="1">UY</td><td rowspan="1" colspan="1">Fixes for Frederick's editorial comments (20061025)</td></tr><tr><td rowspan="1" colspan="1">20061031</td><td rowspan="1" colspan="1">UY</td><td rowspan="1" colspan="1">Optionality discussion feedback integration</td></tr><tr><td rowspan="1" colspan="1">20061115</td><td rowspan="1" colspan="1">MH</td><td rowspan="1" colspan="1">First attempt at restructuring to include primer content</td></tr><tr><td rowspan="1" colspan="1">20061120</td><td rowspan="1" colspan="1">MH</td><td rowspan="1" colspan="1">Restructure to address action items 64,77, which refer to bugzilla 3705 and F2F RESOLUTION 3792 </td></tr><tr><td rowspan="1" colspan="1">20061127</td><td rowspan="1" colspan="1">ASV</td><td rowspan="1" colspan="1">Updated the list of editors. Added 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy-eds/2006Nov/0033.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">Frederick</loc> and 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy-eds/2006Nov/0054.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">Umit</loc> to the list of editors.
							Editors' action <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/86" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">86</loc>.
						</td></tr><tr><td rowspan="1" colspan="1">20061128</td><td rowspan="1" colspan="1">MH</td><td rowspan="1" colspan="1">Replaced section in Lifecycle with pointer to the text in the primer: related to action 77 
						</td></tr><tr><td rowspan="1" colspan="1">20061129</td><td rowspan="1" colspan="1" diff="chg">FJH</td><td rowspan="1" colspan="1">Editorial revision (editorial actions 
					    <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/84" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">84</loc> and 
					    <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/90" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">90</loc>) - 
					    includes suggestions from Asir: 
					    <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy-eds/2006Nov/0129.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">Part 1</loc> and 
					    <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy-eds/2006Nov/0134.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace">Part 2</loc>. 
						</td></tr><tr><td rowspan="1" colspan="1">20061129</td><td rowspan="1" colspan="1">ASV</td><td rowspan="1" colspan="1">Formatted examples in <specref ref="extending-assertions"/>. 
						</td></tr><tr><td rowspan="1" colspan="1">20061218</td><td rowspan="1" colspan="1">FS</td><td rowspan="1" colspan="1">Formatted examples in <specref ref="compact-full"/> and <specref ref="scenario"/>. 
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20061219</td><td rowspan="1" colspan="1" diff="add">TIB</td><td rowspan="1" colspan="1" diff="add">Editorial revision: most parts of editorial action
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/96" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">96</phrase></loc>.
							Remaining editorials to be reviewed.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20061220</td><td rowspan="1" colspan="1" diff="add">TIB</td><td rowspan="1" colspan="1" diff="add">Editorial revision: completed missing parts of editorial action
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/96" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">96</phrase></loc>
							after editorial reviews by co-editors.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20061226</td><td rowspan="1" colspan="1" diff="add">MH</td><td rowspan="1" colspan="1" diff="add">Editorial revision: reconciled terms related to "Assertion Authors"
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/106" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">106</phrase></loc>
							and bug http://www.w3.org/Bugs/Public/show_bug.cgi?id=3983
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070104</td><td rowspan="1" colspan="1" diff="add">UY</td><td rowspan="1" colspan="1" diff="add">Resolution of Issue <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3982" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3982</phrase></loc>
                                                    Based on <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2006/12/06-ws-policy-irc#T18-55-00)" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">Minutes for resolution</phrase></loc>, Minor formatting for consistent use of the term "Assertion Author"
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070104</td><td rowspan="1" colspan="1" diff="add">UY</td><td rowspan="1" colspan="1" diff="add">Resolution of Issue <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3980" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3980</phrase></loc>
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070108</td><td rowspan="1" colspan="1" diff="add">ASV</td><td rowspan="1" colspan="1" diff="add">Reset Section <specref ref="change-description"/>.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070122</td><td rowspan="1" colspan="1" diff="add">PY</td><td rowspan="1" colspan="1" diff="add">Completed action item:
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/127" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">127</phrase></loc>
							Resolution for issue <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4197" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4197</phrase></loc></td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070130</td><td rowspan="1" colspan="1" diff="add">UY</td><td rowspan="1" colspan="1" diff="add">Completed action item:
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/144" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">144</phrase></loc>.
							Resolution for issues <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3985" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3985</phrase></loc> and <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3986" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3986</phrase></loc></td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070130</td><td rowspan="1" colspan="1" diff="add">UY</td><td rowspan="1" colspan="1" diff="add">Completed action item:
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/137" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">137</phrase></loc>.
							Resolution for issue <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4198" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4198</phrase></loc></td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070130</td><td rowspan="1" colspan="1" diff="add">UY</td><td rowspan="1" colspan="1" diff="add">Completed action item:
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/119" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">119</phrase></loc>.
							Resolution for issue <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4141" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4141</phrase></loc></td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070130</td><td rowspan="1" colspan="1" diff="add">UY</td><td rowspan="1" colspan="1" diff="add">Completed action item:
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/126" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">126</phrase></loc>.
							Resolution for issue <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4188" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4188</phrase></loc></td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070130</td><td rowspan="1" colspan="1" diff="add">UY</td><td rowspan="1" colspan="1" diff="add">Fixed SAWSDL ref name</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070131</td><td rowspan="1" colspan="1" diff="add">FJH</td><td rowspan="1" colspan="1" diff="add">Fixed numerous spelling and typo errors. Implement resolution for issue 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3953" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3953</phrase></loc>
							as noted in message 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Dec/0090.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">90</phrase></loc> and amended 
							as noted in message
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2007Jan/0217.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">217</phrase></loc>. 
							Changes correspond to editor's action
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/152" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">152</phrase></loc>.</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070221</td><td rowspan="1" colspan="1" diff="add">MH</td><td rowspan="1" colspan="1" diff="add"> Partial implementation for issue 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4072" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4072</phrase></loc>
							in response to editor's action 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/154" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">154 </phrase></loc>.
							NOTE ALSO- I needed to put back in the "prefix" entity defintion [line7] to get the build to work.
							</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070306</td><td rowspan="1" colspan="1" diff="add">ASV</td><td rowspan="1" colspan="1" diff="add"> Implemented partial 
						<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2007/01/31-ws-policy-minutes.html#item10" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> for issue 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3987" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3987</phrase></loc>.
							Related editorial action is 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/153" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">153</phrase></loc>.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070308</td><td rowspan="1" colspan="1" diff="add">DBO</td><td rowspan="1" colspan="1" diff="add">Changed "lifecycle" spec references to versioning to fix build.	</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070314</td><td rowspan="1" colspan="1" diff="add">FJH</td><td rowspan="1" colspan="1" diff="add">Implemented <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2007/03/14-ws-policy-irc#T18-14-48" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> for issue <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4072" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4072</phrase></loc> 
							 as outlined in 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/0103.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">proposal</phrase></loc>.
							 Editorial action <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/204" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">204</phrase></loc>.	</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070314</td><td rowspan="1" colspan="1" diff="add">FJH</td><td rowspan="1" colspan="1" diff="add">Implemented <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2007/03/14-ws-policy-irc#T18-07-08" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> for issue 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3987" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">3987</phrase></loc> 
							as outlined in 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/0096.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">proposal</phrase></loc>.
							Editorial action <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/203" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">203</phrase></loc>.	</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070315</td><td rowspan="1" colspan="1" diff="add">ASV</td><td rowspan="1" colspan="1" diff="add">Implemented the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3979#c1" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> 
							for <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3979" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">issue 3979</phrase></loc>.
							Editors' action 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/198" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">198</phrase></loc>.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070315</td><td rowspan="1" colspan="1" diff="add">ASV</td><td rowspan="1" colspan="1" diff="add">Implemented the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2007Feb/0000.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> 
							for <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3981" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">issue 3981</phrase></loc>.
							Editors' action 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/205" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">205</phrase></loc>.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070315</td><td rowspan="1" colspan="1" diff="add">FJH</td><td rowspan="1" colspan="1" diff="add">Implemented <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2007/03/13-ws-policy-irc#T23-08-08" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> for issue 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4035" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4035</phrase></loc> 
							as outlined in 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2007Feb/0169.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">proposal</phrase></loc>.
							Editorial action <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/197" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">197</phrase></loc>.	</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070319</td><td rowspan="1" colspan="1" diff="add">MH</td><td rowspan="1" colspan="1" diff="add"> Implemented resolution for issue 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4073" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">4073</phrase></loc>
							in response to editor's action 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/199" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">199 </phrase></loc>
							as outlined in 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/0093.html" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">proposal </phrase></loc>.
							</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070320</td><td rowspan="1" colspan="1" diff="add">ASV</td><td rowspan="1" colspan="1" diff="add">Implemented the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4319#c1" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> 
							for <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4319" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">issue 4319</phrase></loc>.
							Editors' action 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/206" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">206</phrase></loc>.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070320</td><td rowspan="1" colspan="1" diff="add">ASV</td><td rowspan="1" colspan="1" diff="add">Implemented the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3990#c1" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> 
							for <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3990" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">issue 3990</phrase></loc>.
							Editors' action 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/210" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">210</phrase></loc>.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070320</td><td rowspan="1" colspan="1" diff="add">ASV</td><td rowspan="1" colspan="1" diff="add">Implemented the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4212#c1" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">resolution</phrase></loc> 
							for <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4212" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">issue 4212</phrase></loc>.
							Editors' action 
							<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/207" xlink:type="simple" xlink:actuate="onRequest" xlink:show="replace"><phrase diff="add">207</phrase></loc>.
						</td></tr><tr diff="add"><td rowspan="1" colspan="1" diff="add">20070321</td><td rowspan="1" colspan="1" diff="add">ASV</td><td rowspan="1" colspan="1" diff="add">Updated section <specref ref="change-description"/>. </td></tr></tbody></table></inform-div1></back></spec>
