[Bug 3602] The absence of an assertion should not mean that the behavior is "explicitly prohibited"

http://www.w3.org/Bugs/Public/show_bug.cgi?id=3602





------- Comment #2 from ashok.malhotra@oracle.com  2006-09-14 00:16 -------
I was aked to supply text to clarify the cryptic statement in the text.
Here is suggested text to be added to section 3.2.

3.2 Policy Alternative
…
The vocabulary of a policy alternative is the set of all policy assertion types
within the alternative. [Definition: A policy vocabulary is the set of all
policy assertion types used in a policy.] An assertion whose type is part of
the policy's vocabulary but is not included in an alternative is explicitly
prohibited by the alternative.

<new text>
For example, if there is a policy with an assertion marked with
“optional=’true’” this puts the assertion in the vocabulary of the policy. 
When this policy is normalized the assertion appears in one alternative and not
in the other.  If the alternative that does not include the assertion is chosen
then it is explicitly prohibited to apply the assertion as the assertion is
part of the policy vocabulary.

Consider the following policy:

<wsp:Policy>
    <wsp:All>
        <am:assertion1 …/>
        <am:assertion2 optional=’true’/> 
    </wsp:All>
</wsp:Policy>

This normalizes to:

ALTERNATIVE 1

<wsp:Policy>
    <wsp:All>
        <am:assertion1 …/>
        <am:assertion2  …/> 
    </wsp:All>
</wsp:Policy>

ALTERNATIVE 2

<wsp:Policy>
    <wsp:All>
        <am:assertion1 …/>
    </wsp:All>
</wsp:Policy>

If ALTERNATIVE 2 is selected then applying Assertion2 is explicitly prohibited.
</new text>

Received on Thursday, 14 September 2006 00:16:52 UTC