W3C home > Mailing lists > Public > public-grddl-wg@w3.org > October 2006

Re: [#issue-mt-ns] GRDDL and Processing Order

From: Harry Halpin <hhalpin@ibiblio.org>
Date: Mon, 09 Oct 2006 21:16:16 +0100
Message-ID: <452AAE10.4040206@ibiblio.org>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:11:46 GMT