OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-rx message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: wsrmp nested policy assertions do contain elements from wsp namespace



On an earlier email I stated that the wsp namespace is not used in the
schemas for wsrmp or wsmc specs.

On further investigation, I found the situation to be not so cut and dry.

This email does not make any recommended changes to our specs, but is
intended to add some facts to the current controversy under discussion in
the WS-RX TC.

WSMC does not define any assertions with nested policy.  So for wsmc,
an XML serialized value of the "MakeConnection" assertion will not contain
any elements from the wsp namespace.

The wsp namespace would be required for any policy expression which
contains an alternative with the MakeConnection assertion, but a wsp
namespace is not required to serialize the value of the  assertion, itself.
This may be a subtle point, but it is a valid distinction between
assertions which have nested policy and those which do not.

However, the wsmp spec does define several assertions which contain
nested policy expressions.

For example, the wsrmp:RMAssertion policy assertion type is defined as a
container for nested policy assertions. This means that an XML serialized
value of the RMAssertion assertion, itself, MUST contain the element
wsp:policy, which is used to convey the nested policy expression.
Any serialized XML value of these nested assertions MUST include a
namespace declaration
for some ws-policy namespace.

However, the schema for wsrmp uses an any type with namespace="##other" to
specify the
requirement for a contained wsp:policy element

 <xs:element name="RMAssertion">
     <xs:complexType>
         <xs:sequence>
             <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:anyAttribute namespace="##any" processContents="lax"/>
     </xs:complexType>
 </xs:element>

So the reason the schema for wsrmp does not explicitly include a wsp
namespace is because of the use of a "loose typing trick", involving
xs:any, to get around documenting an explicit choice of a
ws-policy namespace. However, this "any" element must be resolved,
in any serialized value of the RMAssertion, to be a "policy"
element Qname from some ws-policy namespace.

The wsrmp spec should state that this contained element, specified as an
xs:any, must have the Qname wsp:policy, where "wsp" must be associated
with an explicit ws policy namespace version before the policy can be
serialized into XML.  I think that may be the historical reason for the
wording "Normative Outline" used in section 2.2 of the wsrmp spec, which
defines the wsrmp:RMAssertion policy assertion.  It might also be an
undocumented historical reason why
CD 7 and earlier versions of wsrmp placed ws-policy references as
normative, while CD7 and earlier versions of wsmc placed ws-policy
references as non-normative

I would summarize this discussion as follows: the CD7 (and earlier)
wsrm policy specs abstracted out the version of ws policy in the schema
by using "any" type to specify the nested policy expression value in
its definitions of nested policy assertion types.  However, even
though the schema for wsrm policy spec abstracted out the version of
ws-policy, CD07 and earlier versions of WSRM policy spec were tied to a
normative reference to an explicit ws-policy version.

As an aside, I would like to point out that ws addressing metadata spec
LC draft has also defined nested assertions, but in the schema it
actually specifies wsp:Policy as a nested element in their Schema,
using the explicit namespace                    
xmlns:wsp="http://www.w3.org/2006/07/ws-policy";  .

I do not recall that anybody has raised a concern that ws addressing
metadata spec has not abstracted itself away from a particular version of
WS-Policy.

Hope this helps, not hinders, the discussion to move forward.
-- 
Tom Rutt
Tel: +1 732 801 5744
Fax: +1 732 774 5133
email: tom@coastin.com; trutt@us.fujitsu.com




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]