Troeps XML DTDs
DTDs
The DTD is complete with regard to the Troeps system. A DTD is also available
for the lexicon and soon there will be a DTD for expressing a hierarchy of
actions on a knowledge base (through the Troeps API). This one will be used in
displaying the differences between to bases or in communicating a set of
modifications between two bases.
Here are the DTD for Troeps XML documents:
- troeps.dtd
- For the Troeps entities
- trapi.dtd
- For specifying modification of these entities
- trlex.dtd
- For Troeps lexicon
References
These DTDs can be referenced in XML documents by the insertion of
(for Troeps):
<!DOCTYPE CONCEPT SYSTEM "troeps.dtd">
and in other DTD by:
<!ENTITY % troepsDTD SYSTEM "troeps.dtd">
%troepsDTD;
or better:
<!DOCTYPE CONCEPT SYSTEM "http://co4.inrialpes.fr/xml/troeps.dtd">
and
<!ENTITY % troepsDTD SYSTEM "http://co4.inrialpes.fr/xml/troeps.dtd">
%troepsDTD;
Sample XML files
- real-estate.xml
- an example of a Troeps knowledge base (with nearly complete
coverage of the DTD and Troeps capabilities);
- mypgm.xml
- an example of the use of trapi which modifies the base loaded
by the previous xml document;
- lex.xml
- an example of lexitem;
- knife.xml
- an example of an important knowledge base (generated by Troeps
XML converter): Knife.
These files have been generated by Troeps XML dumper
Troeps XML dumper and loader
Troeps can dump any knowledge base in an XML file complying with the above
DTD. Non covered features are annotations and external types.
A loader for generating Troeps elements from XML documents (complying
with the Troeps DTD) is developped. It uses SAX (just like the actual
Troeps format is event-parsed) and has been developped thanks to the
XML4J
parser. Its main pitfall is that it does not allows circular references yet.
The loader has been developped in Java, so it is quite slow...
The dumper is directly available with the Troeps distribution (from
release 1.3).
The loader (called XXT) is available from:
https://www.inrialpes.fr/sherpa/files/logiciels/xxt/current.tar.gz.
It requires Java 1.2.
Future developments
Some developments will be carried on in the future:
- Consider circularities in XML while loading
- DTD for currently unavailable elements: annotations and external types.
- Embedded Troeps: for annotating any kind of XML documents with Troeps
structures.
Old versions
Philosophy
The design rationale beyond these particular DTDs are described in
[Euzenat2000a].
Samples from the paper
The full files corresponding to the examples given in [Euzenat2000a]
are provided below.
PROTEIN sample
Here are the files for the simple PROTEIN example:
The XML and DTD have been tested with the XML4J parser from IBM.
$ java -cp .:xml4j.jar:xml4jSamples.jar ui.TreeViewer protein.xml
The HTML has been generated with the combination of XP/XT from James Clark through the following instructions:
$ setenv CLASSPATH xp.jar:xt.jar:sax.jar:$CLASSPATH
$ java com.jclark.xsl.sax.Driver protein.xml protein.xsl protein.html
Immediate translation
Reified version
The reified version in the paper does not use the Troeps DTD due to
lack of space. Instead the RCO.DTD is used. The following files can be
recovered.
- bio.xml: the XML file.
- rco.dtd: the DTD.
- base.xml is the Troeps final version of the
example. Its DTD is the one above.
Semantics
References
[Euzenat2000a] Jérôme Euzenat, XML est-il le langage
de représentation de l'an 2000 ?, Actes 6e LMO, Mont
Saint-Hilaire (CA), 2000 à paraître.
https://co4.inrialpes.fr/xml/troeps
Updated by Jerome . Euzenat À inria . fr on 17/12/2021