Two progressive rendering questions

Hi group.

I have two questions about the Progressive Rendering section in the
spec.

First, there is a paragraph that mentions situations where the rendering
should not be updated:

 Note that even if the SVG User Agent has the opportunity to update
 the rendering after each start/end element event there are situations
 where such an update shouldn’t be done. E.g. 'font' element children
 ('font-face', 'hkern', 'missing-glyph', 'glyph') should not cause an
 update of the document rendering, only the 'end element' event on the
 'font' element should cause a document rendering as for other node
 types.
  — http://www.w3.org/Graphics/SVG/Group/repository/spec/mobile/1.2/1.2NG/publish/struct.html#ProgressiveRendering

The example given there is that ‘start element’ and ‘end element’ events
for <font-face>, <hkern>, <missing-glyph> and <glyph> should not be used
as a rendering update point.  This is presumably to avoid having <text>
elements use a font that has only some of its glyphs loaded.  Of course,
other elements could occur within such a subtree, e.g.:

  <svg …>
    <text font-family='a'>ab</text>
    <font>
      <font-face font-family='a'>
        <glyph unicode='a' d='…'/>
 <blah xmlns='http://example.org/'/>
        <glyph unicode='b' d='…'/>
      </font-face>
    </font>
  </svg>

Since the <blah> element there is not one of the ones listed, I guess
this is a point where the rendering could be updated?

Is it intentional that this requirement is a “should” rather than a
“must”?

These font elements are given as an example, but I don’t see where the
full list of these no-rendering-update elements is.  Are these font
elements the only ones?


Second, there is a mention of a pitfall when using <discard>:

  Note that forward referencing from a 'discard' element should be
  avoided when using progressive rendering. If it fails to find (and
  thus discard) an element, it will not later discard the element when
  it has finally loaded.
   — ibid.

It says “when using progressive rendering”, but progressive rendering is
mandatory according to a previous paragraph in that section.  Is this
paragraph referring to the use of a <discard> with
externalReferencesRequired="false"?  If so, that’s what it should say.


Thanks,

Cameron

-- 
Cameron McCormack ≝ http://mcc.id.au/

Received on Monday, 23 June 2008 00:41:51 UTC