[Home] [By Thread] [By Date] [Recent Entries]


Hi Valeri,

> how matrix like example below can be discribed in XML schema in such
> way that actual number of rows and columns in XML file could be
> checked during the validation against this schema?

The only kinds of schema languages that will enable you to check this
kind of complex co-occurrence constraint are those that use
"rule-based validation" such as Schematron. W3C XML Schema (which is
what I guess you mean by XML schema) doesn't support these kinds of
constraints. In Schematron, you could do:

<sch:rule context="Matrix">
  <sch:assert test="Description/rows = count(row)">
    The number of rows in the Matrix must be the same as the value of
    the 'rows' element within the Description.
  </sch:assert>
</sch:rule>

<sch:rule context="row">
  <sch:assert test="../Description/columns = count(cell)">
    The number of cells in the row must be the same as the value of
    the 'columns' element within the Description of the Matrix.
  </sch:assert>
</sch:rule>

These Schematron rules can be embedded within a W3C XML Schema; see:

  http://www.topologi.com/public/Schtrn_XSD/Paper.html

and try using Topologi's Schematron validator:

  http://www.topologi.com/validator

to do the validation.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member