Re: [xsl] Friday challenge: XSLT thats creates XPaths for meaningfully equivalent comparisons of XML files

Subject: Re: [xsl] Friday challenge: XSLT thats creates XPaths for meaningfully equivalent comparisons of XML files
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 13 Apr 2007 16:39:57 +0100
> I didn't see the reason to learn a new language for it to be
> converted into an XSLT 1.0 stylesheet that I could do a better job of
> writing myself.

actually I asked Rick J that very question (the day after he announced
the first schematron) or rather I asked if schematron was an "XSLT
generation tool" (in which case I wasn't that interested as I can write
xslt) or is it a schema language that happens to have an implementation
in XSLT. Rick's POV was strongly that it was the latter, and in fact
there are non xslt implementations, schematron assertions can be
embedded (and executed from) annotations in XSD and relax schemas where
tools may not allow exeuting arbitrary xslt, etc., but anyway why
generate checkXML rather than just generate the checking XSLT directly
doesn't the same description apply? (I'm guessing here what checkXML is,
from one example.)

> Also, (and don't flame me if I'm too wide of the mark here) the assert
> statements in XML Schema 1.1 will effectively make Schematron
> redundant.

Or offer confirmation that the XPath based assertion language approach
was good, depending on your point of view. It obviously has an overlap
but reduntant is probably too strong a word, some might say that relax
NG makes XSD schema redundant:-)

> I'm planning on taking mappings from the xml... I know this may not be
> the "correct" way, but I really think "/a:b/a:b" is an acceptable
> xpath when applied against an XML document where the user has supplied
> both the xpath and the xml document...

But what would you do if the document uses the same prefixes for
different namesaces (you may say no one does that, but a large part of
the complexity of namespaces is just to allow that to happen, so
presumably someone thought it a good idea) certainly re-using the
no-prefix default namespace is very common. In an
XHTML+MathML+SVG+XForms document you are quite likely to find all the
elements using no prefixes, with xmlns="..." used locally to switch
default as you go from html to svg to mathml
but a path of
/html//svg//math//mfrac
isn't going to work.

David

Current Thread