cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivelin Ivanov" <>
Subject Re: [Announcement] Fast Schematron Validation Here ! [Re: Cocoon form handling]
Date Sun, 31 Mar 2002 02:39:36 GMT


There's no doubt the Phases concept is essential to Schematron's success and
a definite advantage over XSD and Relax which, as you said, require
"proprietory handwaving" when it comes to partial document validation.

Have you been following the discussion with Kohsuke on a possible JARV
If you had a chance to see the JARV API, my source code and probably
Torsten's API, maybe you can elaborate on a possible higher level validation
API which will encompass multiple schemas.



----- Original Message -----
From: "Rick Jelliffe" <>
To: <>
Cc: <>
Sent: Friday, March 29, 2002 9:33 PM
Subject: Re: [Schematron-love-in] Re: [Announcement] Fast Schematron
Validation Here !

From: "Ivelin Ivanov" <>

> I mean browser, client. Different browsers (PC, PDA, cell-phone, etc.) may
> support different human interfaces and therefore the document may be split
> into different pieces which are gathered and put together at the end.
> The validation of the pieces at each stage is device/client dependent.
> Is the question more clear?

Yes, certainly you could use Schematron <phase>s to validate
device-dependent constraints.

<Phase>s reconstruct the conditional section features of XML DTDs,
("INCLUDE/IGNORE marked sections") which allow you to customize
a DTD to get variants.  XML Schemas and RELAX do not have any equivalent.

The kinds of uses I imagine for phases include
  * versions (e.g. parallel variants)
  * pipe-line processing (e.g. serial variants)
  * variant processing (e.g. device-dependencies and fan-outs)
  * partial processing (e.g. documents under construction)
  * state-dependent processing (e.g. where the results of one
       phase are used by some proprietary system to switch to
       a different phase for further validation)

Critics of phases bleat that one can do the same thing with
different schemas, but the point is that with Schematron
<phase>s they become first-class objects capable of being
manipulated rather than proprietory handwaving :-)

In Topologi's freebie Schematron Validator (and in our
forthcoming Collaborative Markup Editor) we just make
a popup menu for the user to select the particular phase
to run when validating. Very straight-forward to use.

All in all, I think phases are a useful mechanism which
are trivial to implement and write, so they fit into
Schematron's `low-hanging fruit' approach well.

Rick Jelliffe

Schematron-love-in mailing list

To unsubscribe, e-mail:
For additional commands, email:

View raw message