[
Lists Home |
Date Index |
Thread Index
]
David Tolpin wrote:
> Relax NG validation is fast. Validating the same complete XSL FO 5
megabytes
> file against the full FO Relax NG schema (1590 lines -- converted
from a DTD) takes
> 4 seconds on my computer.
>
> All stylesheets from DocBook XSL distribution are validated against
XSLT schema
> in 1.2 seconds, all XSL FO stylesheets - in 0.35 seconds.
I don't mean to be too negative. Your idea is very elegance. And, of
course, you have written a fast parser to implement it with. But I feel
compelled to pass on Prof. Shmueli's advice: beware of simple examples.
Your proposal, like Clark's, invites the user to add rules over time,
which can build up like cholesterol until one fine day it takes 10
seconds to open a file and nobody understands why. ;-}
>>Again at a glance, it's hard to see why you would descend into the any
>>pattern since it accepts anything. All you care about is the namespace
>>on the start element.
>
> Not exactly. In the posted example, one rule checked for the list of
names
> of the document element, the other -- for the namespace of it. It was
done
> to show how this proposal covers the cases listed in the original one.
>
> Another pattern is for xsl stylesheets. It checks for occurence of an
element
> in the namespace at any place in the document.
>
> !valid {
> default namespace xsl = "http://www.w3.org/1999/XSL/Transform"
> start = element *-xsl:* {not-xsl}
> not-xsl = (element *-xsl:* {not-xsl}|attribute * {text}|text)*
> } => xslt
Nice example. Careful, though, or you'll start up a thread about how all
programming boils down to knowing that the negative of the universal
negative is the existential. ;-}
Stepping away for the performance issue, it still occurs to me that you
or Clark haven't made life as easy as it is for W3 XML Schema users in
some tools, where they can just specify a list of (namespace, schema
location) pairs - outside the documents, of course - and those will be
used not just to validate the start element of the document but any
elements in the document or schemas that bear one of the namespaces. One
could do it with Clark's by specifying that a rule invoked a NRL
"schema", but that's a whole lot of baggage for something that should be
simpler and more approachable.
Just a suggestion.
Bob Foster
http://xmlbuddy.com/
> David Tolpin
> http://davidashen.net/
|