<?xml version="1.0" encoding="UTF-8" ?>
<!-- rco.dtd -->

<!ENTITY % naming "name NMTOKEN #REQUIRED">
<!ELEMENT RCOKB ((CLASS|OBJECT)*)>
<!ATTLIST RCOKB %naming;>

<!-- External types and values -->
<!ELEMENT TYPE EMPTY>
<!ATTLIST TYPE id NMTOKEN #REQUIRED>

<!ELEMENT CLASSREF EMPTY>
<!ATTLIST CLASSREF %naming;>
<!ELEMENT CLASS (FIELD*)>
<!ATTLIST CLASS %naming; specialises NMTOKEN #IMPLIED>

<!ELEMENT FIELD ((TYPE|CLASSREF)?,DESCRIPTOR*)>
<!ATTLIST FIELD %naming; constructor (elt|set|list) "elt">

<!ELEMENT DESCRIPTOR ANY>
<!ATTLIST DESCRIPTOR %naming;>

<!ELEMENT OBJECT (CLASSREF*,ATT+)>
<!ATTLIST OBJECT class	NMTOKEN	#REQUIRED>
<!ELEMENT OBJREF (ATT+)>
<!ATTLIST OBJREF class	NMTOKEN	#REQUIRED >

<!ELEMENT ATT ANY>
<!ATTLIST ATT %naming;>
