Petri Net Markup Language schema
RELAX NG implementation of basic PNML
version: 1.3.2c
according to the paper by Billington et al
(c) 2001-2004
Michael Weber (mweber@informatik.hu-berlin.de),
Ekkart Kindler,
Christian Stehno (for the graphical elements)
A PNML document consists of one or more Petri nets.
A net has a unique identifier (id) and refers to
its Petri Net Type Definition (PNTD) (type).
The sub-elements of a net may occur in any order.
A net consists of several net labels (net.labels), several
objects (net.content), tools specific information, and a set of
graphical information in any order.
The net type (nettype.uri) of a net should be redefined in a PNTD.
A net may have unspecified many labels. This pattern should be used
within a PNTD to define the net labels.
A net object is either a place, or a transition, or an arc.
A place may have several labels (place.labels) and the same content
as a node.
A place may have unspecified many labels. This pattern should be used
within a PNTD to define the place labels.
A transition may have several labels (transition.labels) and the same
content as a node.
A transition may have unspecified many labels. This pattern should be
used within a PNTD to define the transition labels.
A node has a unique identifier.
The sub-elements of a node occur in any order.
A node may consist of grahical and tool specific information.
An arc has a unique identifier (id) and
refers both to the node's id of its source and
the node's id of its target.
In general, if the source attribute refers to a place,
then the target attribute refers to a transition and vice versa.
The sub-elements of an arc may occur in any order.
An arc may have several labels. Furthermore, an arc may consist of
grahical and tool specific information.
An arc may have unspecified many labels. This pattern should be used
within a PNTD to define the arc labels.
Currently, there is no content of the graphics element of net defined.
The sub-elements of a node's graphical part occur in any order.
At least, there must be exactly one position element.
Furthermore, there may be a dimension, a fill, and a line element.
The sub-elements of an arc's graphical part occur in any order.
There may be zero or more position elements.
Furthermore, there may be a fill and a line element.
An annotation's graphics part requires an offset element describing
the offset the lower left point of the surrounding text box has to
the reference point of the net object on which the annotation occurs.
Furthermore, an annotation's graphic element may have a fill, a line,
and font element.
A position element describes a Cartesian coordinate.
An offset element describes a Cartesian coordinate.
The coordinates are decimal numbers and refer to an appropriate
xy-system where the x-axis runs from left to right and the y-axis
from top to bottom.
A dimension element describes the width (x coordinate) and height
(y coordinate) of a node.
The coordinates are actually positive decimals.
A fill element describes the interior colour, the gradient colour,
and the gradient rotation between the colours of an object. If an
image is available the other attributes are ignored.
vertical
horizontal
diagonal
A line element describes the shape, the colour, the width, and the
style of an object.
line
curve
solid
dash
dot
This describes the type of a color attribute. Actually, this comes
from the CSS2 data type system.
A font element describes several font attributes, the decoration,
the alignment, and the rotation angle of an annotation's text.
The font attributes (family, style, weight, size) should be conform
to the CSS2 data type system.
underline
overline
line-through
left
center
right
The tool specific information refers to a tool and its version.
The further substructure is up to the tool and contains several elements.