- From: Harry Halpin <hhalpin@ibiblio.org>
- Date: Mon, 09 Oct 2006 21:16:16 +0100
- To: Murray Maloney <murray@muzmo.com>, public-grddl-wg <public-grddl-wg@w3.org>
Apologies for my moment of incoherence. Let me rephrase the issue I'm trying to get at - an analogy to both the closed issue of what transformation languages to allow[1] and the current debate over output formats (where one side wants only RDF/XML, and the other wants any 'valid' RDF output format, such as a future "turtle" standard or RDFa)[2]. In both these cases, we are faced with a choice of being either unrestrictive and therefore unable to predict the behavior of the GRDDL-aware agent, or being restrictive and therefore able to predict the behavior of the GRDDL-aware agent (and thus make test-cases). We can also be unrestrictive and make recommendations. So, this is the exact same problem we have with the "order of processing" issue (which perhaps should be given a different name rather than #issue-mt-ns). If we are totally unrestrictive, then we cannot predict what the results of a GRDDL-aware agent running a GRDDL Transformation would be, even if restrict GRDDL to output RDF/XML. So, given a source document with XIncludes, it may be the case that including those items would lead to different RDF than not including those. Again, restrictivity is both a bug and feature - it hurts interoperability in my opinion if the same user-agent cannot expect to get the same results from running the same transformation, but then it also is a source of flexibility and power. I'd like to hear more opinions on this. Murray Maloney wrote: > At 05:18 PM 10/6/2006 +0100, Harry Halpin wrote: > > > Where RDF is a resource containing resource descriptions, > source is a resource containing XML and grddl:transformation > link(s) > Tx is an undefined process > executed by an undefined agent > in an undefined operating environment > > I believe that the intent of the author of GRDDL is to avoid making any > restrictive statements with respect to the policies of the processor > or the operating environment. Again, I think that's one option - all power to the user-agents! However, I'm having trouble visualizing how we're going to write test-cases though if we don't have any at least recommended behavior (SHOULD), even if we don't dictate that behavior as restrictive (MUST). So, while we can't guarantee that a given GRDDL-aware agent will do *anything* at all, we can say what a GRDDL-aware agent should do if we wish, no? Otherwise, if everything is "undefined" then we don't have much to test. > at any agent will perform any > operation at all. However, if an agent under your control is > capable of > performing any tasks beyond those performed by an XSLT 1.0 > transformation, > you could consider including validation and XInclude > processing before sending > or after receiving the result." > Close, but remember we're not guaranteeing XSLT 1.0, so I would say the restrictive option would be: "If additional processing needs to be done to a document in order to enable a GRDDL transformation to extract valid RDF, it should be done either by the server before it sends the doucment as a source document to the client or as the processing should be included in the GRDDL Transformation itself." >> Adding sentences to those effect in the Spec would be useful, maybe with >> one of the following examples: >> >> This means a GRDDL transformation would *not* use XInclude to include >> items before running a GRDDL transform, or if the document itself >> contained XSLT elements it would *not* run that XSLT and then run the >> GRDDL transform, but would just run the GRDDL transform. If you wanted >> the include via XInclude items or run another XSLT transformation before >> running GRDDL, you would use some sort of pipeline language like >> XMLProc as your GRDDL Transformation [2]. > > The first sentence is illogical. > "GRDDL transformation would *not* ... before running a GRDDL transform" > A GRDDL transformation can't DO anything before it is run. Only an > agent can. Apologies - I meant to write: "This means a GRDDL-aware agent should *not* use XInclude to include items before executing a GRDDL transformation, so if the document itself contained XSLT elements it would *not* run that XSLT and then run the GRDDL transform, but would just run the GRDDL transform. If the user wanted the GRDDL-aware agent to include via XInclude items or run another XSLT Transformation before running the GRDDL Transforamtion, you would use some sort of pipeline language like XMLProc as your GRDDL Transformation" [1]http://www.w3.org/2004/01/rdxh/spec#issue-whichlangs [2]http://www.w3.org/2004/01/rdxh/spec#issue-output-formats -- -harry Harry Halpin, University of Edinburgh http://www.ibiblio.org/hhalpin 6B522426
Received on Tuesday, 10 October 2006 01:16:29 UTC