[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XSLT result tree fragment, with XSLT 3.0 and xsl:
At 2023-04-11 19:46 +0000, you wrote:
On Tue, 11 Apr 2023 at 20:22, G. Ken Holman g.ken.holman@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Dave, are you thinking of sosofos? Specification of a sequence of flow objects? Actually, no. I think a sosofo is more like a sequence constructor. In fact, in DSSSL I think *everything* is a sequence constructor. I cannot think of any DSSSL syntax where the result tree was manifest in the syntax as result markup/nodes. In XSLT a result tree fragment is expressed most often as the desired result manifest in input markup, though of course one can use instructions to dynamically build parts of the fragment. I recall DSSSL coding being labourious in the verbosity of the sosofo. XSLT is so much more efficient by the manifest syntax. . . . . . Ken regardsrationale for> > > why the spec says what is says (implementation problems?) > > > > > > > > > to which Oren Ben-Kiki responded: > > > > > > This was discussed in this mailing list; the main reason given was that by > > > limiting XSLT to a "single pass" it would be easier to implement > > > "incremental" XSLT processors. Such processors are deemed important was> > > editors etc. I don't know whether this was in fact the main reason for it - > > > and we wouldn't know unless some WG member confirms it. > > > > > > I personally don't buy this reason because (i) even a single pass > > > incremental XSLT processor is very hard to do > > and (ii) even with the current > > > restricted spec it is possible to write a multi-pass stylesheet. In fact > > > XSLT has hit the Turing-complete limit and attempts to justify all sort of > > > restrictions in order to allow "automatic reasoning" of various types on it > > > are pretty much futile. This is not to say that incremental processors or > > > other form of automatic reasoning on XSLT > > stylesheets would not be available > > > in practice; it is just that such tools would by necessity be limited to > > > "simple enough" stylesheets. > > > > > > [The idea of "incremental" XSLT processors was, I think, that if you made a > > > small change to the source document, the XSLT processor would be able to > > > make corresponding adjustments to the result document without re-evaluating > > > the whole stylesheet. Of course, that never happened.] > > > > > > As soon as XSLT 1.0 came out, it became rapidly clear that the restriction > > > on result tree fragments was a great nuisance; and while the xx:node-set() > > > extension function provided a workaround, a new version of the spec should > > > combine node-sets and result tree fragments into a single data type. Making > > > this work in a backwards compatible way was > > not easy; a lot of the key ideas > > > came from Jeni Tennison. But a key part of > > the solution was a paradigm shift: whereas > > > in 1.0 instructions were described as being > > "instantiated", which caused things > > > to be "created" or "output", in 2.0, > > instructions were evaluated to return a result, > > > thus behaving in a much more "functional" way. > > > > > > Associated with this, XSLT 1.0 described a sequence of instructions as a > > > "template", but no-one ever used this terminology, because the term > > > too closely associated with template rules and named template. Thenew wrote:> > > name "sequence constructor" was my invention. > > > > > > Michael Kay > > > Saxonica > > > > > > > > > > On 11 Apr 2023, at 16:05, Mukul Gandhi > > mukulg@xxxxxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> 3.0).> > > > > > > > Hi Wendell, > > > > > > > > On Tue, Apr 11, 2023 at 7:09b/PM Piez, > > Wendell A. (Fed) wendell.piez@xxxxxxxx > > <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > > > > > > The essential difference is that you were > > not allowed in *unextended* XSLT 1.0 to treat > > the fragment like a tree. In 2.0 you were invited to do so. > > > > > > > > I think, its certainly more useful as an > > XSLT language, to treat the fragment like a > > tree by default (as you rightly wrote). This > > helps us solve, more kinds of XML > > transformation use cases, with the standard XSLT language (2.0 and > > > > > > > > > > > > -- > > > > Regards, > > > > Mukul Gandhi > > > > XSL-List info and archive > > > > EasyUnsubscribe (by email) > > > > > > > > > > > >-- > >Dave Pawson > >XSLT XSL-FO FAQ. > >Docbook FAQ. > > -- Contact info, blog, articles, etc. http://www.CraneSoftwrights.com/s/ | Check our site for free XML, XSLT, XSL-FO and UBL developer resources | Streaming hands-on XSLT/XPath 2 training class @US$125 (5 hours free) | Essays (UBL, XML, etc.) http://www.linkedin.com/today/author/gkholman |
|
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
|