Re: decoupling XSLT streaming recommendations from the main spec

Mukul Gandhi <gandhi.mukul@gmail.com> writes:
> From my point of view, I think that, having a large body of
> streaming/performance related recommendations within main body of the
> spec, makes the primary functional intent of the spec, difficult to
> comprehend.

If we wanted to split streamability into a separate spec, as a practical
matter, I wonder what would change?

I opened up the 3.0 spec and searched for “streaming”.

* One might possibly move 2.11, 2.12, and 2.13 to a new spec
* Section 4.6 could probably be moved

Then we get to 6.6.1 where xsl:mode has a “streamable” attribute.

What do we do here (and in all the similar places)?

1. We could remove the “streamable” attribute from the tableaux and all
   mentions of it from the description of xsl:mode. 

   On the one hand, that would make the spec “simpler” for readers who
   want to ignore streaming. But what happens when a user comes across a
   stylesheet that has a “streaming” attribute on xsl:mode? That’s
   confusing.

   Also, what does the streamability spec do? Does it reproduce the
   entire tableaux, or does it just include the new attribute(s)? If
   it’s the entire tableaux, does it include the descriptions of all the
   attributes, or just the new ones? If it’s just the new ones, readers
   have to look at both specs to understand what attributes are actually
   available.

2. If we leave the “streamable” attribute in the tableaux, then we
   surely have to leave the descriptions in place.

   So now the spec isn’t “simpler” for the reader who wants to ignore
   streaming, but at least everything is in one place.

Neither of those options seems ideal to me.

There are other paragraphs that mention streaming, and I suppose one
might like to excise them all. But I fear that’s going to make streaming
*a lot* harder to describe and understand.

On balance, my feeling tends towards the view that it’s a language
specification, not a user’s guide. I remain of the opinion that it would
be very difficult to justify expending the editorial effort required to
split the spec. And on reviewing what it would mean, I’m not at all
persuaded that the result would really be of benefit.

If what the world needs is a “XSLT 4.0 User’s Guide for Users Who Don’t
Care about Streaming”, maybe we should pesuade Mike to write one (/me
ducks).

                                        Be seeing you,
                                          norm

--
Norm Tovey-Walsh
Saxonica

Received on Thursday, 22 September 2022 09:58:03 UTC