Parser
Initial Markings
Parsed into PnmlExpr expressions in a Place. Place/Transition Petri net and Continuous net markings are treated as <numberconstant>. Allows same machanism to be used for all flavors of nets after parsing.
Marking is a ground term and is used to give a Petri net marking vector an initial value.
Unclaimed Labels
XML tags that are not 'claimed' are recursively parsed into a XmlDictType by Parser.xmldict.
See AnyElement, Parser.anyelement, PnmlLabel
AnyElement
Main use case if for ToolInfo content. The standard allows any well-formed XML. Only the intended tool needs to understand the content.
TODO Implement a ToolInfo for PNML.jl extensions.
PnmlLabel
Applies label semantics to a XmlDictType. Used for not-yet-implemented labels. Many of the labels used for high-level many-sorted algebra have not been implemented.
See rate_value for a use case.
Structure of High-level Annotation
Schematic of annotation label:
- text
- structure
- Term
- subterm
- Term (its alternating subterm Term all the way down)
- subterm
- Term
- toolspecific
- graphics