- 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