Subject: RE: XPath 2.0 Best Practice: wrap the first node of every path expression within schema-element?
From: "Costello, Roger L." <costello@xxxxxxxxx>
Date: Mon, 24 Mar 2008 13:03:47 -0400
|
Hi Folks,
I have a question regarding a statement that Michael Kay made last
Friday. See below.
> > > 2. At compile-time the processor will detect errors in the path
> > > expression:
> > >
> > > 2.1 Misspelling errors: these spelling errors are caught:
> > >
> > > /schema-element(Book)/Authr/LastName (Author is
misspelled)
> > >
> > > /schema-element(Book)/Author/LastNam (LastName is
misspelled)
> > >
> > > 2.2 Structural errors: suppose the in-scope schema indicates
that
> > > the only children of Author are FirstName and LastName;
this
> > > error will be caught:
> > >
> > > /schema-element(Book)/Author/Foo (Foo is not a valid
child of Author)
Martin Honnen asked:
> > Is that something that the XSLT/XPath specification requires
> > that these problems are reported as errors? I don't think
> > AltovaXML does report such problems although it is a schema
> > aware XSLT 2.0 processor.
Michael Kay responded:
> No, the specification doesn't require these to be reported as errors.
In
> fact, Saxon reports them as warnings. I think that catching these
mistakes
> is one of the main benefits of schema-awareness, but the amount of
checking
> that is done is processor-dependent.
A schema-aware processor is not required to generate an error or a
warning for the above examples?
Apparently, from what Martin states, AltovaXML is schema-aware but
would not generate an error or a warning on the above examples.
(Martin, can you confirm this?)
If a processor is schema-aware and does not generate an error or a
warning on path expressions such as the above, then what value does the
schema-element function have?
/Roger
|