Troeps XML 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:

For the Troeps entities
For specifying modification of these entities
For Troeps lexicon


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 ""> and <!ENTITY % troepsDTD SYSTEM ""> %troepsDTD;

Sample XML files

an example of a Troeps knowledge base (with nearly complete coverage of the DTD and Troeps capabilities);
an example of the use of trapi which modifies the base loaded by the previous xml document;
an example of lexitem;
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:

It requires Java 1.2.

Future developments

Some developments will be carried on in the future:

Old versions


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.



[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.

Updated by Jerome . Euzenat À inria . fr on 17/12/2021