Re: Avoiding boneheaded mistakes in XSLT?
Even without schema awareness/context, surely the processor can tell when an xpath expression will result in zero match?
some things, like /.. but not things like the example at the start of the thread where you go foo/node instead of foo/node()
and most instances of /.. even though it can never select anything are not an error, as it was a common xslt 1 idiom for an empty node set equivalent to xpath2's () and it is often still used now, out of habit, or copying old tutorials.
something like schematron relies on you being able to match things that should not be there, so it can report when they are there.
the html schema will tell you you can't have two <body> children of <html> but that doesn't tell you that html/body will not select anything unless your processing environment ensures that all input is validated, and not passed to xslt if it is not valid. that is not the most common xslt processing model.
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format