- From: Arthur Ryman via cvs-syncmail <cvsmail@w3.org>
- Date: Sun, 20 Feb 2005 22:05:45 +0000
- To: public-ws-desc-eds@w3.org
Update of /sources/public/2002/ws/desc/wsdl20 In directory hutz:/tmp/cvs-serv7554 Modified Files: wsdl20.pdf wsdl20.html wsdl20-ie.html wsdl20.xml wsdl20.tex wsdl20-i.html wsdl20.toc Log Message: [LC27] Partial Resolution from 2005-01-19: value sets intersect. Resolve Property Composition Edge Cases by requiring the conjunction of all constraints to apply. The composed value of a Property is intersection of the value set of each in-scope Property. Index: wsdl20.tex =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.tex,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** wsdl20.tex 20 Feb 2005 21:18:32 -0000 1.18 --- wsdl20.tex 20 Feb 2005 22:05:43 -0000 1.19 *************** *** 4295,4303 **** \end{itemize} ! If a given property is asserted at multiple locations, ! then the value of that property at a particular component ! is that given by the nearest assertion in lexical scoping ! order. Following these rules, the set of properties applicable at each component are as follows: \begin{itemize} --- 4295,4302 ---- \end{itemize} ! ! Following these rules, the set of properties applicable at each component are as follows: + \begin{itemize} *************** *** 4349,4352 **** --- 4348,4384 ---- special case of \texttt{constraint}. + + If a given property is asserted at multiple locations, + then the value of that property at a particular component + is determined by the conjunction of all the constraints of its in-scope property components. + A property constraint asserts that, for a given interaction, + the value of a property is either a specified value + or belongs to a specified set of values. + A specified value may be regarded as a singleton set, so in both cases a property + constraint corresponds to an assertion that the property value belongs to some set. + The conjunction of all the constraints associated with the in-scope properties + is an assertion that the property value belongs to each of the associated sets, or + equivalently, that the value belongs to the intersection of all the associated sets. + If the intersection of the associated sets is empty, then the property constraints + are mutually incompatible, and the composition is invalid. + Therefore, the intersection of the associated sets SHOULD NOT be empty. + + + + + The reason that we phrase the requirement for a non-empty intersection as SHOULD rather than MUST, is that + in general, it may be computationally difficult to determine by inspection of the type definitions + that the intersection of two or more value sets is empty. + Therefore, it is not a strict validity requirement that the intersection of the value sets be non-empty. + An empty intersection will always result in failure of the service at run-time. + + + + + However, it is in general feasible to test specified values for either equality + or membership in value sets. + All specified values MUST be equal and belong to each specified value set. + + *************** *** 6162,6166 **** \end{itemize} - \end{enumerate} --- 6194,6197 ---- *************** *** 8389,8393 **** Columns two through five specify the identifiers that uniquely identify the component. Identifiers are typically formed from - the \{name\} property, although in several cases references to other components are used. --- 8420,8423 ---- *************** *** 8892,8895 **** --- 8922,8936 ---- AGR& + \href{http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC27}{LC27}: + Partial Resolution from 2005-01-19: value sets intersect. + Resolve Property Composition Edge Cases by requiring the conjunction of all constraints to apply. + The composed value of a Property is intersection of the value set of each in-scope Property. + + \\ \hline + + + 20050220& + AGR& + \href{http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC20}{LC20}: Partial Resolution from 2005-01-19: "true" trumps. Index: wsdl20.toc =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.toc,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** wsdl20.toc 20 Feb 2005 21:18:32 -0000 1.9 --- wsdl20.toc 20 Feb 2005 22:05:43 -0000 1.10 *************** *** 69,122 **** \contentsline {subsubsection}{\texttt {required} \textit {attribute information item} with \texttt {property} [owner]}{66}{section*.27} \contentsline {subsubsection}{\texttt {value} \textit {element information item} with \texttt {property} [parent]}{66}{section*.28} ! \contentsline {subsubsection}{\texttt {constraint} \textit {element information item} with \texttt {property} [parent]}{66}{section*.29} \contentsline {subsection}{\numberline {2.8.3}Mapping Property's XML Representation to Component Properties}{67}{subsection.2.8.3} ! \contentsline {section}{\numberline {2.9}Binding}{67}{section.2.9} ! \contentsline {subsection}{\numberline {2.9.1}The Binding Component}{67}{subsection.2.9.1} \contentsline {subsection}{\numberline {2.9.2}XML Representation of Binding Component}{70}{subsection.2.9.2} \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {binding} [owner]}{71}{section*.30} \contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {binding} [owner]}{71}{section*.31} ! \contentsline {subsubsection}{\texttt {type} \textit {attribute information item} with \texttt {binding} [owner]}{71}{section*.32} \contentsline {subsubsection}{Binding extension elements}{72}{section*.33} \contentsline {subsection}{\numberline {2.9.3}Mapping Binding's XML Representation to Component Properties}{72}{subsection.2.9.3} ! \contentsline {section}{\numberline {2.10}Binding Fault}{72}{section.2.10} ! \contentsline {subsection}{\numberline {2.10.1}The Binding Fault Component}{72}{subsection.2.10.1} \contentsline {subsection}{\numberline {2.10.2}XML Representation of Binding Fault Component}{74}{subsection.2.10.2} \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {fault} [owner]}{75}{section*.34} \contentsline {subsubsection}{Binding Fault extension elements}{75}{section*.35} \contentsline {subsection}{\numberline {2.10.3}Mapping Binding Fault's XML Representation to Component Properties}{75}{subsection.2.10.3} ! \contentsline {section}{\numberline {2.11}Binding Operation}{75}{section.2.11} ! \contentsline {subsection}{\numberline {2.11.1}The Binding Operation Component}{75}{subsection.2.11.1} \contentsline {subsection}{\numberline {2.11.2}XML Representation of Binding Operation Component}{77}{subsection.2.11.2} \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {operation} [owner]}{78}{section*.36} \contentsline {subsubsection}{Binding Operation extension elements}{78}{section*.37} ! \contentsline {subsection}{\numberline {2.11.3}Mapping Binding Operation's XML Representation to Component Properties}{78}{subsection.2.11.3} \contentsline {section}{\numberline {2.12}Binding Message Reference}{79}{section.2.12} \contentsline {subsection}{\numberline {2.12.1}The Binding Message Reference Component}{79}{subsection.2.12.1} \contentsline {subsection}{\numberline {2.12.2}XML Representation of Binding Message Reference Component}{80}{subsection.2.12.2} ! \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {input} or \texttt {output} [owner]}{81}{section*.38} \contentsline {subsubsection}{Binding Message Reference extension elements}{82}{section*.39} \contentsline {subsection}{\numberline {2.12.3}Mapping Binding Message Reference's XML Representation to Component Properties}{82}{subsection.2.12.3} ! \contentsline {section}{\numberline {2.13}Service}{82}{section.2.13} ! \contentsline {subsection}{\numberline {2.13.1}The Service Component}{82}{subsection.2.13.1} \contentsline {subsection}{\numberline {2.13.2}XML Representation of Service Component}{84}{subsection.2.13.2} \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {service} [owner]}{85}{section*.40} ! \contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {service} [owner]}{85}{section*.41} ! \contentsline {subsection}{\numberline {2.13.3}Mapping Service's XML Representation to Component Properties}{85}{subsection.2.13.3} ! \contentsline {section}{\numberline {2.14}Endpoint}{86}{section.2.14} ! \contentsline {subsection}{\numberline {2.14.1}The Endpoint Component}{86}{subsection.2.14.1} ! \contentsline {subsection}{\numberline {2.14.2}XML Representation of Endpoint Component}{87}{subsection.2.14.2} \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {endpoint} [owner]}{89}{section*.42} \contentsline {subsubsection}{\texttt {binding} \textit {attribute information item} with \texttt {endpoint} [owner]}{89}{section*.43} ! \contentsline {subsubsection}{\texttt {address} \textit {attribute information item} with \texttt {endpoint} [owner]}{89}{section*.44} ! \contentsline {subsubsection}{Endpoint extension elements}{89}{section*.45} \contentsline {subsection}{\numberline {2.14.3}Mapping Endpoint's XML Representation to Component Properties}{90}{subsection.2.14.3} ! \contentsline {section}{\numberline {2.15}XML Schema 1.0 Simple Types Used in the Component Model}{90}{section.2.15} ! \contentsline {subsection}{\numberline {2.15.1}\textit {NCName} Type}{90}{subsection.2.15.1} \contentsline {subsection}{\numberline {2.15.2}\textit {anyURI} Type}{91}{subsection.2.15.2} \contentsline {subsection}{\numberline {2.15.3}\textit {QName} Type}{91}{subsection.2.15.3} ! \contentsline {subsection}{\numberline {2.15.4}\textit {boolean} Type}{91}{subsection.2.15.4} ! \contentsline {section}{\numberline {2.16}Equivalence of Components}{91}{section.2.16} \contentsline {section}{\numberline {2.17}Symbol Spaces}{92}{section.2.17} ! \contentsline {section}{\numberline {2.18}QName resolution}{92}{section.2.18} \contentsline {section}{\numberline {2.19}Comparing URIs}{93}{section.2.19} \contentsline {chapter}{\numberline {3}Types}{94}{chapter.3} --- 69,122 ---- \contentsline {subsubsection}{\texttt {required} \textit {attribute information item} with \texttt {property} [owner]}{66}{section*.27} \contentsline {subsubsection}{\texttt {value} \textit {element information item} with \texttt {property} [parent]}{66}{section*.28} ! \contentsline {subsubsection}{\texttt {constraint} \textit {element information item} with \texttt {property} [parent]}{67}{section*.29} \contentsline {subsection}{\numberline {2.8.3}Mapping Property's XML Representation to Component Properties}{67}{subsection.2.8.3} ! \contentsline {section}{\numberline {2.9}Binding}{68}{section.2.9} ! \contentsline {subsection}{\numberline {2.9.1}The Binding Component}{68}{subsection.2.9.1} \contentsline {subsection}{\numberline {2.9.2}XML Representation of Binding Component}{70}{subsection.2.9.2} \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {binding} [owner]}{71}{section*.30} \contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {binding} [owner]}{71}{section*.31} ! \contentsline {subsubsection}{\texttt {type} \textit {attribute information item} with \texttt {binding} [owner]}{72}{section*.32} \contentsline {subsubsection}{Binding extension elements}{72}{section*.33} \contentsline {subsection}{\numberline {2.9.3}Mapping Binding's XML Representation to Component Properties}{72}{subsection.2.9.3} ! \contentsline {section}{\numberline {2.10}Binding Fault}{73}{section.2.10} ! \contentsline {subsection}{\numberline {2.10.1}The Binding Fault Component}{73}{subsection.2.10.1} \contentsline {subsection}{\numberline {2.10.2}XML Representation of Binding Fault Component}{74}{subsection.2.10.2} \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {fault} [owner]}{75}{section*.34} \contentsline {subsubsection}{Binding Fault extension elements}{75}{section*.35} \contentsline {subsection}{\numberline {2.10.3}Mapping Binding Fault's XML Representation to Component Properties}{75}{subsection.2.10.3} ! \contentsline {section}{\numberline {2.11}Binding Operation}{76}{section.2.11} ! \contentsline {subsection}{\numberline {2.11.1}The Binding Operation Component}{76}{subsection.2.11.1} \contentsline {subsection}{\numberline {2.11.2}XML Representation of Binding Operation Component}{77}{subsection.2.11.2} \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {operation} [owner]}{78}{section*.36} \contentsline {subsubsection}{Binding Operation extension elements}{78}{section*.37} ! \contentsline {subsection}{\numberline {2.11.3}Mapping Binding Operation's XML Representation to Component Properties}{79}{subsection.2.11.3} \contentsline {section}{\numberline {2.12}Binding Message Reference}{79}{section.2.12} \contentsline {subsection}{\numberline {2.12.1}The Binding Message Reference Component}{79}{subsection.2.12.1} \contentsline {subsection}{\numberline {2.12.2}XML Representation of Binding Message Reference Component}{80}{subsection.2.12.2} ! \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {input} or \texttt {output} [owner]}{82}{section*.38} \contentsline {subsubsection}{Binding Message Reference extension elements}{82}{section*.39} \contentsline {subsection}{\numberline {2.12.3}Mapping Binding Message Reference's XML Representation to Component Properties}{82}{subsection.2.12.3} ! \contentsline {section}{\numberline {2.13}Service}{83}{section.2.13} ! \contentsline {subsection}{\numberline {2.13.1}The Service Component}{83}{subsection.2.13.1} \contentsline {subsection}{\numberline {2.13.2}XML Representation of Service Component}{84}{subsection.2.13.2} \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {service} [owner]}{85}{section*.40} ! \contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {service} [owner]}{86}{section*.41} ! \contentsline {subsection}{\numberline {2.13.3}Mapping Service's XML Representation to Component Properties}{86}{subsection.2.13.3} ! \contentsline {section}{\numberline {2.14}Endpoint}{87}{section.2.14} ! \contentsline {subsection}{\numberline {2.14.1}The Endpoint Component}{87}{subsection.2.14.1} ! \contentsline {subsection}{\numberline {2.14.2}XML Representation of Endpoint Component}{88}{subsection.2.14.2} \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {endpoint} [owner]}{89}{section*.42} \contentsline {subsubsection}{\texttt {binding} \textit {attribute information item} with \texttt {endpoint} [owner]}{89}{section*.43} ! \contentsline {subsubsection}{\texttt {address} \textit {attribute information item} with \texttt {endpoint} [owner]}{90}{section*.44} ! \contentsline {subsubsection}{Endpoint extension elements}{90}{section*.45} \contentsline {subsection}{\numberline {2.14.3}Mapping Endpoint's XML Representation to Component Properties}{90}{subsection.2.14.3} ! \contentsline {section}{\numberline {2.15}XML Schema 1.0 Simple Types Used in the Component Model}{91}{section.2.15} ! \contentsline {subsection}{\numberline {2.15.1}\textit {NCName} Type}{91}{subsection.2.15.1} \contentsline {subsection}{\numberline {2.15.2}\textit {anyURI} Type}{91}{subsection.2.15.2} \contentsline {subsection}{\numberline {2.15.3}\textit {QName} Type}{91}{subsection.2.15.3} ! \contentsline {subsection}{\numberline {2.15.4}\textit {boolean} Type}{92}{subsection.2.15.4} ! \contentsline {section}{\numberline {2.16}Equivalence of Components}{92}{section.2.16} \contentsline {section}{\numberline {2.17}Symbol Spaces}{92}{section.2.17} ! \contentsline {section}{\numberline {2.18}QName resolution}{93}{section.2.18} \contentsline {section}{\numberline {2.19}Comparing URIs}{93}{section.2.19} \contentsline {chapter}{\numberline {3}Types}{94}{chapter.3} *************** *** 160,164 **** \contentsline {section}{\numberline {C.2}Fragment Identifiers}{127}{section.C.2} \contentsline {section}{\numberline {C.3}Extension Elements}{128}{section.C.3} ! \contentsline {section}{\numberline {C.4}Example}{129}{section.C.4} \contentsline {chapter}{\numberline {D}Migrating from WSDL 1.1 to WSDL 2.0 (Non-Normative)}{130}{appendix.D} \contentsline {section}{\numberline {D.1}Operation Overloading}{130}{section.D.1} --- 160,164 ---- \contentsline {section}{\numberline {C.2}Fragment Identifiers}{127}{section.C.2} \contentsline {section}{\numberline {C.3}Extension Elements}{128}{section.C.3} ! \contentsline {section}{\numberline {C.4}Example}{128}{section.C.4} \contentsline {chapter}{\numberline {D}Migrating from WSDL 1.1 to WSDL 2.0 (Non-Normative)}{130}{appendix.D} \contentsline {section}{\numberline {D.1}Operation Overloading}{130}{section.D.1} Index: wsdl20.xml =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.xml,v retrieving revision 1.174 retrieving revision 1.175 diff -C2 -d -r1.174 -r1.175 *** wsdl20.xml 20 Feb 2005 21:18:32 -0000 1.174 --- wsdl20.xml 20 Feb 2005 22:05:43 -0000 1.175 *************** *** 4224,4232 **** </ulist> ! <p>If a given property is asserted at multiple locations, ! then the value of that property at a particular component ! is that given by the nearest assertion in lexical scoping ! order. Following these rules, the set of properties ! applicable at each component are as follows:</p> <ulist> --- 4224,4231 ---- </ulist> ! <p> ! Following these rules, the set of properties ! applicable at each component are as follows: ! </p> <ulist> *************** *** 4278,4281 **** --- 4277,4313 ---- special case of <el>constraint</el>.</p> + <p diff="chg"> + If a given property is asserted at multiple locations, + then the value of that property at a particular component + is determined by the conjunction of all the constraints of its in-scope property components. + A property constraint asserts that, for a given interaction, + the value of a property is either a specified value + or belongs to a specified set of values. + A specified value may be regarded as a singleton set, so in both cases a property + constraint corresponds to an assertion that the property value belongs to some set. + The conjunction of all the constraints associated with the in-scope properties + is an assertion that the property value belongs to each of the associated sets, or + equivalently, that the value belongs to the intersection of all the associated sets. + If the intersection of the associated sets is empty, then the property constraints + are mutually incompatible, and the composition is invalid. + Therefore, the intersection of the associated sets SHOULD NOT be empty. + </p> + + <note> + <p diff="add"> + The reason that we phrase the requirement for a non-empty intersection as SHOULD rather than MUST, is that + in general, it may be computationally difficult to determine by inspection of the type definitions + that the intersection of two or more value sets is empty. + Therefore, it is not a strict validity requirement that the intersection of the value sets be non-empty. + An empty intersection will always result in failure of the service at run-time. + </p> + </note> + + <p diff="add"> + However, it is in general feasible to test specified values for either equality + or membership in value sets. + All specified values MUST be equal and belong to each specified value set. + </p> + <!-- Commented out for now, until we define a proper example. <div5 id="Property_composition_model_example"> *************** *** 8666,8669 **** --- 8698,8712 ---- <td>AGR</td> <td> + <loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC27">LC27</loc>: + Partial Resolution from 2005-01-19: value sets intersect. + Resolve Property Composition Edge Cases by requiring the conjunction of all constraints to apply. + The composed value of a Property is intersection of the value set of each in-scope Property. + </td> + </tr> + + <tr> + <td>20050220</td> + <td>AGR</td> + <td> <loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC20">LC20</loc>: Partial Resolution from 2005-01-19: "true" trumps. Index: wsdl20-ie.html =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-ie.html,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** wsdl20-ie.html 20 Feb 2005 21:18:32 -0000 1.16 --- wsdl20-ie.html 20 Feb 2005 22:05:43 -0000 1.17 *************** *** 3873,3881 **** </ul> ! <p>If a given property is asserted at multiple locations, ! then the value of that property at a particular component ! is that given by the nearest assertion in lexical scoping ! order. Following these rules, the set of properties ! applicable at each component are as follows:</p> <ul> --- 3873,3880 ---- </ul> ! <p> ! Following these rules, the set of properties ! applicable at each component are as follows: ! </p> <ul> *************** *** 3927,3930 **** --- 3926,3962 ---- special case of <code>constraint</code> .</p> + <p class="diff-chg"> + If a given property is asserted at multiple locations, + then the value of that property at a particular component + is determined by the conjunction of all the constraints of its in-scope property components. + A property constraint asserts that, for a given interaction, + the value of a property is either a specified value + or belongs to a specified set of values. + A specified value may be regarded as a singleton set, so in both cases a property + constraint corresponds to an assertion that the property value belongs to some set. + The conjunction of all the constraints associated with the in-scope properties + is an assertion that the property value belongs to each of the associated sets, or + equivalently, that the value belongs to the intersection of all the associated sets. + If the intersection of the associated sets is empty, then the property constraints + are mutually incompatible, and the composition is invalid. + Therefore, the intersection of the associated sets SHOULD NOT be empty. + </p> + + <div class="note"><p class="prefix"><b>Note:</b></p> + <p class="diff-add"> + The reason that we phrase the requirement for a non-empty intersection as SHOULD rather than MUST, is that + in general, it may be computationally difficult to determine by inspection of the type definitions + that the intersection of two or more value sets is empty. + Therefore, it is not a strict validity requirement that the intersection of the value sets be non-empty. + An empty intersection will always result in failure of the service at run-time. + </p> + </div> + + <p class="diff-add"> + However, it is in general feasible to test specified values for either equality + or membership in value sets. + All specified values MUST be equal and belong to each specified value set. + </p> + *************** *** 5614,5618 **** </p></li> </ul> - </li> </ol> --- 5646,5649 ---- *************** *** 7746,7750 **** Columns two through five specify the identifiers that uniquely identify the component. Identifiers are typically formed from - the {name} property, although in several cases references to other components are used. --- 7777,7780 ---- *************** *** 8236,8239 **** --- 8266,8280 ---- <td rowspan="1" colspan="1">AGR</td> <td rowspan="1" colspan="1"> + <a href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC27">LC27</a>: + Partial Resolution from 2005-01-19: value sets intersect. + Resolve Property Composition Edge Cases by requiring the conjunction of all constraints to apply. + The composed value of a Property is intersection of the value set of each in-scope Property. + </td> + </tr> + + <tr> + <td rowspan="1" colspan="1">20050220</td> + <td rowspan="1" colspan="1">AGR</td> + <td rowspan="1" colspan="1"> <a href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC20">LC20</a>: Partial Resolution from 2005-01-19: "true" trumps. Index: wsdl20-i.html =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-i.html,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** wsdl20-i.html 20 Feb 2005 21:18:32 -0000 1.18 --- wsdl20-i.html 20 Feb 2005 22:05:43 -0000 1.19 *************** *** 3871,3879 **** </ul> ! <p>If a given property is asserted at multiple locations, ! then the value of that property at a particular component ! is that given by the nearest assertion in lexical scoping ! order. Following these rules, the set of properties ! applicable at each component are as follows:</p> <ul> --- 3871,3878 ---- </ul> ! <p> ! Following these rules, the set of properties ! applicable at each component are as follows: ! </p> <ul> *************** *** 3925,3928 **** --- 3924,3960 ---- special case of <code>constraint</code> .</p> + <p class="diff-chg"> + If a given property is asserted at multiple locations, + then the value of that property at a particular component + is determined by the conjunction of all the constraints of its in-scope property components. + A property constraint asserts that, for a given interaction, + the value of a property is either a specified value + or belongs to a specified set of values. + A specified value may be regarded as a singleton set, so in both cases a property + constraint corresponds to an assertion that the property value belongs to some set. + The conjunction of all the constraints associated with the in-scope properties + is an assertion that the property value belongs to each of the associated sets, or + equivalently, that the value belongs to the intersection of all the associated sets. + If the intersection of the associated sets is empty, then the property constraints + are mutually incompatible, and the composition is invalid. + Therefore, the intersection of the associated sets SHOULD NOT be empty. + </p> + + <div class="note"><p class="prefix"><b>Note:</b></p> + <p class="diff-add"> + The reason that we phrase the requirement for a non-empty intersection as SHOULD rather than MUST, is that + in general, it may be computationally difficult to determine by inspection of the type definitions + that the intersection of two or more value sets is empty. + Therefore, it is not a strict validity requirement that the intersection of the value sets be non-empty. + An empty intersection will always result in failure of the service at run-time. + </p> + </div> + + <p class="diff-add"> + However, it is in general feasible to test specified values for either equality + or membership in value sets. + All specified values MUST be equal and belong to each specified value set. + </p> + *************** *** 5612,5616 **** </p></li> </ul> - </li> </ol> --- 5644,5647 ---- *************** *** 7744,7748 **** Columns two through five specify the identifiers that uniquely identify the component. Identifiers are typically formed from - the {name} property, although in several cases references to other components are used. --- 7775,7778 ---- *************** *** 8234,8237 **** --- 8264,8278 ---- <td rowspan="1" colspan="1">AGR</td> <td rowspan="1" colspan="1"> + <a href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC27">LC27</a>: + Partial Resolution from 2005-01-19: value sets intersect. + Resolve Property Composition Edge Cases by requiring the conjunction of all constraints to apply. + The composed value of a Property is intersection of the value set of each in-scope Property. + </td> + </tr> + + <tr> + <td rowspan="1" colspan="1">20050220</td> + <td rowspan="1" colspan="1">AGR</td> + <td rowspan="1" colspan="1"> <a href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC20">LC20</a>: Partial Resolution from 2005-01-19: "true" trumps. Index: wsdl20.pdf =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.pdf,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** wsdl20.pdf 20 Feb 2005 21:18:32 -0000 1.11 --- wsdl20.pdf 20 Feb 2005 22:05:43 -0000 1.12 *************** *** 800,804 **** >> stream ! xڝVKo8WP`% Dꝓ[;H6ZʒCI1wfH9)Eb2^ hR[Gtz'܍#O@rA'Hfd yi0m]o!Fu PmUѸ+=F;3;% Pc9Բ9\ȬSRJrW=RB!zةҨ+[\YwkPR~;; ~CMd+1]fXN<B@*,=:jc.J:NX+DFVkKR?@`\0iQ6D3k/^6`C7d|+lx,+lg[U-v{TyShK)mzP2t endobj 534 0 obj << --- 800,806 ---- >> stream ! xڝVKo8WP`% Dꝓ[;H6ZʒCI1wfH9)E栍C~a]Z-HJ;wԨrgvG<~`5$b{yl 88Z6Ң guJjC@Nsꖴ\Jh5[;Tue+56a-jS ! 4otvoITٛ!y|9ޞx%Ʊ̏{4zau7.?bj#/q [...14035 lines suppressed...] ! 0000737745 00000 n ! 0000737871 00000 n ! 0000737997 00000 n ! 0000738077 00000 n ! 0000738178 00000 n ! 0000750741 00000 n ! 0000767521 00000 n ! 0000767562 00000 n ! 0000767602 00000 n ! 0000767794 00000 n trailer << ! /Size 2503 ! /Root 2501 0 R ! /Info 2502 0 R ! /ID [<DB8AEB936B6ABD63A0A17003F831F989> <DB8AEB936B6ABD63A0A17003F831F989>] >> startxref ! 768042 %%EOF Index: wsdl20.html =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.html,v retrieving revision 1.148 retrieving revision 1.149 diff -C2 -d -r1.148 -r1.149 *** wsdl20.html 20 Feb 2005 21:18:32 -0000 1.148 --- wsdl20.html 20 Feb 2005 22:05:43 -0000 1.149 *************** *** 3871,3879 **** </ul> ! <p>If a given property is asserted at multiple locations, ! then the value of that property at a particular component ! is that given by the nearest assertion in lexical scoping ! order. Following these rules, the set of properties ! applicable at each component are as follows:</p> <ul> --- 3871,3878 ---- </ul> ! <p> ! Following these rules, the set of properties ! applicable at each component are as follows: ! </p> <ul> *************** *** 3925,3928 **** --- 3924,3960 ---- special case of <code>constraint</code> .</p> + <p class="diff-chg"> + If a given property is asserted at multiple locations, + then the value of that property at a particular component + is determined by the conjunction of all the constraints of its in-scope property components. + A property constraint asserts that, for a given interaction, + the value of a property is either a specified value + or belongs to a specified set of values. + A specified value may be regarded as a singleton set, so in both cases a property + constraint corresponds to an assertion that the property value belongs to some set. + The conjunction of all the constraints associated with the in-scope properties + is an assertion that the property value belongs to each of the associated sets, or + equivalently, that the value belongs to the intersection of all the associated sets. + If the intersection of the associated sets is empty, then the property constraints + are mutually incompatible, and the composition is invalid. + Therefore, the intersection of the associated sets SHOULD NOT be empty. + </p> + + <div class="note"><p class="prefix"><b>Note:</b></p> + <p class="diff-add"> + The reason that we phrase the requirement for a non-empty intersection as SHOULD rather than MUST, is that + in general, it may be computationally difficult to determine by inspection of the type definitions + that the intersection of two or more value sets is empty. + Therefore, it is not a strict validity requirement that the intersection of the value sets be non-empty. + An empty intersection will always result in failure of the service at run-time. + </p> + </div> + + <p class="diff-add"> + However, it is in general feasible to test specified values for either equality + or membership in value sets. + All specified values MUST be equal and belong to each specified value set. + </p> + *************** *** 5612,5616 **** </p></li> </ul> - </li> </ol> --- 5644,5647 ---- *************** *** 7744,7748 **** Columns two through five specify the identifiers that uniquely identify the component. Identifiers are typically formed from - the {name} property, although in several cases references to other components are used. --- 7775,7778 ---- *************** *** 8234,8237 **** --- 8264,8278 ---- <td rowspan="1" colspan="1">AGR</td> <td rowspan="1" colspan="1"> + <a href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC27">LC27</a>: + Partial Resolution from 2005-01-19: value sets intersect. + Resolve Property Composition Edge Cases by requiring the conjunction of all constraints to apply. + The composed value of a Property is intersection of the value set of each in-scope Property. + </td> + </tr> + + <tr> + <td rowspan="1" colspan="1">20050220</td> + <td rowspan="1" colspan="1">AGR</td> + <td rowspan="1" colspan="1"> <a href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC20">LC20</a>: Partial Resolution from 2005-01-19: "true" trumps.
Received on Sunday, 20 February 2005 22:05:47 UTC