namespace dc = "http://purl.org/dc/elements/1.1/"
namespace dcterms = "http://purl.org/dc/terms/"
dc:title [ "RuleML Equations" ]
dc:version [ "1.0.01" ]
dc:creator [ "Tara Athan (taraathan AT gmail.com" ]
dc:subject [ "RuleML, equals, equality, equations" ]
dc:description [ "The expansion module for equations." ]
dc:date [ "2012-02-23" ]
dc:language [ "en" ]
dcterms:rights [ "LGPL-3.0" ]
dc:relation [ "http://wiki.ruleml.org/index.php/Relax_NG" ]
start |= Equal.Node.def | left.edge.def | right.edge.def
Node.choice |= Equal.Node.def
edge.choice |= left.edge.def | right.edge.def
# This module declares the following RuleML elements and attributes:
# *
# *
# *
# leftTerm.choice
# rightTerm.choice
## an extension point for alternate spellings and internationalization of the equation tag name.
Equal-node.choice |= Equal.Node.def
## An equational formula consisting of two expressions, each of which contains an argument and may be optionally surrounded
## by a left () or a right () role.
## The children of the equation element are divided into two sections, a header section for modifiers, and a main section for the formulas on either side of the equation.
Equal.Node.def =
## : an equation between two terms. See
## http://www.ruleml.org/1.0/glossary/#gloss-Equal
element Equal {
(Equal-datt.choice & reEqual.attlist),
Equal.header,
Equal.main
}
## Equations contain a pair of terms, a left-hand side and a right-hand side.
Equal.main |= leftSide-edge.choice, rightSide-edge.choice
## an extension point for stripe skipping as well as alternate spellings and internationalization of the left-hand side tag name in equations.
leftSide-edge.choice |= left.edge.def
left.edge.def =
## : The left-hand side of an equation. See
## http://www.ruleml.org/1.0/glossary/#gloss-left
element left { left.attlist? & left.content }
## The left-hand side role in an equation is filled by a term.
left.content |= leftTerm.choice
## an extension point for stripe skipping as well as alternate spellings and internationalization of the right-hand side tag name in equations.
rightSide-edge.choice |= right.edge.def
right.edge.def =
## : The right-hand side of an equation. See
## http://www.ruleml.org/1.0/glossary/#gloss-right
element right { right.attlist? & right.content }
## The right-hand side role in an equation is filled by a term.
right.content |= rightTerm.choice
## terms allowed in the left-hand side of an equation
leftTerm.choice |= AnyTerm.choice
## terms allowed in the right-hand side of an equation
rightTerm.choice |= AnyTerm.choice