RE: [xsl] XSLT vs Schematron Decision: Sanity Check

Subject: RE: [xsl] XSLT vs Schematron Decision: Sanity Check
From: Norm Birkett <Norm.Birkett@xxxxxxxxx>
Date: Fri, 21 Oct 2011 12:34:26 -0400
Wendell and Phil,

Many thanks for your replies. Both very helpful.

Your point, Wendell, about Schematron's being a small enough language that
expert users can learn to work in it or very close to it is highly relevant to
this project. We have a small army of "business analysts" who write specs for
our programmers. These specs deal with data validation rules quite
extensively, and they tend to suffer from vagueness problems. Moreover, by the
time a project is completed, the developers have often negotiated changes to
the specs, which are not then consistently reflected in updates to the actual
spec documents--rendering the specs pretty worthless over time. So I'm looking
for ways to close up the loop a bit more tightly between spec and code, and if
we can shift spec-writing, at least as it relates to data validation, into
Schematron, it would help us toward that objective.

It remains to be seen whether the project will be approved, and whether I can
get the culture to accept Schematron in this way, but I'm hopeful. This
particular document pipeline is currently implemented in VB6, and a commitment
has been made to reimplementing it in C#, so I'm trying to argue that we can
use RELAX NG, Schematron, and XSLT to do the heavy lifting for us, and perhaps
improve our specification methodology and documentation in the process.

Thanks again for your input and your time.

Norm

> -----Original Message-----
> From: Philip Fearon [mailto:pgfearo@xxxxxxxxxxxxxx]
> Sent: Friday, October 21, 2011 4:53 AM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] XSLT vs Schematron Decision: Sanity Check
>
> Norm,
>
> As Wendell remarks, setting up Schematron on .NET to use ISO
> Schematron with an XSLT 2.0 implementation is relatively
> straightforwards.
>
> The code in this blog entry (I put up some time ago) shows how to do
> this using C# and Saxon.NET:
>
> http://sketchpath.blogspot.com/2010/06/iso-schematron-loader-for-
> saxonnet-and.html
>
> Phil Fearon
> http://qutoric.com
>
> On Wed, Oct 19, 2011 at 5:26 PM, Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
> wrote:
> > Norm,
> >
> > I know it's a week old, but I'll concur with Eliot.
> >
> > Schematron is so close to XSLT in a number of important respects that
> the
> > fact that it presents a different vocabulary isn't much of an
> impedence for
> > your purposes. (Really, in some ways it's just a wrapper for an XSLT
> > meta-application.) Plus, it's already tooled, saving you engineering
> costs.
> > Products like oXygen make using Schematron a breeze.
> >
> > As Eliot says, there are advantages that come from the separation of
> > concerns. In particular, expert users who are not expert in XSLT or
> even
> > XPath (which is core in Schematron as well as in XSLT) can be useful
> > participants in designing and even maintaining Schematron.
> >
> > Like XSLT, Schematron can be documented in line and processed in a
> > documentation pipeline. So there's no real difference there. In fact,
> done
> > right, the same set of stylesheets could process both XSLT and
> Schematron
> > for documentation purposes.
> >
> > Finally, given the right framework, Schematron can be enhanced with
> XSLT 2.0
> > logic (functions and templates), making it extremely powerful and
> much more
> > versatile than ISO Schematron out of the box. You should be able to
> set this
> > up in .NET assuming you have XSLT 2.0 at all.
> >
> > It sounds like you have your work cut out for you. But the
> architecture you
> > describe is sound, even "classical", in its outlines.
> >
> > Cheers,
> > Wendell
> >
> > On 10/13/2011 4:06 PM, Norm Birkett wrote:
> >>
> >> Eliot Kimber [mailto:ekimber@xxxxxxxxxxxx] wrote:
> >>>
> >>> I would tend to lean toward Schematron on the principle of
> separation
> >>> of
> >>> concerns, where the ownership of the rules for the data validation
> is
> >>> likely
> >>> different from the implementation of the transformation rules.
> >>
> >> A very useful point. Thanks, Eliot--and for your comments about
> .NET.
> >>
> >> Norm
> >
> > --
> >
> ======================================================================
> > Wendell Piez
>  mailto:wapiez@xxxxxxxxxxxxxxxx
> > Mulberry Technologies, Inc.
>  http://www.mulberrytech.com
> > 17 West Jefferson Street                    Direct Phone: 301/315-
> 9635
> > Suite 207                                          Phone: 301/315-
> 9631
> > Rockville, MD  20850                                 Fax: 301/315-
> 8285
> > ---------------------------------------------------------------------
> -
> >  Mulberry Technologies: A Consultancy Specializing in SGML and XML
> >
> ======================================================================

Current Thread