1 <!-- effect.dtd - DTD to model effects of external procedures inside firm. -->
3 <!-- content model for all nodes -->
4 <!-- allow nodes/entity accesses to reference other nodes/an entity -->
5 <!ENTITY % firm.id "id ID #REQUIRED">
7 <!-- allow a node to specify a type -->
8 <!ENTITY % firm.type "type CDATA #REQUIRED">
10 <!-- allow a node to specify a field -->
11 <!ENTITY % firm.entity "entity CDATA #REQUIRED">
13 <!-- the root element -->
14 <!ELEMENT effects (type*, entity*, effect*)>
16 module CDATA #IMPLIED>
18 <!-- an entity reference -->
24 <!-- an entity reference -->
25 <!ELEMENT entity EMPTY>
31 <!-- a single effect -->
32 <!ELEMENT effect (arg*, (load|store|alloc|call|join|unknown)*, return)>
34 procname CDATA #REQUIRED>
36 <!-- procedure argument -->
40 number CDATA #REQUIRED>
42 <!-- reference another value -->
43 <!ELEMENT valref EMPTY>
45 refid IDREF #REQUIRED>
48 <!-- for static entities, use a 'select' without a child element -->
49 <!ELEMENT select (valref?)>
50 <!ATTLIST select %firm.entity;>
53 <!ELEMENT load (select)>
58 <!ELEMENT store (select,valref)>
61 <!ELEMENT alloc EMPTY>
62 <!ATTLIST alloc %firm.id;%firm.type;>
65 <!ELEMENT call (select,(valref)*)>
66 <!ATTLIST call %firm.id;>
68 <!-- unknown value -->
69 <!ELEMENT unknown EMPTY>
70 <!ATTLIST unknown %firm.id;>
72 <!-- join two or more values -->
73 <!ELEMENT join (valref,valref+)>
74 <!ATTLIST join %firm.id;>
76 <!-- return effect -->
77 <!ELEMENT return (valref?)>
80 <!-- Revision 1.1 2004/10/05 14:34:13 liekweg
81 <!-- Added DTD for external effects description --flo