W3C home > Mailing lists > Public > public-webapps@w3.org > April to June 2012

Re: [webcomponents] Template element parser changes => Proposal for adding DocumentFragment.innerHTML

From: Simon Pieters <simonp@opera.com>
Date: Wed, 09 May 2012 19:24:52 +0200
To: "Henri Sivonen" <hsivonen@iki.fi>, "Ian Hickson" <ian@hixie.ch>
Cc: "Rafael Weinstein" <rafaelw@google.com>, "Webapps WG" <public-webapps@w3.org>, "Yehuda Katz" <wycats@gmail.com>
Message-ID: <op.wd1xbqo6idj3kv@simons-macbook-pro.local>
On Wed, 09 May 2012 19:01:42 +0200, Ian Hickson <ian@hixie.ch> wrote:

> Quick alternative proposal that might work for both <template> parsing  
> and
> DocumentFragment.innerHTML:
>    Have createDocumentFragment() take as an argument a context element.
>    Maybe also make it a mutable attribute of the object. Defaults to its
>    owner document's body element or root element or some such. Null means
>    no root element.
>      var df = document.createDocumentFragment(document.body);
>      df.contextElement = document.createElement('style');

Or just string with the tag name, so it works the same as <template  

>    Have innerHTML use that as the context element to the fragment parsing
>    algorithm.
>      df.innerHTML = 'p::before { content: '<hello> <world>'; }';
>    Have <template> take an argument that's the element tag name for it to
>    use to create its context element. Defaults to <body>.
>     <template context="tr"> <td> </template>
>      <template context="svg"> <g/> </template>
>    Parse <template> by creating a new Document object that's like the  
> ones
>    you get from createDocument() (i.e. "dead"), and then creating a
>    DocumentFragment owned by that Document, and then pushing that
>    DocumentFragment onto the stack instead of the <template> element, but
>    set up to act like the <template> element for the purposes of being
>    popped off. (Except when parsing without a browsing context, then you
>    just parse normally.)
> Not sure how solid this is, but it's an idea at least. Hopefully an
> original one, though I'm sure y'all have considered it before. :-)

Simon Pieters
Opera Software
Received on Wednesday, 9 May 2012 17:25:51 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 18:13:34 UTC