OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xml-dev] RE: Namespaces Best Practice




> > > XSLT processors normally need to process entire input documents but
XSLT
> > > is designed so the result can be streamed.
> >
> > Really? Is there any W3C document that says it?
>
>   There is a strong hint that it was designed to be possible,
>  check the attribute 7.1.3 part:
> "Adding an attribute to an element after children have been added to it"
>  is an error, it is clear that the goal is to be able to stream the
opening
> of the tag event before any content of the element.

>  I didn't implemented this possibility, but I kept an eye on it through
> the development of libxslt, and I don't remember any technical obstacle.

Really? I have not implement any XSLT engine,
but I've looked at several engines. And I see plain technical
obstacle here.

 W3C says :

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".

I don't see how one can design such and engine.

Maybe you can. Or maybe somebody else can. Sofar
nobody (?) have implemented even (simple, standalone)
part 2.

If sombody has an idea how to get (2) play together
with (1) - I'd appreciate any pointers, UML picture,
code snippet, e t.c.

Yes, W3C papers occasionaly contain some self-restrictions
here and there. Mostly those self-limitation are results of guessing.
For example, the stupid 'Result Tree Fragment' slef-limitation.
It was ridiculos self-restrition ( "for implementors convininece" )
that could have been avoided right form the beginning.
That self-restriction was useless, because it was in fact
saving not more than 1 day of implementors work.

When (if) somebody implements parallel XSLT engine
( and this is W3C's 'vision' for XSLT engines, last time
I checked ) it will be trivial for that guy or company to
implement streaming *no matter* where  xsl:attribute resides.

> This kind of properties are not reached if they are not a design goal :-)
> I didn't checked the XSLT 1.0 requirement document, maybe it's there.

It is not. More important for me is why this streaming feature is not
in the *code* of actual XSLT engines. In my work, I can not use
W3C papers, or 'W3C design goals', but I usually use the engines.

Rgds.Paul.