- From: Dan Connolly <connolly@w3.org>
- Date: Tue, 07 Dec 2004 17:41:33 -0600
- To: Ben Adida <ben@mit.edu>
- Cc: Eric Miller <em@w3.org>, Dominique Hazaël-Massieux <dom@w3.org>, www-archive@w3.org
[+cc www-archive; I presume nobody minds.]
On Tue, 2004-12-07 at 17:06 -0600, Dan Connolly wrote:
> On Tue, 2004-12-07 at 16:52 -0500, Ben Adida wrote:
> [...]
> > How do we make this happen? What are the relevant specs that address
> > this?
>
> I think GRDDL is enough.
>
> I'm working on an example based on the purchase order schema
> from the XML Schema primer.
> http://www.w3.org/TR/xmlschema-0/#po1.xsd
>
> I have a document
> http://www.w3.org/2003/g/po-doc.xml
> and a schema
> http://www.w3.org/2003/g/po-ex.xsd
>
> and I finally remembered enough about XML Schema to get
> them to validate using xsv...
> http://www.w3.org/2001/03/webdata/xsv
>
> Now to write the XSLT bits...
OK, one XSLT deely to extract the embedded RDF from
the schema that expresses the "namespaceTransformation" relationship:
http://www.w3.org/2003/g/embeddedRDF.xsl
and one to transform purchase order documents:
http://www.w3.org/2003/g/grokPO.xsl
et viola...
$ python glean.py --output ,docg.rdf 'http://www.w3.org/2003/g/po-doc'
$ python ~/w3ccvs/WWW/2000/10/swap/cwm.py --rdf ,docg.rdf --n3
#Processed by Id: cwm.py,v 1.164 2004/10/28 17:41:59 timbl Exp
@prefix : <http://www.w3.org/2003/g/po-ex#> .
[ a :purchaseOrder;
:billTo [
:city "Old Town";
:name "Robert Smith";
:state "PA";
:street "8 Oak Avenue";
:zip "95819" ];
:comment "Hurry, my lawn is going wild";
:orderDate "1999-10-20";
:shipTo [
:city "Mill Valley";
:name "Alice Smith";
:state "CA";
:street "123 Maple Street";
:zip "90952" ] ].
#ENDS
with the --debug output on glean.py, we can see how the sausage
is made... well, sorta:
$ python glean.py --debug --output ,docg.rdf
'http://www.w3.org/2003/g/po-doc'
grddl(('http://www.w3.org/2003/g/po-doc', None,
['http://www.w3.org/2003/g/data-view', 'http://www.w3.org/1999/xhtml']))
grddl(('http://www.w3.org/2003/g/po-doc', '/tmp/grddl-xformsQumE_i.txt',
['http://www.w3.org/2003/g/data-view', 'http://www.w3.org/1999/xhtml']))
SPAWN: xsltproc --novalid -o /tmp/grddl-xformsLkCrZH.txt --stringparam
xmlfile http://www.w3.org/2003/g/po-doc
getTransforms.xsl /tmp/grddl-xformsQumE_i.txt
getTransforms line:R http://www.w3.org/2003/g/po-ex
PROFILE: http://www.w3.org/2003/g/po-ex
grddl(('http://www.w3.org/2003/g/po-ex', None,
['http://www.w3.org/2003/g/data-view', 'http://www.w3.org/1999/xhtml',
'http://www.w3.org/2003/g/po-ex']))
grddl(('http://www.w3.org/2003/g/po-ex', '/tmp/grddl-xformswFKkLF.txt',
['http://www.w3.org/2003/g/data-view', 'http://www.w3.org/1999/xhtml',
'http://www.w3.org/2003/g/po-ex']))
SPAWN: xsltproc --novalid -o /tmp/grddl-xformskMjJuq.txt --stringparam
xmlfile http://www.w3.org/2003/g/po-ex
getTransforms.xsl /tmp/grddl-xformswFKkLF.txt
getTransforms line:R http://www.w3.org/2001/XMLSchema
getTransforms line:T http://www.w3.org/2003/g/embeddedRDF.xsl
PROFILE: http://www.w3.org/2001/XMLSchema
grddl(('http://www.w3.org/2001/XMLSchema', None,
['http://www.w3.org/2003/g/data-view', 'http://www.w3.org/1999/xhtml',
'http://www.w3.org/2003/g/po-ex', 'http://www.w3.org/2001/XMLSchema']))
grddl(('http://www.w3.org/2001/XMLSchema',
'/tmp/grddl-xformstMjzqL.txt', ['http://www.w3.org/2003/g/data-view',
'http://www.w3.org/1999/xhtml', 'http://www.w3.org/2003/g/po-ex',
'http://www.w3.org/2001/XMLSchema']))
SPAWN: xsltproc --novalid -o /tmp/grddl-xformsbdUyxk.txt --stringparam
xmlfile http://www.w3.org/2001/XMLSchema
getTransforms.xsl /tmp/grddl-xformstMjzqL.txt
getTransforms line:R http://www.w3.org/1999/xhtml
SPAWN: xsltproc --novalid -o /tmp/grddl-statementsERboAj.rdf
--stringparam xmlfile http://www.w3.org/2003/g/po-ex
http://www.w3.org/2003/g/embeddedRDF.xsl /tmp/grddl-xformswFKkLF.txt
data size:1
NAMESPACE XFORM: http://www.w3.org/2003/g/grokPO.xsl
SPAWN: xsltproc --novalid -o /tmp/grddl-statementspYJDWT.rdf
--stringparam xmlfile http://www.w3.org/2003/g/po-doc
http://www.w3.org/2003/g/grokPO.xsl /tmp/grddl-xformsQumE_i.txt
data size:15
GRDDL size:15
--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E
Received on Tuesday, 7 December 2004 23:41:05 UTC