- From: Ashok Malhotra <ashok.malhotra@oracle.com>
- Date: Wed, 16 May 2007 05:03:20 -0700
- To: "David Hull" <dmh@tibco.com>
- CC: "public-ws-policy@w3.org" <public-ws-policy@w3.org>
- Message-ID: <20070516050320726.00000003552@amalhotr-pc>
David Hull wrote . "While we're on the topic, it would be good to have a specific use case in which <All><Foo/><Foo/></All> is meant to be different from <All><Foo/></All>. If there aren't any, then it would be better to replace "collection" with "set" throughout. For example, the question of what does "all of the assertions in both alternatives" mean goes away; you just say "union"." My understanding is that while duplicates are allowed in alternatives, etc. when processing starts <All><Foo/><Foo/></All> is equivalent to <All><Foo/></All>. Thus, in the intersection algorithm we are indeed talking about set intersection. But, as I said, this is my understanding. It would be good to have this clarified in the text. All the best, Ashok ________________________________ From: public-ws-policy-request@w3.org [mailto:public-ws-policy-request@w3.org] On Behalf Of David Hull Sent: Tuesday, May 15, 2007 8:48 PM To: Asir Vedamuthu Cc: public-ws-policy@w3.org Subject: Re: FW: [Bug 4552] Should the word "collection" be changed to something more specific? Asir Vedamuthu wrote: the blanket statement that "collection" means "unordered collection with multiple occurrences allowed" is inappropriate. Multiple occurrences of the same alternative are okay. The framework treats them as separate alternatives. Can't imagine the technical reasons on why the framework should force implementations to figure out if two alternatives are same and filter them out. You're defining semantics here, not implementation. If duplicates make no difference, you have set semantics. If they do, you have bag semantics. If an implementation wants to keep duplicates around, that's its business. By specifying set semantics you are saying that, e.g., <ExactlyOne> <All><Foo/></All> </ExactlyOne> means the same as <ExactlyOne> <All><Foo/></All> <All><Foo/></All> </ExactlyOne> and therefore that no one should write code that depends on one or the other form specifically. Similarly, no one should depend on distinctions between <All><Foo/><Bar/></All> and <All><Bar/><Foo/></All>. That doesn't force implementations to maintain alternatives in some canonical order, it just defines part of the contract for policy authors. While we're on the topic, it would be good to have a specific use case in which <All><Foo/><Foo/></All> is meant to be different from <All><Foo/></All>. If there aren't any, then it would be better to replace "collection" with "set" throughout. For example, the question of what does "all of the assertions in both alternatives" mean goes away; you just say "union". If implementers would like to optimize their implementations the framework does not preclude filtering multiple occurrences of the same alternative. Regards, Asir S Vedamuthu Microsoft Corporation -----Original Message----- From: public-ws-policy-qa-request@w3.org [mailto:public-ws-policy-qa-request@w3.org] On Behalf Of bugzilla@wiggum.w3.org Sent: Friday, May 11, 2007 8:14 AM To: public-ws-policy-qa@w3.org Subject: [Bug 4552] Should the word "collection" be changed to something more specific? http://www.w3.org/Bugs/Public/show_bug.cgi?id=4552 dmh@tibco.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dmh@tibco.com ------- Comment #1 from dmh@tibco.com 2007-05-11 15:13 ------- My understanding from the list discussion is that policies are *sets* of alternatives, not bags, in that it does not matter how many times an alternative appears, so long as it appears. If so, then the blanket statement that "collection" means "unordered collection with multiple occurrences allowed" is inappropriate. If policies are allowed to contain the same alternative multiple times, then someone has to say what the differences is between, e.g., an alternative occurring once and the same alternative occurring twice. Conversely, if there is no difference, then say so explicitly. That is, instead of saying "A policy is a collection (unordered, multiples allowed) of alternatives where multiplicity doesn't matter", say directly that "A policy is a set of alternatives".
Received on Wednesday, 16 May 2007 12:05:04 UTC