- From: Chris Lilley <chris@w3.org>
- Date: Mon, 31 Mar 2003 12:19:13 +0200
- To: Tim Bray <tbray@textuality.com>
- CC: WWW-Tag <www-tag@w3.org>
On Monday, March 31, 2003, 8:44:39 AM, Tim wrote: TB> Basically, they want to point to a structure inside an WSDL instance, TB> and they want to use an XPointer-type thing to do. Okay. TB> The only real handle TB> shared between sender and receiver they have to start with is the TB> namespace defined for the WSDL, i.e they might not have a pointer to the TB> WSDL itself, for good reasons such as having local behind-the-firewall TB> copies and so on. Um. Given *just* the namespace then that would match all their messages that used that namespace, no? TB> So they're proposing just doing something along the TB> lines of TB> http://namespace..#xpointer TB> As Jonathan points out, this is bogus, OK so we are all starting from the same place here, this is bogus. TB> the semantic of a fragment TB> identifier depends on the media-type of the representation you get back TB> when you dereference the URI. Yes (although I am sure that we never imagined the semantic could spread from 'various was to identify a fragment' to 'anything'). TB> Since that could conceivably be an HTML TB> document, an RDF document, an XML Schema, or who knows what, the use of TB> the #fragment notation here seems just basically broken. Thats your basic content-negotiation plus fragments no worky argument. TB> However, I personally think the following are all reasonable things to TB> want to do: TB> 1. Use a namespace name as a basis for shared identification Of a single message, or of all messages in a collection that contain that namespace? TB> 2. Have a hierarchical naming setup inside something like a TB> WSDL instance By virtue of being in XML it already has a hierarchy. TB> 3. Tie #1 and #2 together into a URI, because URIs are useful Yes. Note that your short list of requirements did not include a necessity for an http URI; it might well end up as http if http is a good fit. But notions of pointing to 'the same' message at different locations, makes me think more of a mid-like scheme. TB> So... if we don't want to accomplish #3 by abusing the #fragment TB> identifier, what can we do? Well firstly you need to isolate down to one particular message rather than all messages that use that namespace. Sounds a bit like string matching or, better, like Xpath 2.0 or XQuery. Return the set of messages that have these characteristics .... TB> The best idea I've heard involves RDDL. This isn't my idea, I forget TB> where I heard it first but suspect it might have been from Dave Orchard. TB> Let's suppose that you have a RDDL that identifies 2 related TB> resources, and let's suppose that you require that pointers to related TB> resources have an ID so you can address them. So you are indirecting through another document? TB> http://example.com/ns/foo.rddl ==> RDDL for this namespace TB> foo.rddl#jar: Related (JavaClass) ==>http://example.com/jars/foo.jar TB> foo.rddl#wsdl: Related (WSDL) ==> http://example.com/WSDLs/foo.wsdl TB> OK, now suppose I want to identify (using Jonathan's example) TB> "operation(TicketAgent/listFlights)" inside the WSDL. I'm wondering if TB> you could bridge through the RDDL to get there with something along the TB> lines of TB> http://example.com/ns/foo.rddl#wsdl/operation(TicketAgent/listFlights) Um. Using a fragment gets you a fragment of the RDDL, now you need some syntax to say 'get corresponding fragment' or some such to get you to the other end of the arc. You have one end, you need to get to the other end. Then, you need to have dereference operator that gets you out of the RDDL document and off to where that thing points to. TB> So the stuff after the "#wsdl/" is treated as a fragment identifier in TB> the related-resource which the link identified by #wsdl points at. This TB> could all be done perfectly legally by registering a media-type for RDDL TB> and saying this is how fragments behave. It could, but a more general syntax would seem more useful. This doesn't seem specific to RDDL or to WSDL by any means. TB> And in fact, it is fairly true TB> to the basic semantic of #fragments, namely you have to fetch the RDDL TB> to find out what the #wsdl points at so you can figure out what to do TB> with the rest of the fragment. On the other hand, that '#' jammed in TB> the middle of of the URI is perhaps troubling. Its not troubling, it just doesn't point to where you want it to point. Basically you have a syntax that says rddl[a] and you want one that says rddl[b[a]]*#foo with the usual meanings for array indexing and pointer dereferencing. Trying to cram this into one super overloaded operator will not work and is a wart. TB> This is no more than a V.001 strawman, but at this point I kind of like TB> it. Feedback? -- Chris mailto:chris@w3.org
Received on Monday, 31 March 2003 05:19:19 UTC