- From: Cyril Concolato <cyril.concolato@enst.fr>
- Date: Thu, 30 Oct 2008 16:39:13 +0100
- CC: www-svg@w3.org, Chris Lilley <chris@w3.org>
Dear Chris, all,
For some reasons, I have not received your email related to ISSUE-2130. I just saw it in the archives.
Concerning xml:id and id, if I understand correctly, 'id' is always of type <ID>, while 'xml:id' is of type <ID> if there is no 'id' attribute on the element, otherwise it is of type '<NCName>'. Is that correct? Could you add a note ? Or change the attribute definition to:
xml:id = "<ID> | <NCName>"
For the <QName> comment, I'm satisfied with the proposed sentence. It is clearer. I'm also satisfied with the others datatype issues.
Thanks,
Cyril
Cyril Concolato a écrit :
>
> Dear SVG WG Member,
>
> Please find below a set of comments on the 15 September 2008 Last Call
> Working Draft of SVG Tiny 1.2.
>
> * Typos:
> - In "Status of this document", it says "This is *a* the 15 September
> 2008". - In "5.7 The 'image' element", it says "(e.g. *is* is outside
> the initial document viewport)"
> - In "7.8 The 'viewBox' attribute", it says "must *be* be mapped"
> - In "15.7 Processing inline executable content", it says "the content
> *must ignored* and no further processing takes place."
> - check case of <QName> vs <qname>.
> - The type '<ListOfStrings>' is used in the attribute table instead of
> '<list-of-strings>' in Section 4.
>
> * General editorial The lacuna value wording is not used for all
> attribute definitions for example transform, viewBox ...
>
> * Section "Status of this document"
> It says that the CR exit criteria is "two interoperable implementations
> for each test in the SVG Tiny 1.2 test suite". Is it two
> implementations, each passing all tests; or for each test, two passing
> implementation ?
>
> * Section "1 Introduction"
> I think this text could mention that audio playback is also possible in
> an SVG User Agent.
>
> * Section "1.6 Definition"
> Generally, I think the definition of bounding box is too long to be in
> the definition sections, it makes the definition section hard to grasp.
>
> Additionally, the definition of bounding box explicitely excludes some
> stroke attributes but not others like stroke-dasharray, join, cap. I
> suggest adding all stroke attributes.
>
> This definition says:
> "For curved shapes, the bounding box must enclose all portions of the
> shape along the edge, not just end points, but must not include control
> points for curves that are not within the shape itself."
> The 'must not' requirement should be changed to a 'should' because
> depending on the curve and depending on the precision of the
> implementation (fixed point), it may be impossible to make a bounding
> box that does not include the control point.
> Could you clarify the meaning of the following sentence especially for
> the defs element?
> "Elements which do not partake in the rendering tree (e.g. elements in a
> 'defs' element, elements whose 'display' is none, etc.), and which
> have no child elements that partake in the rendering tree (e.g. 'g'
> elements with no children), shall not contribute to the bounding box of
> the parent element, but must return a bounding box for the sake of
> calculating their own geometry."
> What does the bounding box of a defs element 'must return (...) for the
> sake of calculating [its] own geometry.'?
>
> There are two related definitions: canvas and SVG canvas. Do you really
> need 2 different definitions? Where in the spec do you use canvas with a
> different meaning than SVG canvas ? It is not clear how these terms are
> used in the spec. For example, we find: target canvas, current canvas,
> intermediate canvas, resulting canvas, background canvas, and temporary
> video canvas.
> The definition of "graphics referencing element" misses the
> foreignObject element, no?
>
> * Section 4 "Basic Data Types"
> The id and xml:id attributes use the <ID> type in the spec but the <ID>
> or <NCName> types in the attribute table.
> In the definition of the <QName> type, a sentence says: "the default
> namespace is *not* used for unprefixed names". Could ou provide an
> example showing what this means ?
>
> The spec text gives the following definition for the target attribute of
> the 'a' element:
> target = '_replace' | '_self' | '_parent' | '_top' | '_blank' |
> "<frame-target>" but the attribute table says:
> target = '_replace' | '_self' | '_parent' | '_top' | '_blank' | <XML-Name>
>
> The spec text for handler says:
> ev:event = "<string>"
> but the attribute table says:
> ev:event = <XML-NMTOKEN>
>
> The spec text for listener says:
> event = 'Event Identifier'
> but the attribute table says:
> event = <XML-NMTOKEN>
>
> * section 5.1.2 The 'svg' element
> The syntax for baseProfile is ambiguous, it says: baseProfile =
> "profile-name" But "profile-name" is not allowed value. Replace it
> with: baseProfile = "none" | "full" | "basic" | "tiny"
>
> * section 5.2 The 'g' element
> In general, the way "attribute definitions" are given is confusing. For
> example, if one does not understand RNG (and dig into all RNG snippets),
> it will think the g element only has the focusable attribute and the
> navigation attributes
> Also, the general syntax sometimes is confusing: for example:
> preserveAspectRatio = "[defer] <align> [<meet>]" should rather be
> something like:
> preserveAspectRatio = ["defer"] <align> [<meet>]
> There are several examples in this case.
>
> * Section 5.5.2 The last sentence of Section 5.5.2 seems to be an
> editing mistake:
> "If the appears both 'title' and at most one 'desc'" Could you fix it ?
>
> * Section 5.6
> The following sentence is unclear:
> "If an event listener is registered on a referenced element, then the
> actual target for the event will be the SVGElementInstance object
> within the "instance tree" corresponding to the given referenced element."
> What is the difference with the next paragraph ?
>
> In this section, the spec explain the transfer of attribute from a use
> element to an hypothetical g element. In this explanation, why is the
> 'xlink:href' of a use element transfered to the generated content? What
> is the purpose?
>
> I think there is an editing mistake in this section. It says: "except
> for resolution of relative IRI references as noted above and until the
> referenced elements are modified. Note also that any changes to the used
> element are immediately reflected in the generated content. " The first
> sentence is incomplete.
>
> Could you add a clarification explaining what happens to id and xml:id
> attributes in the deep-cloned tree? For example, between examples
> 05_13.svg and 05_14.svg, ids have been remove. Please explain also what
> happens to xlink:href attributes especially that internal references to
> the cloned tree are replaced by 'scoped' references.
>
> Example "image-use-base.svg" contains errors. The use element does not
> have width and height attributes.
>
> According to the example image-use-base.svg, the content of xml:base is
> not simply transfered to the "generated 'g' element" but the xml:base
> is resolved before transfering in it to the generated 'g' element. Could
> you clarify this process?
>
> * Section 5.7 The 'image' element
> In the first sentence, the words "complete document" seems to imply that
> an (XML) document can be referenced from an image element while the
> second sentence says the opposite. Could you rephrase ?
>
> The attribute definitions for the 'image' element does not use the usual
> 'lacuna value sentence' for x, y, width and height.
>
> Could you rephrase the following sentence? It does not look like a
> correct sentence: "For optimizing download time by requiring a
> particular content format authors are encouraged to use
> 'requiredFormats', instead of 'type'."
>
> * Section 5.8 Conditional Processing:
> The specification says: "Conditional processing attributes do not
> affect the processing of all elements. They can be specified only on
> graphics elements, container elements, text content elements,
> descriptive elements, timed elements and the 'foreignObject' and
> 'discard' elements. A conditional processing attribute on any other
> element does not affect whether that element will be processed."
> Could you add an explanation about what happens to elements (script,
> handlers, animations, listeners) inside a container element which has a
> conditional processing attribute evaluated to false?
>
> * Section 7.1. Coordinate Systems, Transformations and Units Introduction
> Could you add a clarification about when the canvas negotiation happens?
> I think it happens upon parsing the start tag of the SVG root element
> but this is not clear.
> * Section 5.9.1 The 'externalResourcesRequired' attribute What is the
> rationale behind the sentence:
> "If a node enters the error state then the document enters the error
> state and progressive rendering stops." Is this behavior compatible with
> traditional HTML processing?
> * Section 5.9.3 The 'prefetch' element
> Could you add a note explaining the relationship between the eRR
> attribute and the prefecth element, especially when the prefetch element
> points to a 'g' element in the current document?
> The definition of mediaSize says "Defines how much of the media to fetch
> in bytes as a function of the file size of the media." What is the
> function ? I suggest removing the last part of the sentence since
> percentage is not allowed. Similarly for mediaTime.
> Example prefetch02.svg uses a UTF-8 coding but the prefetch elements use
> UTF-16. Is it normal?
>
> * Section 5.10.1 Attributes common to all elements The use of the new
> attributes (rel, rev,...) is not clear. Could you mention if ARIA is
> also meant to be used in each of rel, rev ... attributes?
> * Section 7.10 Establishing a new viewport
> I don't understand the note about clipping and overflow. The overflow
> property is not supported in Tiny 1.2, so it means that 1.2 player will
> ignore any overflow attribute.
>
> * Section 11.10.5 The 'buffered-rendering' property What is the
> relationship between SVG T 1.2 'buffered-rendering' attribute and the
> SVG Full 1.2 rendering hints
> (http://www.w3.org/TR/2004/WD-SVG12-20041027/painting.html#sprites)
> cache/static/snap ?
> * Section 12.1.1 Media timeline and document timeline
> The specification says that media elements which are loaded only when
> they become visible for the fist time may introduce delay. In that case,
> what document time corresponds to the beginning of the media timeline ?
> The begin value or the begin value + the delay ? Is it correct to say
> that assuming timelines are locked, then the UA has to adjust playback
> to cope with the load time (similarly to a timelineBegin=onStart)?
>
> Replace:
> "the value of the 'syncBehavior' attribute are replaced from the default
> one ('default', interpreted as 'locked' in that case since the
> 'syncBehaviorDefault' is not specified) to 'independent'."
> with:
> "the value of the 'syncBehavior' attribute are set to 'independent'."
> The current wording 'interpreted as locked' is ambiguous. The actual
> interpretation of 'default' is implementation specific and the spec
> seems to imply that it should be interpreted as locked all the time.
>
> Could you clarify what the exact locking behavior is ? If a media
> timeline is locked to the document timeline and if the video is paused,
> what happens ? Is the document timeline locked?
> The xlink:href of audio and video says:
> "When the value of the attribute is animated or otherwise modified, if
> the media play time can be controlled, then the media timeline is
> restarted. "
> First, the term 'play time' is not defined. I suggest changing "media
> play time" to "media timeline". But if the media timeline is locked,
> changing the xlink:href to a new value, without changing the begin
> value, will not restart the media timeline (or it will restart it but at
> time = the document time when the change happened). What happens if the
> media timeline cannot be controlled?
>
> The specification should say what happens when a video/audio element
> points to a file or a set of streams containing multiple audio tracks
> (english and french, or AAC and AC3) or multiple video tracks.
>
> * Section 13.8 Event dispatching
> The following 2 sentences seem contradictory. According to the first
> sentence, there is always at least the root as a target. Could you clarify?
> "If the user agent cannot find a graphics element or SVGElementInstance
> object to be the target object (e.g., the pointer event occurs over the
> viewport background), then the user agent must set the target object to
> be the rootmost 'svg' element."
> and "If there is no target object, the event is not dispatched."
>
> * Section 14.1.6 Externally referenced documents The section is quite
> hard to read and it's not easy to understand the difference between the
> processing of primary and resource documents. For example, instead of
> copy/pasting the "conceptual processing model" of primary documents for
> resource documents could you just give one unique paragraph? Could you
> highlight in the text the common points and differences? For example
> with the following structure
> definitions:
> - primary document: referenced as a whole (no fragment). In SVG Tiny
> 1.2, it only concerns 'a', 'animation' and 'foreignObject' (as per
> restriction)
> - resource documents: referenced using a fragment identifier. In SVG
> Tiny 1.2, it only concerns 'use' and 'foreignObject' (as per restriction)
> common points:
> - processing is that events are fired, scripts are executed, ...
> differences:
> - resource documents are loaded only once per primary document
> - primary documents may be loaded multiple times
>
> Could you also answer the following points:
> - What about "externally referenced media" ? Does a primary document
> maintain a dictionnary of media resources? If a video is refered twice
> in the scene does this lead to two different ressources?
> - What about externally referenced scripts ?
> * Section 15.2.1 Script processing
> Can you clarify the sentence "If a 'script' element falls outside of the
> rootmost 'svg' element" ? When does it happen ? Is it only in the case
> of DOM creation ? Can you give examples ?
>
> * Section 16.2.7 Paced animation and complex types
> Since a polygon is a simple kind of path, it seems strange to allow
> paced interpolation of path but not of polygons. Could you explain why
> the group reached this conclusion ?
>
> * Section A.8.12 TraitAccess
> The specification says:
> "For 'required' attributes, there are two cases:
> * i) The document is in error, if this attribute was not present at
> the time of loading.
> * ii) When using the uDOM API, the specified lacuna value (in
> parenthesis) must be used."
> Could you explain what the first bullet means ?
> What is a 'required' attribute? The lacuna value is used when an
> attribute is not specified. Why would the document be in error ?
> Could you also explain what is the relationship between exceptions
> thrown in a script, and the state (error or not) of the script node (and
> of the document).
>
> * Section J.2 Specific feature strings
> The feature string for core attributes should include the newly added
> attributes (rev, rel...).
>
>
> Regards,
>
> Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat
Received on Thursday, 30 October 2008 16:21:48 UTC