Lists Home |
Date Index |
----- Original Message -----
From: "John Evdemon" <firstname.lastname@example.org>
> On Friday, December 21, 2001 4:45 PM, Paul T wrote:
> > I tried using DTDs, I found that all the time it ends with writing
> > yet another validating layer.
> You'll need this with schema as well. XML Schema is not a substitute
> for business processes.
Exactly! The 'universal validator' is not possible ( neither is
'universal XML transfromer' ) that's why I think that
openness of the engine, balancing and binding is more
important than placing parts of interpreter inside the engine.
Nobody would use Yacc if the only thing Yacc would do
would be 'just validation' of something.
For some reason, with DTDs people claim that
'just validation' with DTDs or XSDs or whatever is
'all we need' for XML files. How come?
Yes, I've seen some attempts to bind Java with XSD, but
I don't really like what I saw.
That's why I say that I see no solution yet. Ideally,
the XML schema language could / should provide :
1. Inheritance and 'mutability' ( in the situation, when
Schemas get tweaked by different people and
maybe some parts of the schema come from one
website and the rest comes from another website
( webservices and B2B )
2. Binding ( knowledge that some text file matches
the schema is not enough. We need to do something
with the file and doing it from scratch, ignoring
the knowledge about the file structure that we
*already* got, when validating it , looks ... strange.
In regexprs this was solved with regexprs v 2 -
( Perl's $1 e t.c. )
3. Well-thought, minimal subset of the 'validation',
with the clear understanding that in the real life there
always be the next validating layer because
'universal business validator' is not possible,
so there is no need to put 'everything one
can think of' into the core. Like Yacc
needs more 'options' and 'types'. It does not,
because it is well balanced.
I have no solution to this entire puzzle and solving
just a part of it is not a solution, actually. Solving
just a part of the puzzle results in ill designed things,
like XPath. Of course SQL is not ideal, but when
designing the syntax, they have thought about the
updates. XPath does not care about the updates,
has made some syntax decisions that prevent
elegant updates and this mess now would be a problem
for a very long time.
So is with DTDs / XSD. They're not a solution.
I think DTDs and XSDs provide nice job security.
Like C++ does. Like COBOL does. So perhaps
they're a 'solution' in some sense. It would be stupid
to assume that most of software developers are idealists,
who only want to make this world a better place.
Idealists are rare, no matter what's the profession.