Re: XHTML Applications and XML Processors [was Re: xhtml 2.0 noscript]

> Yet you said if there's no required attribute it's executed immediately,
> that means the current default is in exactly the state as it is now, so
> there's no more safety involved.

And if the author knows he or she needs a certain element for the
script to work, he or she can specify it. This will insure that the
script is only run when it will produce deterministic results, but
only if the author specifies it. Allowing the author to provide a
required attribute is a way of making indeterministic code
deterministic as long as the author specifies the right code. There
may be a better solution, but what I'm suggesting at least gives the
author that benefit while allowing scripts to be processed before the
document is fully loaded.

> > Interoperability: The SAX processor and the DOM processor now produce
> > the same results by letting the author specify what must be loaded for
> > correct processing.
>
> No they don't, since the script can still continue to do unsafe things,
> you've in no way restricted what a script can do.

I've allowed the author to specify when the script will run. The
author can now specify that a script will only run when certain
elements are fully loaded (by either disabling elements that call that
script or by preventing execution until those elements are loaded).
The author specifies it. If the author chooses not to avail himself or
herself of this capability, I can't stop them.

> > "Scripts that rely on content that has yet to be
> > rendered can be queued for execution or their elements disabled while
> > the required content is loaded (not necessarily rendered)."
> >
> > Was this somehow unclear?
>
> Nope, the problem is other scripts, which you've not changed, so the problem
> of interopability hasn't changed.

Could you be more specific here. Could you give a scenario where a
script would run incorrectly when given proper dependency information
(i.e. the proposed required attribute)?

-- 

Orion Adrian

Received on Thursday, 3 August 2006 15:12:43 UTC