additions to XSLT

	
Suppose that X = {A, B, C, ...} is a set of tree transformation
operators. Each of A, B, C, ... takes a tree as input and produces
a tree as output. One can functionally compose these operators
to form arbitrarily complex tree-manipulating expreesions. For example
A(B(C(A(T)))) is one such expression, assuming that T is a tree.

How can one express such a manipulation using XLST? Suppose that each
of the operators A, B, C, ... can be implemented using XLST stylesheets.
Then it seems to me that the only way to express complex expressions
(please correct me if I am wrong) is by applying such stylesheets 
one at a time, and by creating intermediate trees. This process can 
be prohibitively expensive, especially if intermediate tree are written
to disk files. 

Of course, one may be able express a given manipulation
using a single stylesheet if one understands the effects of the given 
composition of A, B, and C. In general, however, it would be quite
difficult/impossible to express an arbitrary tree manipulation using 
a single XSLT stylesheet. 

I think that it would be a good idea to extend XLST such that 
template rules can be applied to intermediate trees that are produced
by other template rules in the same stylesheet. That is, template
rules don't necessarily have to refer to the (same) input tree. 

Here is a second suggestion for a possible extension to XSLT. It
would be quite useful if a stylesheet can operate on more than one
input trees at a time. For example, in the tree manipulation that I 
mentioned above, suppose that the operator A operates on two trees. 
Then I should be able to write a stylesheet that implements the tree 
expression A(B(C(A(T1,T2))),T3), where T1, T2, and T3 are trees.

Arun

---------------------------------------------
Arun Marathe                   PhD (Waterloo)
Open Text Corporation
185 Columbia Street West 
Waterloo, ON N2L 5Z5, Canada
519-888-7111 x2649

Received on Thursday, 14 June 2001 23:44:12 UTC