xsl-list
[Top] [All Lists]

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

2008-03-24 10:04:20
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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>