Possible v.next issue : simple policy language extension

Hi

I'd like to suggest a possible simple policy language extension for the *next version* of WS-Policy.
Please consider this request as a low-priority issue, I don't want to distract the working group from more important/urgent things it needs to finalize. If the groups find this suggestion of any interest then the only thing I'd expect is a list of v.next issues be updated.

So here it goes. If a policy author wants to express the simplies capability/requirement, the most compact way to do it is to use a compact form, for ex :

<Policy>
 <wsm:MTOM/>
</Policy>

I personally have no problems with it at all, it's compact enough for me and a Policy operaror provides for more than just serving as a simple container about the primitive (<wsm:MTOM/>) policy assertion.

Now, I've had a look recently at APP Feature Discovery Draft [1].
According to the draft one can express a capability like this :

<f:feature xmlns:f="http://purl.org/atompub/features/1.0"
             ref="http://purl.org/atompub/features/1.0/supportsDraft" />
/>

I think it's kind of neat. It's simple and compact. It reminds me of those SAX properties.

I don't think one can express primitive assertions the same compcat way using a WS-Policy language.
I don't see it a language limitation but at the same time it seems it would be good if one could go as compact
as suggested in the Atom draft[1] using the policy language.

The language has a PolicyReference (and PolicyURIs attribute) but I believe its semantics require the policy engine to dereference the reference.

So what about introducing, say, a top-level element <PolicyAssertion>.
It can be used like this, compact form:

<wsp:PolicyAssertion namespace="http://purl.org/atompub/features/1.0/supportsDraft"
         xmlns:wsp="http://www.w3.org/ns/ws-policy"/>

Normalization :

<Policy>
   <ExactlyOnce>
       <All>
          <ns:PolicyAssertion xmlns:ns="http://purl.org/atompub/features/1.0/supportsDraft"/>
       </All>
   </ExactlyOnce>
</Policy>

Similarly, a top level Policy(Assertion) attribute is introduced :

<atom:collection wsp:PolicyAssertion="http://sberyozkin.blogspot.com/2007/09/atom-and-ws-policy.html"/>,
normalization rules are the same.

What can it give :
* more compact way to express simple primitive assertions

The normalization rule may seem like a hack, not sure about it. Perhaps saying that PolicyReference does not always have to be dereferenced may do the trick.

Does it make any sense to anyone ? 

This message is not driven by any internal requirements, and I'm not expecting any support for it, but I'd just like experts's opinion on this proposal for the next version of the spec.

I've tried to motivate it all at [2]

Cheers, Sergey

[1] http://tools.ietf.org/html/draft-snell-atompub-feature-10
[2] http://sberyozkin.blogspot.com/2007/09/atom-and-ws-policy.html

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Received on Wednesday, 26 September 2007 17:24:25 UTC