Copyright © 2001 W3C® (MIT, INRIA, Keio), tous droits réservés. Les règles de responsabilité, de nom de marque, d'utilisation du document et de licence logicielle du W3C s'appliquent.
Les commentaires sur cette spécification peuvent être envoyés à [email protected] - (voir les archives publiques).
Dans la section 1.3, la spécification SVG 1.0 dit que l'identifiant public pour SVG 1.0 est :
"-//W3C//DTD SVG 1.0//EN"
alors que les exemples SVG dans la spécification même utilisent l'identifiant public suivant :
"-//W3C//DTD SVG 20010904//EN"
Au moment de la publication, ces deux identifiants signifient exactement la même chose. Ce pourrait ne plus être toujours le cas dans le futur, ainsi un choix est offert. Le premier est recommandé pour un contenu visant la version 1.0 de la spécification, y compris une possible republication comme une « seconde édition ». (Remarque : Il n'est pas envisagé pour l'instant de publier une seconde édition de la spécification SVG 1.0). Le second est recommandé pour un contenu visant explicitement la version datée 20010904 de la spécification SVG 1.0. Les implémentations qui se réclament de la Recommandation SVG 1.0 de 20010904 doivent accepter les deux identifiants publics.
Dans la section 1.3, la spécification dit que l'identifiant système pour les documents SVG 1.0 est :
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
C'est la même chose que :
"http://www.w3.org/TR/SVG/DTD/svg10.dtd"
Le DTD peut également être sauvé localement ou placé sur des serveurs Web, en conséquence l'URL réel peut varier. Cette forme svg10.dtd se réfère à la forme courante du DTD de SVG 1.0, y compris les erreurs éventuelles. Sur le site Web du W3C, les identifiants système suivants :
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg-20010904.dtd "
ou
"http://www.w3.org/TR/SVG/DTD/svg-20010904.dtd "
se réfèreront toujours exactement au DTD en date du 2001-09-04.
Au moment de la publication, ces deux identifiants signifient exactement la même chose. Ce pourrait ne plus être toujours le cas dans le futur, ainsi un choix est offert.
L'interface SVGExternalResourcesRequired
Changer la description associée à l'attribut externalResourcesRequired.
Attributs
- readonly SVGAnimatedBoolean externalResourcesRequired
Correspond à l'attribut externalResourcesRequired sur l'élément en question. Remarquer que le DOM SVG définit l'attribut externalResourcesRequired comme étant de type
SVGAnimatedBoolean, alors que la définition du langage SVG indique que l'attribut externalResourcesRequired n'est pas animé. Puisque la définition du langage SVG déclare que l'attribut externalResourcesRequired ne peut pas être animé, la valeur deanimValsera toujours la même que celle debaseVal.
Au moment de la publication de la recommandation du 4 septembre 2001, une ligne a été accidentellement oubliée dans la liste des attributs de l'élément 'svg'. Il faudrait rajouter la ligne suivante à la déclaration ATTLIST de 'svg' :
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
En résultat, le fragment de DTD courant de l'élément 'svg' est :
<!ATTLIST svg
xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
viewBox %ViewBoxSpec; #IMPLIED
preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
zoomAndPan (disable | magnify) "magnify"
%graphicsElementEvents;
%documentEvents;
version %Number; #FIXED "1.0"
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #IMPLIED
height %Length; #IMPLIED
contentScriptType %ContentType; "text/ecmascript"
contentStyleType %ContentType; "text/css">
Le DTD « comprenant l'errata » sur le site du W3C a également été mis à jour pour inclure le fragment ci-dessus :
« http://www.w3.org/TR/SVG/DTD/svg10.dtd »
En conséquence, la validation des contenus, obtenus à partir des DTD des précédents avant-projets et de la recommandation candidate, va continuer d'être correcte. Les copies locales de svg10.dtd devraient être mises à jour pour refléter ce changement.
En outre, pour une raison chronologique, une copie du DTD incorporant cet errata a été mise en place à la localisation datée :
En-dessous, dans la section « Définition des attributs », changer les descriptions des attributs width et height pour :
La largeur de la région rectangulaire dans laquelle l'élément appelé se place. Une valeur négative constitue une erreur (voir Le traitement des erreurs). Une valeur de zéro désactive le rendu de l'élément.
Animable : oui.
La hauteur de la région rectangulaire dans laquelle l'élément appelé se place. Une valeur négative constitue une erreur (voir Le traitement des erreurs). Une valeur de zéro désactive le rendu de l'élément.
Animable : oui.
Changer la première phrase du troisième paragraphe au sujet des images pixélisées :
« Quand un élément 'image' appelle le fichier d'une image pixélisée, tel qu'un fichier PNG ou JPEG, alors l'image pixélisée est enchâssée dans la région spécifié par les attributs x, y, width et height. »
pour :
« Quand un élément 'image' appelle le fichier d'une image pixélisée, tel qu'un fichier PNG ou JPEG, alors l'élément 'image' établit une nouvelle zone de visualisation pour l'image pixélisée, comme décrit dans la section L'établissement d'une nouvelle zone de visualisation. L'élément 'image' possède également un attribut viewBox implicite [0, 0, largeur-image-pixélisée, hauteur-image-pixélisée], où « largeur-image-pixélisée » et « hauteur-image-pixélisée » représentent respectivement la largeur et la hauteur réelles de l'image pixélisée. L'image pixélisée est enchâssée dans la région spécifié par les attributs x, y, width et height (voir L'établissement d'une nouvelle zone de visualisation) ».
Dans la description de la propriété 'stroke-miterlimit', changer la propriété 'stroke-linewidth' par 'stroke-width'.
Changer l'entrée dans la liste de "Valeur" de la propriété 'stop-opacity' pour : <valeur-opacité> | inherit
Changer l'entrée dans la liste de "Valeur" de la propriété 'opacity' pour : <valeur-opacité> | inherit
Changer le nom de la section <valeur-alpha> par : <valeur-opacité>.
Dans la section « L'exemple feColorMatrix illustre les quatre types d'opérations de feColorMatrix »
Changer :
<feColorMatrix type="saturate" in="SourceGraphic" values="40%"/>
par :
<feColorMatrix type="saturate" in="SourceGraphic" values="0.4"/>
Changer l'entrée dans la liste de "Valeur" de la propriété 'flood-opacity' pour : <valeur-opacité> | inherit
Au cours de la rédaction de la Recommandation du 04 septembre 2001, une ligne a été omise par mégarde dans la liste des attributs de l'élément 'feImage'. Le résultat en aurait été que certains contenus, qui étaient valides, ne le soient plus une fois que le doctype du document ait été mis à jour pour celui de la Recommandation (si ce document utilisait 'feImage' et les attributs concernés). La ligne suivante devrait être rajoutée à la déclaration ATTLIST pour 'feImage' :
%filter_primitive_attributes;
Le DTD « amendé » sur le site du W3C a également été revu pour inclure cette ligne supplémentaire :
"http://www.w3.org/TR/SVG/DTD/svg10.dtd"
En conséquence, un contenu qui a transité par les DTD des premiers brouillons ou de la Recommandation Candidate sera toujours validé correctement. Les copies locales de svg10.dtd devraient être mises à jour pour refléter ce changement.
De plus, pour l'historique, une copie du DTD incorporant ces corrections a été placée à la location datée :
"http://www.w3.org/TR/SVG/DTD/svg-20011013.dtd"Un second attribut et sa description manquait également :
preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
Un élément 'feImage' qui appelle un fichier SVG va entraîner l'établissement d'une nouvelle zone de visualisation, étant donné que la ressource appelée aura par définition un élément 'svg'.
Par conséquent, le fragment de DTD courant pour l'élément 'feImage' est :
<!ELEMENT feImage (animate | set | animateTransform)*>
<!ATTLIST feImage
%stdAttrs;
%xlinkRefAttrsEmbed;
xlink:href %URI; #REQUIRED
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
%filter_primitive_attributes;
preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
>
Changer la définition IDL et la description associée de l'attribut kernelUnitLength.
readonly attribute SVGAnimatedNumber kernelUnitLengthX readonly attribute SVGAnimatedNumber kernelUnitLengthY
Attributs
- readonly SVGAnimatedNumber kernelUnitLengthX
- Correspond à l'attribut kernelUnitLength sur l'élément 'feConvolveMatrix' donné.
- readonly SVGAnimatedNumber kernelUnitLengthY
- Correspond à l'attribut kernelUnitLength sur l'élément 'feConvolveMatrix' donné.
La définition IDL et la définition de l'attribut kernelUnitLength sont manquantes. Par conséquent, il faut ajouter les deux attributs suivants à l'interface SVGFEDiffuseLigthingElement.
readonly attribute SVGAnimatedNumber kernelUnitLengthX readonly attribute SVGAnimatedNumber kernelUnitLengthY
Attributs
- readonly SVGAnimatedNumber kernelUnitLengthX
- Correspond à l'attribut kernelUnitLength sur l'élément 'feDiffuseLighting' donné.
- readonly SVGAnimatedNumber kernelUnitLengthY
- Correspond à l'attribut kernelUnitLength sur l'élément 'feDiffuseLighting' donné.
Changer la définition IDL et la description associée de l'attribut radius.
readonly attribute SVGAnimatedNumber radiusX readonly attribute SVGAnimatedNumber radiusY
Attributs
- readonly SVGAnimatedNumber radiusX
- Correspond à l'attribut radius sur l'élément 'feMorphology' donné.
- readonly SVGAnimatedNumber radiusY
- Correspond à l'attribut radius sur l'élément 'feMorphology' donné.
En-dessous de l'item de liste offset-value ::= ( S? "+" | "-" S? )? ( Clock-value )
Supprimer la phrase :
« En SVG, comme la fin de document est toujours indéterminée, une valeur de décalage négative est toujours une erreur. »
Faire à la place la clarification suivante :
« Les temps de début négatifs sont entièrement valides et faciles à calculer, tant qu'il existe un temps de début du document résolu. »
Supprimer la phrase suivante à propos de l'ordre des événements :
« Les guetteurs d'événement, qui sont établis pour les interfaces d'enregistrement d'événement de DOM2 [DOM2-EVREG], reçoivent les événements avant tous les guetteurs d'événement qui correspondent aux attributs d'événement (voir la section Les attributs d'événement) ou aux animations » ;
En bas de l'entrée « Le DOM de SVG gère les types d'événement de souris [DOM2-MOUSEEVENTS] suivants : », la phrase suivante :
« Les paramètres clientX et clientY des événements de souris représentent des coordonnées de la zone de visualisation pour l'élément 'svg' correspondant. Quant au paramètre relatedNode, c'est l'élément 'svg' correspondant le plus externe. »
celle-ci devrait être amendée comme suit :
« Les paramètres clientX et clientY des événements de souris représentent les coordonnées de la souris auxquelles l'événement est survenu par rapport à l'aire cliente de l'implémentation du DOM ».
« Le paramètre relatedTarget est employé pour identifier une cible d'événement secondaire en relation avec un événement de l'interface utilisateur. Pour l'instant, cet attribut est utilisé avec l'événement mouseover pour indiquer la cible d'événement de laquelle le dispositif de pointage est sorti et avec l'événement mouseout pour indiquer la cible d'événement dans laquelle le dispositif de pointage est entré ».
Changer la valeur <valeur-alpha> des propriétés 'flood-opacity', 'opacity' et 'stop-opacity' par : <valeur-opacité>
Sous le paragraphe :
« Si des attributs événementiels sont assignés à un élément appelé, alors la cible effective pour l'événement sera l'objet SVGElementInstance dans "l'arbre d'instance" correspondant à l'élément appelé en question. »
Rajouter la clarification suivante :
« La gestion des événements pour l'arbre non exposé fonctionne comme si l'élément appelé avait été littéralement inclus comme enfant cloné en profondeur de l'élément 'use', sauf que les événements sont distribués sur les objets SVGElementInstance, et la cible de l'événement et les attributs currentTarget sont réglés sur l'objet SVGElementInstance correspondant à la cible et ses éléments courants dans le sous-arbre appelé. Un événement se propage dans les parties exposées et non exposées de l'arbre, de la même manière qu'il le ferait dans l'arbre d'un document normal : tout d'abord en allant de l'élément racine vers l'élément 'use', puis dans les éléments non exposés de l'arbre dans la phase de capture, en poursuivant par la phase de la cible sur la cible de l'événement, puis en bouillonnant en retour dans l'arbre non exposé vers l'élément 'use' et ensuite en revenant dans l'arbre normal vers l'élément racine dans la phase de bouillonnement »
« Un élément et tous ses objets SVGElementInstance correspondants partagent une liste de guetteurs d'événement. On peut utiliser un attribut currentTarget de l'événement pour déterminer au travers de quels objets un guetteur d'événement a été invoqué. »
Ajouter le paragraphe suivant après le quatrième paragraphe :
« Remarquer que quand un élément 'image' appelle une image SVG, les règles de traitement décrites dans le paragraphe précédent signifient que l'attribut preserveAspectRatio ainsi que les propriétés 'clip' et 'overflow' sur l'élément racine dans l'image SVG appelée sont ignorés (comme les attributs x, y, width et height sont ignorés). »
« Plutôt, l'attribut preserveAspectRation sur l'élément 'image' appelant définit comment le contenu de l'image SVG est logé dans la zone de visualisation et les propriétés 'clip' et 'overflow' sur l'élément 'image' définissent comment le contenu de l'image SVG est rogné (ou pas) par rapport à la zone de visualisation. »
De manière similaire à la propriété 'display', les attributs de traitement conditionnel n'affectent que le rendu direct d'un élément donné, puisque celle-ci n'interdit pas aux éléments d'être appelés par d'autres éléments.
En conséquence :
Seconde liste, ajouter au premier item :
« Du fait que SVG soit prévu pour être utilisé comme un seul composant dans une application XML avec plusieurs espaces de nommage et que CSS ne reconnaisse pas les espaces de nommage, les sélecteurs de type ne trouveront de correspondance que sur la partie locale du nom qualifié de l'élément. »
Rajouter cette remarque à la fin de la section :
« La spécification est ambiguë et certaines implémentations sont incohérentes vis-à-vis de la propriété 'text-anchor' dans le cas particulier où on a plusieurs valeurs pour l'attribut x et moins de valeurs pour l'attribut y (ou vice versa). Ainsi, on recommande au développeurs de contenu SVG 1.0 de fournir des réglages équilibrés pour les attributs x et y parce que cette approche évite les ambiguïtés de la spécification et permet vraisemblablement d'obtenir des résultats similaires d'une implémentation à l'autre. »
Les versions futures de SVG vont vraisemblablement lever ces ambiguïtés.
Sous la section « Définition des attributs », changer la description de l'attribut tableValues par :
Quand l'attribut type="table" ou type="discrete", la liste des valeurs de <nombre> v0,v1,...vn, séparées par des blancs et/ou des virgules, qui définit la table de conversion. Une liste vide correspond à une fonction de transfert identité. Si l'attribut n'est pas spécifié, alors l'effet produit est comme si on avait fourni une liste vide.
Animable : oui.
Changer la description (contenue dans la deuxième colonne) de événements SVGScroll, SVGResize et SVGZoom par :
Ajouter cette remarque après la liste des types d'événement, après le premier paragraphe :
« Les implémenteurs peuvent regarder le paramétrage des attributs d'événement comme la création et l'enregistrement d'un guetteur d'événement sur la cible de l'événement. La valeur de l'attribut useCapture prend la valeur par défaut de 'false'. Ce guetteur d'événement se comporte de la même manière que n'importe quel autre guetteur d'événement qui serait enregistré sur la cible de l'événement. »
« Si l'attribut représentant le guetteur d'événement est modifié, ceci peut être regardé comme le retrait du guetteur d'événement enregistré précédemment et comme l'enregistrement d'un nouveau. Par ailleurs, on ne spécifie pas l'ordre dans lequel les attributs d'événement vont recevoir l'événement par rapport aux autres guetteurs d'événements sur la cible de l'événementt. »
Retirer le modificateur 'abstract' de la classe SVGException.