RE: Questions on normal forms

Let's look at your second example. The second example with the Policy wrapper is:

<wsp:Policy>
 <wsp:All>
  <wsp:ExactlyOne>
   <A/>
  </wsp:ExactlyOne>
  <B/>
 </wsp:All>
</wsp:Policy>

Policy is equivalent to All. That is,

<wsp:All>
 <wsp:All>
  <wsp:ExactlyOne>
   <A/>
  </wsp:ExactlyOne>
  <B/>
 </wsp:All>
</wsp:All>

Applying the idempotent rule,

<wsp:All>
 <wsp:ExactlyOne>
  <A/>
 </wsp:ExactlyOne>
 <B/>
</wsp:All>

Applying the distributive rule,

<wsp:ExactlyOne>
  <wsp:All>
   <A/>
   <B/>
  <wsp:All>
</wsp:ExactlyOne>

We checked with a few online policy tools and our command line tool. They all consistently produced the above result. We hope this helps.

Regards,

Asir S Vedamuthu
Microsoft Corporation




From: public-ws-policy-request@w3.org [mailto:public-ws-policy-request@w3.org] On Behalf Of David Hull
Sent: Tuesday, May 29, 2007 12:52 PM
To: public-ws-policy@w3.org
Subject: Questions on normal forms

As far as I can tell, the following are valid compact expressions.
1. What are their normal forms?
2. By what rules are those normal forms computed?
<wsp:ExactlyOne>
  <wsp:All><A/></wsp:All>
  <B/>
</wsp:ExactlyOne>

<wsp:All>
  <wsp:ExactlyOne><A/></wsp:ExactlyOne>
  <B/>
</wsp:All>

Received on Wednesday, 6 June 2007 02:16:36 UTC