- From: Dan Connolly <connolly@w3.org>
- Date: Sun, 05 Nov 2006 03:32:59 -0600
- To: Gokhan Soydan <gsoydan@topquadrant.com>
- Cc: public-grddl-comments@w3.org
On Thu, 2006-11-02 at 10:52 -0800, Gokhan Soydan wrote:
> Hello,
>
> Thank you very much for the information. I have a question about the
> specification. When using GRDDL with namespace documents, the formal
> definition is that:
>
> - if an information resource ?D has an XML representation whose root element
> has a namespace name ?NS then any GRDDL result of the resource identified by
> ?NS is a GRDDL result of ?D
>
> - if an information resource ?D has an XML representation whose root element
> has a namespace name ?NSDOC** and ?D has a GRDDL result that includes, for
> any ?TX, the RDF triple { ?NSDOC
> <http://www.w3.org/2003/g/data-view#namespaceTransformation> ?TX } then ?TX
> is also a transformation of ?D
>
> Is this case possible: we have ?D, ?NS as defined above, and also ?NSS,
> which is a namespace of ?NS. ?NSS has a GRDDL result, which is also a GRDDL
> result of ?NS and by definition also of ?D. Also, ?NSS has a
> namespaceTransformation, which produces another GRDDL result for ?NS, which
> becomes GRDDL result of ?D. So, is it possible for GRDDL results to
> propagate through namespaces recursively and end up in the original
> document?
>
> If this is the case, wouldn't there be an infinite situation, if
> there is a namespace ?NSA, that has a namespace ?NSB, and the namespace ?NSB
> has the namespace ?NSA?
Well, it's a loop, but there need not be anything infinite about it.
At least I don't think so.
These rules were in flux for other reasons.
I have revised them in a recent editor's draft.
http://www.w3.org/2004/01/rdxh/spec 1.151
> Is the above case possible for also profiles?
yes, I suppose so.
I should make a test case for this loop case...
OK... there... I made one...
http://www.w3.org/2001/sw/grddl-wg/td/testlist3#loop
For fun, here's a trace of it running with my glean.py
implementation.
http://www.w3.org/2003/g/glean.py
Note the "already" test on line 149 of glean.py
that keeps it from going into an infinite loop.
connolly@dirk:~/w3ccvs/WWW/2001/sw/grddl-wg/td$
PYTHONPATH=../../../../2000/10/swap/.. python testHarness.py --debug
--run ./gleanWrapper testlist3.rdf
Saving result to loop-output.rdf.result
grddl(('file:///home/connolly/w3ccvs/WWW/2001/sw/grddl-wg/td/loop.xml',
None, ['http://www.w3.org/2003/g/data-view',
'http://www.w3.org/1999/xhtml']))
grddl(('file:///home/connolly/w3ccvs/WWW/2001/sw/grddl-wg/td/loop.xml',
'/tmp/grddl-xformsF8lc60.txt', ['http://www.w3.org/2003/g/data-view',
'http://www.w3.org/1999/xhtml']))
SPAWN: xsltproc --novalid -o /tmp/grddl-xformsKdJ2zP.txt --stringparam
xmlfile file:///home/connolly/w3ccvs/WWW/2001/sw/grddl-wg/td/loop.xml
getTransforms.xsl /tmp/grddl-xformsF8lc60.txt
getTransforms line:R http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b
getTransforms line:T http://www.w3.org/2003/g/embeddedRDF.xsl
Profile/Namespace: http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b
grddl(('http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b', None,
['http://www.w3.org/2003/g/data-view', 'http://www.w3.org/1999/xhtml',
'http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b']))
grddl(('http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b',
'/tmp/grddl-xformst6Wc2x.txt', ['http://www.w3.org/2003/g/data-view',
'http://www.w3.org/1999/xhtml',
'http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b']))
SPAWN: xsltproc --novalid -o /tmp/grddl-xformstZqL60.txt --stringparam
xmlfile http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b
getTransforms.xsl /tmp/grddl-xformst6Wc2x.txt
getTransforms line:R http://www.w3.org/2001/sw/grddl-wg/td/loop
getTransforms line:T http://www.w3.org/2003/g/embeddedRDF.xsl
Profile/Namespace: http://www.w3.org/2001/sw/grddl-wg/td/loop
grddl(('http://www.w3.org/2001/sw/grddl-wg/td/loop', None,
['http://www.w3.org/2003/g/data-view', 'http://www.w3.org/1999/xhtml',
'http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b',
'http://www.w3.org/2001/sw/grddl-wg/td/loop']))
grddl(('http://www.w3.org/2001/sw/grddl-wg/td/loop',
'/tmp/grddl-xformsu4ptgX.txt', ['http://www.w3.org/2003/g/data-view',
'http://www.w3.org/1999/xhtml',
'http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b',
'http://www.w3.org/2001/sw/grddl-wg/td/loop']))
SPAWN: xsltproc --novalid -o /tmp/grddl-xforms0yzeJg.txt --stringparam
xmlfile http://www.w3.org/2001/sw/grddl-wg/td/loop
getTransforms.xsl /tmp/grddl-xformsu4ptgX.txt
getTransforms line:R http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b
getTransforms line:T http://www.w3.org/2003/g/embeddedRDF.xsl
SPAWN: xsltproc --novalid -o /tmp/grddl-statementsvt6Yyv.rdf
--stringparam xmlfile http://www.w3.org/2001/sw/grddl-wg/td/loop
http://www.w3.org/2003/g/embeddedRDF.xsl /tmp/grddl-xformsu4ptgX.txt
parsing.../tmp/grddl-statementsvt6Yyv.rdf
data size:1
size of result:http://www.w3.org/2001/sw/grddl-wg/td/loop1
NAMESPACE XFORM: http://www.w3.org/2003/g/sq1t.xsl
SPAWN: xsltproc --novalid -o /tmp/grddl-statementsseyybi.rdf
--stringparam xmlfile http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b
http://www.w3.org/2003/g/embeddedRDF.xsl /tmp/grddl-xformst6Wc2x.txt
parsing.../tmp/grddl-statementsseyybi.rdf
data size:1
SPAWN: xsltproc --novalid -o /tmp/grddl-statementsseyybi.rdf
--stringparam xmlfile http://www.w3.org/2001/sw/grddl-wg/td/loop-ns-b
http://www.w3.org/2003/g/sq1t.xsl /tmp/grddl-xformst6Wc2x.txt
warning: failed to load external entity
"http://www.w3.org/2003/g/sq1t.xsl"
cannot parse http://www.w3.org/2003/g/sq1t.xsl
SPAWN: xsltproc --novalid -o /tmp/grddl-statementsbmg-hh.rdf
--stringparam xmlfile
file:///home/connolly/w3ccvs/WWW/2001/sw/grddl-wg/td/loop.xml
http://www.w3.org/2003/g/embeddedRDF.xsl /tmp/grddl-xformsF8lc60.txt
parsing.../tmp/grddl-statementsbmg-hh.rdf
data size:1
GRDDL size:1
Executing /home/connolly/w3ccvs/WWW/2000/10/swap/delta.py -f
file:///home/connolly/w3ccvs/WWW/2001/sw/grddl-wg/td/loop-output.rdf -t
loop-output.rdf.result
diff:
All tests were passed!
--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E
Received on Sunday, 5 November 2006 09:33:07 UTC