[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: The output of evaluating an XSLT transform is the
On Tue, 2010-04-13 at 10:12 -0700, Dimitre Novatchev wrote: > [...] The evaluation of > > f(g(x)) > > requires that g(x) be evaluated, before f() can be evaluated. If f() takes a sequence as an argument, and g() produces a sequence, and each item in the result of f() depends only on the corresponding item in g(), then you can decompose f(g(x)) for $i in g(x) return f($i) in other words, evaluating f of g of each item in th sequence in turn. And given function f($input as item*) as item* { return $nput[1] } it's not necessary to evaluate g(x) further than necessary to generate one single item. > There are datatypes that (by definition) impose a particular ordering > on their processing. Take a list. in order to access the Nth item one > needs to get the tail of the list and then acces its N-1st item. The > Nth item is the head of the N-1st tail in this processing. XSLT does not, however, mandate such data structures. It's perfectly possible to implement an n-item sequence as an array, such that accessing the nth item is O(1) in complexity. > Also, a child cannot be born before its parents are born. Given <a> <b> <c /> </b> </a> as a literal element constructor, an implementation is free to construct the result in any order. The oldest man in the Bible died before his father ;) Best, Liam -- Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ Pictures from old books: http://fromoldbooks.org/ Ankh: irc.sorcery.net irc.gnome.org www.advogato.org
|
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
|