Confused about content in sXBL

I am confused about how the content element works in sXBL.  Am I right
in thinking that when a shadow tree is generated, the content elements
appear in the shadow tree's real DOM, and that these content elements
act like a kind of use element in there, referencing the original
elements in the XBL definition?  Or are those nodes cloned?

Looking at the diagram in 4.2 it shows that nodes 4 and 5 appear as
children of one of the template (pink) nodes in the final flattened
tree.  But are they actually the original DOM nodes that are the
children of the bound element?  Or are they clones of these nodes?
If they are clones, is the only way to access these clones through the
xblChildNodes and other similar attributes?  Do these cloned nodes
retain their original DOM relationship attributes (like nextSibling,
etc.)?  What about a situation like this:

  <g>
    <my:something>
      <svg:rect/>
      <svg:circle/>
    </my:something>
  </g>

where the template definition is

  <template>
    <content includes="svg:circle"/>
    <content includes="svg:rect"/>
  </template>

if I get the xblChildNodes attribute of the g element to get the circle
and rect, it will now be the case that circle.xblFollowingSibling ==
rect and rect.xblPreviousSibling == circle.  But does
rect.followingSibling == circle?  (Ignoring text nodes.)

Cameron

-- 
Cameron McCormack
|  Web: http://mcc.id.au/
|  ICQ: 26955922

Received on Wednesday, 15 September 2004 05:47:55 UTC