Anne van Kesteren wrote:
>
> On Sat, 11 Feb 2006 21:51:28 +0100, Paul Mitchell
> <paul@paul-mitchell.me.uk> wrote:
>
>>>>> As for <style>, supposedly this works:
>>>>>
>>>>> <?xml-stylesheet href="#xxx" type="text/css"?>
>>>>> <root>
>>>>> <foo xml:id="xxx">
>>>>> bar { background: green; }
>>>>> </foo>
>>>>> <bar>test</bar>
>>>>> </root>
>>>>
>>
>> In your example, the UA doesn't need style #foo until element id foo
>> is encountered, which comes after the style has been defined, not
>> before as in the previous example, where the style for element root
>> is needed before the stylesheet that defines it has materialised.
>
>
> Not really. Rendering usually starts after parsing. I can see that it
> might give some problems for incremental parsers, but those problems
> would not be much different from a script inserting a style block
> when the parser is halfway...
>
I'm confused - perhaps we are using different words for the same thing.
"Rendering usually starts after parsing". Which common UAs exhibit that
behavour? If my connection is a POTS modem and I request a 100MB
document, must I wait for the download to complete before I see
anything? I would consider that a serious flaw. I'm prepared to wait for
the stylesheet to fully load before rendering begins, but no longer.
I stand by my original point, which is that the original example
(xml-stylesheet processing instruction referring to a fragment of the
current document) is incorrect. It is incorrect because it _lies_ to the
UA, asserting the existence of a stylesheet that cannot be proven to
exist, something a rational UA will not tolerate.
--
Paul Mitchell
www.paul-mitchell.me.uk