<?xml version="1.0" encoding="UTF-8" ?>
<!-- trapi.dtd version="0.2" last-modification="23/08/1999"
                url="http://co4.inrialpes.fr/xml/trapi.dtd" -->

<!-- import troeps DTD -->
<!ENTITY % troepsDTD SYSTEM "http://co4.inrialpes.fr/xml/troeps.dtd">
%troepsDTD;

<!ENTITY % basic "xml:lang NMTOKEN #IMPLIED
                  xmlns:trp CDATA #FIXED 'http://co4.inrialpes.fr/xml/troeps.dtd'">
<!ENTITY % val "trp:VAL|trp:OBJREF|trp:SET|trp:LIST">
<!ENTITY % aval "trp:VAL|trp:OBJREF">

<!ENTITY % trentity "(trp:TRPKB|trp:CONCEPT|trp:KFIELD|trp:VIEW|trp:CLASS|trp:FILTER|trp:CFIELD|trp:BRIDGE|trp:OBJECT)">
<!ENTITY % trref "(trp:TRPKBREF|trp:CONCEPTREF|trp:KFIELDREF|trp:VIEWREF|trp:CLASSREF|trp:CFIELDREF|trp:BRIDGEREF|trp:OBJREF)">

<!ENTITY % traction "trp:ADD|trp:DEL|trp:ANNOTATE|trp:RENAME|trp:ATTACH|trp:SETVAL|trp:ADDVAL|trp:REMVAL|trp:UNSETVAL">

<!ELEMENT trp:PGM ((%traction;)*)>
<!ATTLIST trp:PGM base NMTOKEN #REQUIRED
                  %basic;>

<!ELEMENT trp:ADD %trentity;>

<!ELEMENT trp:DEL %trref;>

<!ELEMENT trp:ANNOTATE (%trref;,trp:CONTENT)>
<!ATTLIST trp:ANNOTATE label NMTOKEN #REQUIRED>

<!ELEMENT trp:RENAME %trref;>
<!ATTLIST trp:RENAME name NMTOKEN #REQUIRED>

<!ELEMENT trp:ATTACH (trp:OBJREF,trp:CLASSREF)>

<!ELEMENT trp:SETVAL (trp:OBJREF,(%val;))>
<!ATTLIST trp:SETVAL fieldname NMTOKEN #REQUIRED>

<!ELEMENT trp:ADDVAL (trp:OBJREF,(%aval;))>
<!ATTLIST trp:ADDVAL fieldname NMTOKEN #REQUIRED>

<!ELEMENT trp:REMVAL (trp:OBJREF,(%aval;))>
<!ATTLIST trp:REMVAL fieldname NMTOKEN #REQUIRED>

<!ELEMENT trp:UNSETVAL (trp:OBJREF)>
<!ATTLIST trp:UNSETVAL fieldname NMTOKEN #REQUIRED>

<!ELEMENT trp:CONTENT ANY>
