Lists Home |
Date Index |
> 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
To say the truth, I've written a Relax NG validator. The parser is Expat.
And, thanks to the derivative (http://www.thaiopensource.com/relaxng/derivative.html)
approach, validation is faster than parsing.
> 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. ;-}
Right. Let the system spend 10 seconds to open a huge file with cryptic name
for the first time. It will then be added to the table (the exact name). If
I need that many rules to determine the file's type, then my brain would have to do
the same job. And slower. In fact, with early cutoff employed, I hardly imagine
And with all validation patterns processed concurrently, the validation would stop
as soon as one of them finds the 'any' pattern; or when all failed. Thus it will
not take much longer than the slowest single pattern.
> 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.
This is a completely different problem, but do you mean that XML Schema validation
is simpler and more approachable than NRL+Relax NG? Are you aware of any
conformant XML Schema implementation? Conformant enough to either confirm
that "." (that is, single decimal point) is a legal decimal, or force the WG
to fix the spec?
Don't get me wrong. I don't think that a simply-looking approach in a framework
that does not work is better than a simple by design approach that is implemented.