RE: [xsl] XPath 2.0 Best Practice: wrap the first node of every path expression within schema-element?

Subject: RE: [xsl] 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

Current Thread