Subject: Re: [xsl] The output of evaluating an XSLT transform is the same regardless of the order in which output elements are evaluated. Right? From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Tue, 13 Apr 2010 20:29:17 -0700 |
Liam, Special cases like these just prove what I am saying... :) Yes, there can be parallel and independent evaluation... only this is not the rule. Cheers, Dimitre On Tue, Apr 13, 2010 at 6:35 PM, Liam R E Quin <liam@xxxxxx> wrote: > 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() B 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)) > B B 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* > { > B B 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 > B <a> > B B <b> > B B <c /> > B B </b> > 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 > > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- I enjoy the massacre of ads. This sentence will slaughter ads without a messy bloodbath.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] The output of evaluating , Liam R E Quin | Thread | Re: [xsl] The output of evaluating , Liam R E Quin |
Re: [xsl] The output of evaluating , Liam R E Quin | Date | Re: [xsl] The output of evaluating , Liam R E Quin |
Month |