xsl-list
[Top] [All Lists]

Re: [xsl] Avoiding boneheaded mistakes in XSLT?

2010-12-29 17:36:50

Even without schema awareness/context, surely the processor can
tell when an xpath expression will result in zero match?


No, it's very rarely possible.

For example, consider

<xsl:template match="books">
<xsl:value-of select="book[1]/authour"/>
</xsl:template>

Even if you have a schema telling you that the children of books can include book but the children of book can't include authour, this doesn't tell you that this path will necessarily return nothing - because there is no way you can know that every books element that the stylesheet processes will be valid against this schema.

In fact it's quite common for a stylesheet to create intermediate results that (deliberately) aren't valid against the schema for the input or output document.

It would however be possible to make a guess that this is wrong, and issue a warning. Incorrect warnings are always very irritating, so this is not something to be done lightly, but it's something I've wanted to attempt for a long time.

Michael Kay
Saxonica




--~------------------------------------------------------------------
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>
--~--