- From: Jeremy Carroll <jjc@hpl.hp.com>
- Date: Wed, 13 Jun 2007 14:49:31 +0100
- To: GRDDL Working Group <public-grddl-wg@w3.org>
(while working on the generic XSLT module ...) consider GET from http://example.org/a/b/c/d/e/f.html giving <html> <head xml:base="../../foo"> <base href="../../foo"/> <rdf:RDF> <rdf:Description rdf:about=""> <rdfs:comment>Bar</rdfs:comment> </rdf:Description> </rdf:RDF> .... annotated correctly to apply inline-rdf transform. Currently this does not work correctly (whatever correctly might be), and I cannot see any changes that will make it work correctly. I assume the intended triple might be: <http://example.org/a/b/c/foo> rdfs:comment "Bar". I think a GRDDL aware agent, will currently get <http://example.org/a/foo> rdfs:comment "Bar". I am minded to simply document the problem. I am wondering whether I should make any changes. ==== Part of the underlying problem is that (X)HTML is designed to use the base element, not xml:base, whereas RDF/XML is designed to use xml:base and not html:base element. Thus it is unclear how the mechanisms should interact ... (It is unspecified). The current behaviour is that: - a top-level xml:base is ignored, i.e. on the html element - an html base is respected by the GRDDL aware agent - lower-level xml:base is copied across to the inline RDF content. It may be cleaner to explicitly ignore any xml:base except those inside the rdf:RDF - xml:base is not supported in (X)HTML. Alternatively, one could, in the transform, respect all xml:base declaration in the document, and flag an error if the resulting xml:base and an HTML base are both present and both relative. That's probably the best one can do .... any thoughts? Jeremy -- Hewlett-Packard Limited registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England
Received on Wednesday, 13 June 2007 13:49:49 UTC