- From: Simon St.Laurent <simonstl@simonstl.com>
- Date: Tue, 08 May 2001 14:26:03 -0400
- To: "xml-dev@xml.org" <xml-dev@xml.org>, www-xml-linking-comments <www-xml-linking-comments@w3.org>
At 02:00 PM 5/8/01 -0400, John Cowan wrote: >Simon, as the author of XML Primer you know perfectly well that 35 is >not an ID, and anyway I didn't mean it to be. Unless, of course, you're using AElfred. But I thought the example was figurative. >I'm talking about a >mostly opaque resource type, video/flipbook, where the naive user >can either refer to the whole movie with no fragment id, or get a single >still by referencing it with a fragment id. If video/flipbook is an opaque MIME type, the only way to know what the fragment identifier meant would be to read the registration - if any - for the MIME type. >A flipbook embedded in an arbitrary XML document can't use this convenient >form of fragment reference. How could it? Why should it? XPointer, >though a fire hose as you say, will put out the fire. It's a fire hose that SVG's creators have chosen not to use. It's a fire hose that I don't think is especially appealing to many of the people building XML document formats and applications around those formats. >>I'm not entirely sure why you'd want to prohibit svgview() for SVG >>embedded inside of XHTML. > >Suppose there are five SVG graphics embedded in foo.xhtml. >Which one is addressed by foo.xhtml#svgview(...) ? There's an ambiguity in the left-to-right reading of XPointers. For certain schemes (notably xmlns), the reading of the scheme has an effect on the contents to the right of the XPointer. For other schemes (notably xpointer), there's a short circuit - when a match is achieved, the rest is ignored. I'd suggest the use of an context scheme that used XPath to establish context rather the short-circuit style functionality the xpointer scheme currently applies. (You could just call it xpath, but someone might want a short-circuiting XPath...) That way you could reach the graphic using a fragment identifier appropriate to your starting context, and then apply an identifier appropriate to that target. >The Right Thing in this case would probably be an svgview() *function* >within XPointer, so that you could say #xpointer(foo/bar/baz/svgview(...) >to drill down to the correct picture and then, in effect, switch models. >But this is still an XPointer, not a SVG fragment id. No, there isn't a "Right Thing". There are plenty of possibilities, not all of them mutually exclusive. If you want to build the one true fragment identification processor, that might be the right thing, but there's still room for reasoned dissent on the matter. XPointer offers schemes, but not much of a framework for applying them. I'd like to see schemes taken seriously. Simon St.Laurent - Associate Editor, O'Reilly & Associates XML Elements of Style / XML: A Primer, 2nd Ed. XHTML: Migrating Toward XML http://www.simonstl.com - XML essays and books
Received on Tuesday, 8 May 2001 14:25:55 UTC