[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xml-dev] RE: Namespaces Best Practice
- From: Joe English <email@example.com>
- To: firstname.lastname@example.org
- Date: Fri, 21 Sep 2001 11:49:09 -0700
> 1. no-side-effects allows future parallelizm.
> ( hence future XSLT engine expected to
> be a combination of threads, running in parallel ).
> "By design".
> 2. xsl:attribute should reside in the appropriate
> place to allow streaming output. "By design".
> Maybe you can. Or maybe somebody else can. Sofar
> nobody (?) have implemented even (simple, standalone)
> part 2.
Both SAXON and XT stream the output, in the sense that
they don't construct the entire result tree in memory
before spitting it out. I suspect other engines do
The "no side-effects" rule doesn't help any with parallelism --
indeed, it's hard to conceive of an effective way to parallelize
XSLT transforms -- but it does help a *lot* when it comes
to lazy evaluation. Lazy evaluation is critical for
getting good performance out of XSLT; if side effects
were allowed this would be much harder to implement
in a coherent way. [*]
([*] Mike Kay did manage to add side-effects to SAXON -- <saxon:assign> --
in a way that was both efficiently implementable and semantically sound.
However, when the result-tree fragment restrictions are eliminated you
have to either sacrifice laziness (and hence some efficiency) or allow