Re: Bug 3599

Ashok Malhotra wrote:
> Felix summarized the position on this issue in his note.
> http://lists.w3.org/Archives/Public/public-ws-policy/2006Oct/0057.html
> 
> Let me make a concrete proposal.  I will number the steps in this proposal
> so people can refer easily to the step they agree or disagree with.
> 
> 1. There is a requirement that it shd be possible to associate Policies with individual elements
> in an XML representation of a WSDL 1.1 file using the external attachment mechanism defined in
> section 3.4 of the WS-Policy Attachment document.

agree.

> 
> 2. Although WSDL 1.1 does not define the term "component" we understand that individual elements
> in the XML representation of a WSDL 1.1 file refer to definitions that we may want to associate Policies
> with.  That is, it shd be possible to make these elements the subject of a Policy.

I would propose to drop the term "component". If your wording is also
meant as an input to the attachment draft, I would say
"Individual elements in the XML representation of a WSDL 1.1 file refer
 to definitions that we may want to associate Policies with. That is, it
should be possible to make these elements the subject of a Policy."

> 
> 3. XPointer spec says that it is "...intended to be used as a basis for fragment identifiers for any resource whose Internet media type is one of text/xml, application/xml, text/xml-external-parsed-entity, or application/xml-external-parsed-entity. Other XML-based media types are also encouraged to use this framework in defining their own fragment identifier languages."  (Note that the XPointer syntax is based on XPath 1.0 with an important shortcut: if an element information item has
> an attribute or child element that is of type ID, the value of that attribute/element can be used to refer to the element.  Thus, for example, the XPath syntax: /element-name(ID='X') can be abbreviated as /X.)

my requirement is: we should be clear that we don't confuse the WSDL 1.1
and the WSDL 2.0 case.
In your proposal for issue 3730 at
http://lists.w3.org/Archives/Public/public-ws-policy/2006Oct/att-0069/Proposal_for_Bug_3730-v2.pdf
, reffering to wsdl 2.0 components looks like

<wsp:AppliesTo>
<wsp:wsdl20Ref>
http://example.com.LoanFlow#wsdl.service(LoanFlowService)
</wsp:wsdl20Ref>
</wsp:AppliesTo>

Now, using XPointer for WSDL 1.1 in the way you propose, could lead to
confusion:

<wsp:AppliesTo>
<wsp:wsdl11Ref>
http://example.com.LoanFlow#wsdl.service(LoanFlowService)
</wsp:wsdl11Ref>
</wsp:AppliesTo>

the above is IMO confusing since in the wsdl 2.0 case, you refer to
components, but in the WSDl 1.1 case, you refer to information items in
the XML representation.

Using XPath for the WSDL 1.1 case could look like:

<wsp:AppliesTo>
<wsp:wsdl11Ref>
http://example.com.LoanFlow#xpath2(//wsdl.service[@name='LoanFlowService'])
</wsp:wsdl11Ref>
</wsp:AppliesTo>

(I used XPath 2, since XPath 1 is not yet a registered XPointer scheme
at http://www.w3.org/2005/04/xpointer-schemes/).
With XPath, it becomes obvious that the WSDL 1.1. case relies on the XML
structure.

> 
> 4. The media type for used for WSDL 1.1 files is text/xml so the XPointer framework can be used to generate fragment identifiers for WSDL 1.1 files.   Thus, starting with the URI of a file that contains WSDL 1.1 definitions in XML format we can use XPointer to construct URI references to identify individual elements in a WSDL 1.1 file.

agree, except s/XPointer to construct/XPath to construct/ .

> 
> 5. These URI References can then be used (with a suitable wrapper) as Domain Expressions in an AppliesTo element in the 
> external attachment mechanism described in section 3.4 of the Policy Attachment document.

agree.

Felix

Received on Tuesday, 10 October 2006 02:33:36 UTC