On Wed, Jul 18, 2012 at 9:19 AM, Adam Barth <w3c@adambarth.com> wrote:
> Inspired by a conversation with hsivonen in #whatwg, I spend some time
> thinking about how we would design <template> for an XML world. One idea I
> had was to put the elements inside the template into a namespace other than
> http://www.w3.org/1999/xhtml.
Interesting idea! We considered something like this back before Rafael's
initial email to WebApps but discarded it for reasons discussed below.
One question about your proposal: do the contents of <template> in an HTML
document parse as HTML or XHTML (I'm not as familiar as I should be with
how the contents of <svg> are parsed in HTML)? For example, can I omit
closing </p> tags?
> Unlike the existing "wormhole" <template> semantics, in this approach the
> tags-and-text inside <template> would translate into DOM as usual for XML.
> We'd get the "inert" behavior for free because we'd avoid defining any
> behavior for elements in the http://www.w3.org/2012/xhtml-templatenamespace (just as no behavior is defined today).
>
This does get you inertness, but doesn't avoid querySelector matching
elements inside <template>.
Also, the elements inside <template>, though they appear to be HTML,
wouldn't have any of the IDL attributes one might expect, e.g., <a
href="foo"></a> would have no "href" property in JS (nor would <img> have
src, etc). They are, perhaps, too inert.
When combined with the querySelector problem, this seems especially bad,
since jQuery-style invocations would expect everything matching, say,
$('img') to behave the same way (I guess we already have this problem with
SVG <a> tags, but it seems especially weird in a document that one might
think is all-HTML).
- Adam