#### Introduction

Core SBML has an XML syntax, so it is composed
from XML elements. Any network of Core SBML
contains a set of `variable`

and
`reaction`

elements. Species are
special types of variables. Each reaction has
linear combination of reactants and
a linear combination of products. Reactants
and products must always be variables
of type `species`

. A reaction
also has a set of modifiers, which are variables
of any type.

Each reactions has a kinetic expression, which
is a arithmetic expressions that is build from the variables
and the usual arithmetic functions. Furthermore, kinetic
expressions may use macros for subexpresssions that
are defined by `expression`

elements. They may also contain application of
arithmetic functions that are defined by
the network's `function`

elements.

Any Core SBML network can be drawn as a graph that
is bipartite. The `variable`

elements yield
the variable nodes, while the reaction
elements constitute its reaction nodes
of the graph of a network,
Variable nodes are drawn as circles and
reaction nodes as boxes, following the
usual notions coming from Petri nets.
The reactants, products, and modifiers
define the
edges of the network's graph. The edge
go from the nodes of reactants and modifiers to
the nodes of reactions and from the nodes
of reactions to the nodes of products.

Any Core SBML network contains a set of `event`

elements
that describe possible changes of the values of variables
controlled by differential equations.
Finally, it may also contain `comment`

and `edgecluster`

elements that serve to
represent the edges of the network's graph
in a clustered manner.