1 <!-- effect.dtd - DTD to model effects of external procedures inside firm. -->
4 <!-- upload this file to http://www/~firm/ after making changes -->
6 <!-- content model for all nodes -->
7 <!-- allow nodes/entity accesses to reference other nodes/an entity -->
8 <!ENTITY % firm.id "id ID #REQUIRED">
10 <!-- allow a node to specify a type -->
11 <!ENTITY % firm.type "type CDATA #REQUIRED">
13 <!-- allow a node to specify a field -->
14 <!ENTITY % firm.entity "entity CDATA #REQUIRED">
16 <!-- the root element -->
17 <!ELEMENT effects (type*, entity*, effect*)>
19 module CDATA #IMPLIED>
21 <!-- an entity reference -->
27 <!-- an entity reference -->
28 <!ELEMENT entity EMPTY>
34 <!-- a single effect -->
35 <!ELEMENT effect (arg*, (load|store|alloc|call|join|unknown)*, raise?, ret)>
37 procname CDATA #REQUIRED>
39 <!-- procedure argument -->
43 number CDATA #REQUIRED>
45 <!-- reference another value -->
46 <!ELEMENT valref EMPTY>
48 refid IDREF #REQUIRED>
51 <!-- for static entities, use a 'select' without a child element -->
52 <!ELEMENT select (valref?)>
53 <!ATTLIST select %firm.entity;>
56 <!ELEMENT load (select)>
61 <!ELEMENT store (select,valref)>
64 <!ELEMENT alloc EMPTY>
65 <!ATTLIST alloc %firm.id;%firm.type;>
68 <!ELEMENT call (select,(valref)*)>
69 <!ATTLIST call %firm.id;>
71 <!-- unknown value -->
72 <!ELEMENT unknown EMPTY>
73 <!ATTLIST unknown %firm.id;>
75 <!-- join two or more values -->
76 <!ELEMENT join (valref,valref+)>
77 <!ATTLIST join %firm.id;>
79 <!-- raise an exception -->
80 <!ELEMENT raise (valref)>
81 <!ATTLIST raise %firm.type;>
84 <!ELEMENT ret (valref?)>
89 Revision 1.6 2004/10/11 09:55:19 liekweg
90 Renamed 'return' to 'ret' -flo
92 Revision 1.5 2004/10/05 16:19:04 liekweg
93 Grrr, CVS still messes up XML comments
95 Revision 1.4 2004/10/05 16:18:06 liekweg
96 Grrr, CVS messes up XML comments
98 Revision 1.3 2004/10/05 16:17:22 liekweg
101 Revision 1.2 2004/10/05 15:46:59 liekweg
102 Added comment about this DTD's public location -flo
104 Revision 1.1 2004/10/05 14:34:13 liekweg
105 Added DTD for external effects description -flo