See intro for more context and work-in-progress disclaimers, or the original textfile 00README document.
This work comes from a UK government (EPSRC) funded research project at the University of Edinburgh, carried out by Henry S. Thompson and Ari Krupnikov. Background material, original published at XML 2001 Orlando, describes our ideas about Normal forms for XML and XML databinding using schema annotation
(to run this, you need XSV, PyLTXML installed, and a commandline XSLT tool such as 'saxon, 'xsltproc' or 'sabcmd').
The current installation is part of the SWAD-Europe investigation of Schema Annotation approaches. Contact danbri re any issues with this website or additional documentation / scripts.
Dan's TODO list:
Or see Makefile.
xsv -r alt po.xml po.xsd | cat infoset-r.dtd - > po-psvi.xml sabcmd infoset-r.xsl po-psvi.xml > po-mapped.xml sabcmd logicOut.xsl po-mapped.xml > po-fopl.xml sabcmd fopl.html.xsl po-fopl.xml group=no > po-fopl.txt sabcmd fopl.html.xsl po-fopl.xml group=no > po-fopl.html sabcmd rdfOut.xsl po-mapped.xml > po-rdf.nt sabcmd javaInit.xsl po-mapped.xml > po.java xsv -r alt ifx.xml ifx.xsd | cat infoset-r.dtd - > ifx-psvi.xml sabcmd infoset-r.xsl ifx-psvi.xml > ifx-mapped.xml sabcmd logicOut.xsl ifx-mapped.xml > ifx-fopl.xml sabcmd fopl.html.xsl ifx-fopl.xml group=no > ifx-fopl.txt sabcmd fopl.html.xsl ifx-fopl.xml group=no > ifx-fopl.html sabcmd rdfOut.xsl ifx-mapped.xml > ifx-rdf.nt sabcmd javaInit.xsl ifx-mapped.xml > ifx.java
There are two example input pairs of: an xml instance and an annotated XML Schema document:
The first two steps in processing are always the same -- schema-validate to produce a reflected PSVI, then process this with a stylesheet to produce a completely mapping-decorated pseudo-instance:
xsv -r rel po.xml po.xsd |
cat infoset-r.dtd - > po-psvi.xml
saxon po-psvi.xml infoset-r.xsl > po-mapped.xml
[or s/po/ifx/ throughout]
Any XSLT processor can be used instead of saxon.
Alternatives going forward depend on which output is desired -- the provided examples support first-order predicate logic and java:
(Note, some of these links are missing; I haven't added generated files to the website yet -- dan)
saxon po-mapped.xml logicOut.xsl > po-fopl.xml
(needs standardBuiltins.xml
)
or
saxon po-mapped.xml javaInit.xsl > po.java
In the logic case, there are then two alternative viewers:
saxon po-fopl.xml fopl.html.xsl group=yes > po-fopl.html
saxon po-fopl.xml fopl.txt.xsl group=yes > po-fopl.txt
This is an earlier, relatively stable, version of stuff, with no handling of re-entrancy.
HTML page by danbri from henry's original notes
HTML last updated: $Id: 00README.html,v 1.1 2003/01/18 12:36:06 danbri Exp
$