[Israel.pm] Talk proposal: defining co-constraints in XML Schemas

Yona Shlomo yona at cs.technion.ac.il
Wed Jan 10 01:11:26 PST 2007


An XML document is said to be valid if it complies with a
set of various kinds of constraints. At the very minimum
this usually means that the logical structure of the
document has to conform to a grammar (a set of structural
constraints), such as those that can be defined using XML
Schema (but also using DTD, RELAX-NG, Schematron and

Additionally, the elements and attributes of the document
may be subject to complex rules constraining the set of
their legal data-values (data-values constraints).

Furthermore, the document may be subject to co-constraints.
A co-constraint is a rule governing the content of an
element or attribute based on the presence or values of
other attributes and elements. An example of co-constraint:

 	if element X has an attribute Y then its content
 	must be empty, otherwise its content must satisfy
 	the content model of the type of X.

Since XML Schema does not address co-constraints, such
constraints must be enforced externally to the validation
process. SchemaPath is a conservative addition to XML Schema
which extends XML Schema and allows it to also enforce

(See: http://tesi.fabio.web.cs.unibo.it/Tesi/SchemaPath)

Any interest?

Shlomo Yona
yona at cs.technion.ac.il

More information about the Perl mailing list