BioUML diagram markup language (DML), v. 0.9.2
This is DTD for BioUML diagrams markup language.
This format is used by BioUML workbench to store diagrams. Diagram structure description is divided into two parts:
- diagram structure model - it describes the graph structure, location of diagram elements and database objects ('kernels') that are associated with diagram elements.
- executable model - stores mathematical model associated with graph.
<!-- BioUML diagrams markup language (DML) v. 0.9.2 -->
<!ELEMENT dml (diagramInfo?, diagram, executableModel?)>
<!--
"version" attribute contains version of the language
"appVersion" attribute contains version of BioUML that has created this file -->
<!ATTLIST dml
version CDATA "0.9.2"
appVersion CDATA "0.7.0"
>
<!ELEMENT diagramInfo>
<!ATTLIST diagramInfo
value CDATA
>
<!-- =================================================================== -->
<!-- Diagram structural model -->
<!-- =================================================================== -->
<!ELEMENT diagram (compartmentInfo, nodes, edges)>
<!--
"diagramType" attribute contains name of Java class
->
<!ATTLIST diagram
diagramType CDATA #REQUIRED
>
<!ELEMENT compartmentInfo (image?)>
<!--
"kernel" attribute contains complete path for data element used as kernel;
currently path is relative module/Data
"shape" attribute possible values are: 0-rectangle; 1-round_rectangle; 2-oval
-->
<!ATTLIST compartmentInfo
kernel CDATA #REQUIRED
x CDATA #REQUIRED
y CDATA #REQUIRED
width CDATA #REQUIRED
height CDATA #REQUIRED
title CDATA
comment CDATA
shape CDATA "0"
color CDATA "255, 255, 255"
>
<!ELEMENT nodes (compartment|equivalentNodeGroup|node)*>
<!ELEMENT edges (edge)*>
<!ELEMENT compartment (compartmentInfo, nodes, edges)>
<!ATTLIST compartment
>
<!ELEMENT equivalentNodeGroup (compartmentInfo, nodes, edges)>
<!--
"representative" attribute contains name of kernel used as representative
-->
<!ATTLIST compartment
representative CDATA #REQUIRED
>
<!ELEMENT node (image?)>
<!ATTLIST node
kernel CDATA #REQUIRED
title CDATA
comment CDATA
x CDATA
y CDATA
>
<!ELEMENT edge>
<!ATTLIST edge
kernel CDATA #REQUIRED
in CDATA #REQUIRED
out CDATA #REQUIRED
title CDATA
comment CDATA
inPort CDATA
outPort CDATA
>
<!ELEMENT image>
<!ATTLIST image
src CDATA #REQUIRED
width CDATA
height CDATA
hideTitle CDATA "false"
>
<!-- =================================================================== -->
<!-- Executable model -->
<!-- =================================================================== -->
<!ELEMENT executableModel (constant*, variable*, equation*)>
<!ATTLIST executableModel
class CDATA #REQUIRED
initialTime CDATA #REQUIRED
completionTime CDATA #REQUIRED
comment CDATA
>
<!ELEMENT constant>
<!ATTLIST constant
name CDATA #REQUIRED
value CDATA #REQUIRED
units CDATA
comment CDATA
>
<!ELEMENT variable>
<!-- "diagramElement" attribute - diagram element name (relative Diagram) -->
<!ATTLIST variable
diagramElement CDATA #REQUIRED
initialValue CDATA "0.0"
boundaryCondition CDATA "false"
showInPlot CDATA "true"
plotLineSpec CDATA "-"
units CDATA
comment CDATA
>
<!ELEMENT equation>
<!--
"diagramElement" attribute - diagram element name (relative Diagram)
"type" attribute - equation type. Possible values are: algebraic, rate or scalar.
-->
<!ATTLIST equation
diagramElement CDATA #REQUIRED
variable CDATA #REQUIRED
formula CDATA #REQUIRED
type CDATA "rate"
units CDATA
comment CDATA
>
