Lists Home |
Date Index |
James seems to be asking for a some kind of a static type guarantee,
where it would be impossible to write an XSLT stylesheet that
produced a namespace error. Or where, at least, XSLT could be asked
to automatically ensure that its output would have all needed
namespace declarations, and the transform writer could be completely
unaware of the machinery of prefixes, etc.
This would be useful, but unless optional, it would make it harder
for people to create stylesheets that produce non-namespaced, or
There are even bigger holes in the XSLT type system, such as the
ability to emit unescaped markup -- of course those are intended to
solve tough problems (or enable quick hacks, depending on your
perspective), and so their use is quite clearly marked.
There is very interesting work being done on transformation languages
that use type checkers to make guarantees about their output. This
isn't past the research phase at this point.
Practitioners often prefer tools that let them make errors if those
errors are the consequence of extra power. Practically, we will see
how big a problem it is that one needs to be careful care in creating
namespace declarations in transformations.
At 2:43 PM +0100 4/12/02, David Carlisle wrote:
>At 3:39 PM +0200 4/12/02, james anderson wrote:
>>given this expression, and given that this expression may itself be the
>>result of an arbitrary computation, i cannot predict that a transform
>>applied to the expression of a transform will produce a usable result.
>The result of an XSLT transform is entirely deterministic at the level
>of input tree to result tree. There is some allowed variability in the
>way the input tree can be constructed from an XML file (order of
>attributes for example) and there is some similar essentially cosmetic
>variability in the way the result may be serialised.
>Given that, I can't see why you should not be able to predict (or even
>specify exactly) what the result of any transform will be.
David Durand | 12 Bassett St.
email@example.com | Providence RI, 02903-4628 USA
VP, Software Architecture | 401-331-2014 x111 Cell: 401-935-5317
ingenta plc | FAX: 401-331-2015