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.7.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.7.2"
appVersion CDATA "0.7.2"
>
<!ELEMENT diagramInfo>
<!ATTLIST diagramInfo
value CDATA
>
<!-- =================================================================== -->
<!-- Diagram structural model -->
<!-- -->
<!-- General comments: -->
<!-- All diagram elements (compartmentInfo, node and edge) have kernel -->
<!-- and id attributes: -->
<!-- -->
<!-- kernel - this attribute contains complete path for data element -->
<!-- used as kernel; currently path is relative module. -->
<!-- id - generally diagram element name is kernel name, -->
<!-- but if diagram element name differs from kernel name, -->
<!-- then it should be stored as id attribute. -->
<!-- -->
<!-- =================================================================== -->
<!ELEMENT diagram (compartmentInfo, nodes, edges)>
<!--
"diagramType" attribute contains name of Java class
->
<!ATTLIST diagram
diagramType CDATA #REQUIRED
>
<!ELEMENT compartmentInfo (image?)>
<!--
"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
id CDATA
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?)>
<!-- Currently background attributes are used only for notes. -->
<!ATTLIST node
kernel CDATA #REQUIRED
kernel_type CDATA
id CDATA
title CDATA
comment CDATA
x CDATA #IMPLIED
y CDATA #IMPLIED
width CDATA
height CDATA
background_visible CDATA "false"
background_color CDATA
>
<!ELEMENT image>
<!ATTLIST image
src CDATA #REQUIRED
width CDATA
height CDATA
hideTitle CDATA "false"
>
<!ELEMENT edge>
<!ATTLIST edge
kernel CDATA #REQUIRED
in CDATA #REQUIRED
out CDATA #REQUIRED
id CDATA
title CDATA
comment CDATA
inPort CDATA
outPort CDATA
>
<!ENTITY % segmentType "(moveTo|lineTo|quadTo|cubicTo|close)">
<!-- DML path concept is based on Java java.awt.geom.GeneralPath concept.
Path represents a geometric path constructed from straight lines,
and quadratic and cubic (Bézier) curves.
Currently only straight lines (segment types moveTo and lineTo)
are supported. -->
<!ELEMENT path (segment)+>
<!ELEMENT segment>
<!ATTLIST segment
type segmentType #REQUIRED
x0 CDATA
y0 CDATA
x1 CDATA
y1 CDATA
x2 CDATA
y2 CDATA
>
<!-- =================================================================== -->
<!-- Executable model -->
<!-- =================================================================== -->
<!ELEMENT executableModel (parameter*, variable*, equation*)>
<!ATTLIST executableModel
class CDATA #REQUIRED
initialTime CDATA #REQUIRED
completionTime CDATA #REQUIRED
comment CDATA
>
<!ELEMENT parameter>
<!ATTLIST parameter
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
>
|