2. 適合性の判定基準 — Conformance Criteria

2.1. 概観

~SVGで定義されら~graphicには、多くの異なる応用がある。 結果として、~SVGを利用する~softwareすべてが同じ特能を備えるとは限らない。 したがって、~SVG仕様への適合性は,二元的な問題mでない — ~softwareは、制約された特能~集合の中で適合してもヨイ。 ◎ Graphics defined with SVG have many different applications. As a result, not all software that uses SVG will have the same features. Conformance to the SVG specification is therefore not a binary matter; software may be conforming within a restricted feature set.

さらには,~SVGは、他の型の文書の中へ統合されるように設計されている — 適切になり得る特能~集合は、統合の種別に依存して,制限されることもある。 ~SVG文書片は、様々な仕方で[ 他の文書から参照される/他の文書に内包される ]ことにより,~UAにより処理され得る。 ~SVG文書は、首な文書として直にも~viewできる。 ~SVG文書片を利用し得るような それぞれの手法は、~SVG文書片がどう処理されなければナラナイかについて,一定の要件の集合を含意する。 ◎ Furthermore, SVG is designed to be integrated into other types of documents; depending on the type of integration, only a limited feature-set may be appropriate. There are various ways that an SVG document fragment can be referenced by or included in other documents and thereby be processed by a user agent. SVG documents can also be viewed directly, as the primary document. Each different method by which an SVG document fragment can be used implies a certain set of requirements on how the SVG document fragment must be processed.

したがってこの章は、いくつかの 処理~mode ( `processing mode^en )を定義する — これらの処理~modeは、文書において[ 可能化-/不能化- ]され得る特能たちが成す相異なる組合nを包摂する。 加えて,[ ~SVG文書が他の~SVG文書を[ 参照する/埋込む ]ときに利用されなければナラナイ処理~mode ]についての,規範的な要件を指定する。 他の仕様は、~SVG文書はどう処理されるベキか述べるときには,これら各種 処理~modeを参照により利用してもヨイ。 ◎ This chapter therefore defines a number of processing modes that encompass the different combinations of features which may be enabled or disabled in the document. In addition, it specifies normative requirements for which processing mode must be used when SVG documents reference or embed other SVG documents. The same set of processing modes may be used by reference in other specifications to describe how SVG documents should be processed.

注記: この文書は、~SVG文書を[ 参照-/内包- ]し得る他の仕様 — ~HTMLや様々な~CSS仕様など — に対し,規範的な要件は設置しない。 その意向は、そのような他の仕様が,この文書に与える適切な処理~modeを規範的に指すことにある。 ◎ This document does not place normative requirements on other specifications that can reference or include SVG documents, such as HTML and various CSS specifications. The intention is for these other specifications to normatively point to the appropriate processing mode from this document.

この章は、 各種~型の~SVG内容, および ~SVGを[ 利用する/作成する ] 各種~classの~software 用に,特定の適合性~要件も要旨する。 ◎ This chapter also outlines specific conformance requirements for different types of SVG content, and different classes of software that use or create SVG.

2.2. 処理~mode

この節は、~SVG文書~用の標準な`処理~mode$の集合を定義する。 各~処理~modeは、[ 一定の,高~levelな~SVG特能たち ]が可能化されるかどうかを指定する。 ◎ This section defines a standard set of processing modes for SVG documents. Each processing mode specifies whether certain high level SVG features are enabled.

2.2.1. 特能

処理~modeに依存して[ 可能化できる/不能化できる ]特能には、次のものがある: ◎ The features that can be enabled or disabled depending on the processing mode are as follows:

`宣言的~animation@i ( `declarative animation^en )
宣言的~animationは、[ ~SVG内の~animation要素 — `animate$e, `animateMotion$e, `animateTransform$e, `set$e ], [ ~CSS Transitions/ ~CSS Animations ]の両者を含む(詳細は、 ~animation付録 を見よ)。 ~SVG文書において宣言的~animationが不能化されたときは、どの[ ~animation要素 / ~CSS Transitions / ~CSS Animations ]も[ 適用しない, 稼働させない ]モノトスル。 ◎ Declarative animation includes both the animation elements in SVG – ‘animate’, ‘animateMotion’, ‘animateTransform’ and ‘set’ – and CSS Transitions and Animations (see the Animation appendix for details). When declarative animations are disabled in an SVG document, any animation elements or CSS Transitions or Animations must not be applied or run.
注記: これは、[ 文書の~animate化~状態を文書~時刻 0 秒で静止する ]のと同じではない — 0 秒に始まるよう定義された~animationであっても,依然として適用されないことになる。 ◎ This is not the same as pausing the document's animated state at 0s document time; if an animation is defined to begin at 0s, it still will not be applied.
`外部~資源への参照@i ( `references to external resources^en )

`外部~資源~参照$は、文書~内で利用された[ ~markup, ~style~prop, ~script, その他の~Web~platform特能 ]に含まれる~URL参照や, それらにより為される~network~access要請である — ただし、次に該当するものは除く: ◎ References to external resources are URLs references or network access requests made by markup, style properties, script or other Web platform features used in the document, except for:

  • `同一-文書~URL参照$ — ~linking にて定義される。 ◎ same-document URL references, as defined in the Linking chapter
  • `~data~URL参照$ — `rfc2397$r により定義される `data:^c ~URL~scheme 。 ◎ data URL references, as defined by the "data" URL scheme [rfc2397]
~SVG文書において外部~参照が不能化されたときは、外部~参照を通して文書を~fetchしようとするどの試みも,代わりに[ ~network~errorが生じて~dataは全く受信されなかった ]かのように扱うモノトスル。 ◎ When external references are disabled in an SVG document, any attempt to fetch a document through an external reference must instead be treated as if a network error occurred and no data was received.
外部~参照が可能化された下では、~Internetからの外部~file要請を~supportする~UAは、 ~linking にて要旨される,非同一-生成元~資源の~fetch法に対する制約を固守するモノトスル。 ◎ When external references are enabled, user agents that support external file requests from the Internet must adhere to the restrictions on cross-origin resource fetching, as outlined in the Linking chapter.
`~script実行@i ( `script execution^en )
~script実行とは、次に該当するものの実行である ⇒# ~SVG `script$e 要素 / `~event属性$(~SVG要素~上の `onclick$a など)内に見出された~script / 他の~Web~platform特能により定義され,文書~内に利用された他の~script — ~HTML `script$eH 要素など。 ◎ Script execution is the execution of any SVG ‘script’ elements, script found in event attributes (such as ‘onclick’ on SVG elements), or any other script defined by other Web platform features used in the document, such as any HTML ‘script’ elements.\
~SVG文書において~script実行が不能化されたときは、文書~内のどの~scriptも走らせないモノトスル。 ◎ When script execution is disabled in an SVG document, no script in the document must be run.
`対話@i ( `interaction^en )
対話は、~DOM~eventの送達, あるいは、次に挙げるような~UAに特有な~UI挙動の呼出nを指す ⇒# ~text選択, ~focusを変更する, ~linkの辿り, ~mouseや~keyboardなどの利用者~入力に呼応して行われる~animationや遷移を誘発する ◎ Interaction refers to the delivery of DOM Events or the invocation of any user agent specific UI behaviors such as text selection, focus changing, link traversal, or animation or transition triggering that is done in response to user input such as mouse or keyboard activity.\
対話が不能化された~SVG文書においては、文書やその中の要素を~targetにする どの利用者~入力~eventも,効果を発揮しないモノトスル。 ◎ When interaction is disabled in an SVG document, any user input events that would be targetted at the document or any elements within the document must have no effect.

2.2.2. 動的~対話的~mode

この`処理~mode$は、~SVG言語を成すどの特能にも制約を課さない。 ◎ This processing mode imposes no restrictions on any feature of the SVG language.

動的かつ対話的な特能
~script実行
外部~参照
宣言的~animation
対話性
◎ Dynamic Interactive Features script execution yes external references yes declarative animation yes interactivity yes

2.2.3. ~animate化~mode

この`処理~mode$は、[ ~SVG文書は~animate化~画像として利用され, 外部~参照を解決することが許容される ]ような状況下に意図され、対話的~文書としての利用は意図されていない。 ◎ This processing mode is intended for circumstances where an SVG document is to be used as an animated image that is allowed to resolve external references, but which is not intended to be used as an interactive document.

~animate化~特能
~script実行 不可
外部~参照
宣言的~animation
対話性 不可
◎ Animated Features script execution no external references yes declarative animation yes interactivity no

2.2.4. ~secure~animate化~mode

この`処理~mode$は、[ ~SVG文書は~animate化~画像として利用されることになるが, 外部~参照を解決することは許容されない ]ような状況下に意図され、対話的~文書としての利用は意図されない。 この~modeは、画像の~supportは 伝統的に~raster画像(~JPEG, ~PNG, ~GIF など)に制限されている所で利用され得る。 ◎ This processing mode is intended for circumstances where an SVG document is to be used as an animated image that is not allowed to resolve external references, and which is not intended to be used as an interactive document. This mode might be used where image support has traditionally been limited to raster images (such as JPEG, PNG and GIF).

~secure~animate化~特能
~script実行 不可
外部~参照 不可
宣言的~animation
対話性 不可
◎ Secure Animated Features script execution no external references no declarative animation yes interactivity no

2.2.5. 静的~mode

この`処理~mode$は、[ ~SVG文書は、非~animate化~画像として利用され, その外部~参照を解決するのは許容される ]ような状況下に意図され、対話的~文書としての利用は意図されない。 例えば、印刷~文書~内への内包~用に~graphicを処理する~SVG~viewerは、静的~modeを利用することになろう。 ◎ This processing mode is intended for circumstances where an SVG document is to be used as a non-animated image that is allowed to resolve external references, but which is not intended to be used as an interactive document. For example, an SVG viewer that processes graphics for inclusion in print documents would likely use static mode.

静的~特能
~script実行 不可
外部~参照
宣言的~animation 不可
対話性 不可
◎ Static Features script execution no external references yes declarative animation no interactivity no

2.2.6. ~secure静的~mode

この`処理~mode$は、~SVG文書は[ 非~animate化~画像として利用され, 外部~参照を解決するのは許容されない ]ような状況下に意図され、対話的~文書としての利用は意図されない。 この~modeは、画像~supportは,伝統的に非~animate化~raster画像(~JPEG, ~PNGなど)に制限されている所で利用され得る。 ◎ This processing mode is intended for circumstances where an SVG document is to be used as a non-animated image that is not allowed to resolve external references, and which is not intended to be used as an interactive document. This mode might be used where image support has traditionally been limited to non-animated raster images (such as JPEG and PNG.)

~secureかつ静的な特能
~script実行 不可
外部~参照 不可
宣言的~animation 不可
対話性 不可
◎ Secure Static Features script execution no external references no declarative animation no interactivity no

2.3. ~SVG下位-資源~文書~用の処理~mode

~SVG文書は、直に~viewされる所では,~UAが~supportする最も包括的な`処理~mode$を利用して表示されることが期待される。 しかしながら,~SVGが下位-資源や埋込d文書として処理されるときは、次の制約を適用するモノトスル: ◎ When an SVG document is viewed directly, it is expected to be displayed using the most comprehensive processing mode supported by the user agent. However, when an SVG is processed as a sub-resource or embedded document, the following restrictions must apply:

`image$e 参照 ◎ ‘image’ references
`image$e 要素の中に埋込まれた~SVGは、[ 次が満たされるならば`~secure~animate化~mode$ / 他の場合は`~secure静的~mode$ ]で処理するモノトスル ⇒ 埋込んでいる文書は、`宣言的~animation$iが可能な`処理~mode$を~supportする ◎ An SVG embedded within an ‘image’ element must be processed in secure animated mode if the embedding document supports declarative animation, or in secure static mode otherwise.
注記: 同じ処理~modeは、~SVGが~raster画像に代えて利用されるような,他の事例にも利用されることが予期される — ~HTML `img^e 要素や `image$t ~data型をとる~CSS~prop内など。 これは、~HTMLによる要件 — 画像~源は “対話的でなく,任意選択で~animate化され,[ 多~page化/~script化 ]されていない画像~資源” を参照しなければナラナイ — に整合する。 `HTML$r ◎ The same processing modes are expected to be used for other cases where SVG is used in place of a raster image, such as an HTML ‘img’ element or in any CSS property that takes an <image> data type. This is consistent with HTML's requirement that image sources must reference "a non-interactive, optionally animated, image resource that is neither paged nor scripted" [HTML]
`use$e 要素, 他の `href$a 参照 ◎ ‘use’ element and other 'href' references
~SVG文書が[ `use$e 要素による参照 / `塗り~server要素$による域外参照 ]を通して読込まれたときは、`~secure静的~mode$で処理するモノトスル。 ◎ When SVG documents are loaded through ‘use’ element references or paint server element cross-references they must be processed in secure static mode.
注記: 下位-資源~文書を処理している間は、~animationは稼働しないことに注意 — 処理能の理由, および[ そのような文書~用の時列線を参照する文脈は、現時点では定義されていない ]ことから。 しかしながら,[ 下位-資源~文書からの要素が, `use$e 要素~参照や塗り~server域外参照により現在の文書の中へ~cloneされた ]ときは、~cloneされた`要素~instance$は — ~use要素の~shadow~tree内の~animation にて述べられるように — 現在の文書の時列線~内で~animateされてもヨイ — それは、下位-資源~fileの読込ngを追加的に誘発し得る。 ◎ Note that animations do not run while processing the sub-resource document, for both performance reasons and because there is currently no context defined for resource documents to reference their timeline against. However, when elements from a sub-resource document are cloned into the current document because of a ‘use’ element reference or paint-server cross-reference, the cloned element instances may be animated in the current document's timeline, as described in Animations in use-element shadow trees, and may trigger the loading of additional sub-resource files.
~graphicな効果への参照 ◎ Graphical effects references
~SVG文書のうち,(画像~形式としての~SVGとは対立的に)[ ~style~propにより,文書~内の特定の要素を~targetする参照 ]を通して読込まれたものは、`~secure静的~mode$で処理するモノトスル。 ◎ When SVG documents are loaded through any style property references that target specific elements in the document (as opposed to SVG as an image format), they must be processed in secure static mode.
注記: 下位-資源~文書においては、~animationは稼働しないことに注意 — 処理能の理由から, および[ そのような文書~用の時列線を参照する文脈は、現時点では定義されていない ]ことから。 ◎ Note that animations do not run in sub-resource documents, for both performance reasons and because there is currently no context defined for resource documents to reference their timeline against.
一部の~style~propは、[ 特定の要素/画像~file全体 ]を参照し得る — 前者の事例においては、処理~modeは,より制約的になる。 例えば、~SVG `mask$e 要素への参照は ~animateされないが、画像~maskとして利用された~SVG~file全体は ~animateされ得る。 ◎ Some style properties may reference either specific elements or entire image files; the processing mode is more restrictive in the first case. For example, a reference to an SVG ‘mask’ element will not be animated, but an entire SVG file used as an image mask can be.
~font内の~SVG ◎ SVG in fonts
~SVG~fileが~font参照の一部として処理されるときは、[ 次が満たされるならば `~secure~animate化~mode$ / 他の場合は `~secure静的~mode$ ]を利用するモノトスル ⇒ ~animate化~glyphは~supportされている ◎ When SVG files are processed as part of a font reference, they must use the secure animated mode if animated glyphs are supported, or secure static mode otherwise.
注記: これらの制約は、~OpenType仕様~内に含まれる — `"SVG" table^en から文書を処理するためとして。 ~OpenTypeは、[ ~text/外来の~obj ]の具現化を防止するような`~UA~stylesheet$の形で,追加的な制約も適用する。 `OPENTYPE$r ◎ These restrictions are included in the OpenType specification for processing documents from the "SVG" table. OpenType also applies additional restrictions, in the form of a user agent style sheet that prevents rendering of text and foreign objects [OPENTYPE].

~host文書~内に~inlineに内包された~SVG文書片は、~host文書の`処理~mode$に合致するそれを利用するモノトスル。 ~SVG `foreignObject$e 要素の子として内包された~SVG文書片は、その周囲の~SVG文書の`処理~mode$を利用するモノトスル。 ~SVGでない外来の内容は、等価な制約で処理するモノトスル。 ◎ SVG document fragments that are included inline in a host document must use a processing mode that matches that of the host document. SVG document fragments included as children of an SVG ‘foreignObject’ element must use the processing mode of the surrounding SVG document; non-SVG foreign content must be processed with equivalent restrictions.

注記: 例えば、[ ~HTML `img^e / ~SVG `image$e ]要素から参照されていることに因り,~SVG文書が`~secure~animate化~mode$の下で利用されているならば、 `foreignObject$e 要素の中のどの内容も[ ~script, 対話性, 外部~file参照 ]は不能化されなければナラナイが、宣言的~animationは可能化されるベキである。 ◎ For example, if an SVG document is being used in secure animated mode due to being referenced by an HTML ‘img’ or SVG ‘image’ element, then any content within a ‘foreignObject’ element must have scripts, interactivity, and external file references disabled, but should have declarative animation enabled.

2.3.1. 例

以下に、~HTML~page内に~SVGを参照により埋込むための様々な手法を,そのそれぞれに[ 期待される処理~mode, 許容される特能 ]とともに挙げる。 ◎ Below are various methods of embedding SVG in an HTML page by reference, along with the expected processing mode and allowed features for each.

下の “生きた例” の行に示される各列には、黄色の笑顔が表示されるはずである。 それらの各~例においては、[ 目を~clickすると,~linkの辿り / 顔を~clickすると,宣言的な対話性と~script実行 ]を~testする。 ~linkは、画像を青い~~方形に置換するベキである(もう一度~clickすれば元の画像に復帰する)。 宣言的な対話性は、 `set$e 要素を利用して 顔を黄色の濃淡から緑色の濃淡へ変更し,~CSS疑似類を利用して 対話的な要素に~strokeを追加する。 ~scriptは、笑顔を~fillするベキである。 (対話性に基づくものとは対立的に)時刻に基づく宣言的~animationは、[ 左~目がまばたきし( `animate$e 要素が利用される), ~~暗く青い両~目が一定周期で~~明るく~~輝く(~CSS~keyframe~animationが利用される) ]ならば,~supportされる。 ◎ Each cell in the "Live Example" row should display a yellow smiley face. In each example below, clicking on the eyes tests link traversal, and clicking on the face tests declarative interactivity and script execution. The link should replace the image with a blue square (clicking it will revert it to the original image). The declarative interactivity uses the ‘set’ element to change the face from shades of yellow to shades of green, and uses CSS pseudoclasses to add a stroke to the interactive elements. The script should fill in the smile. Time-based (as opposed to interactivity-based) declarative animation is supported if the left eye is winking (using the ‘animate’ element) and if the eyes are dark blue with regular flashes of light blue (using CSS keyframe animation).

注記: ここに要旨される[ 期待される処理~mode, 特能 ]は、対応する~HTMLや~CSS仕様における,将来の変更点の~subjectになる。 ◎ The expected processing modes and features outlined here are subject to any future changes in the corresponding HTML or CSS specification.

【† 3 列目の~~見出しには, “`sandbox=""^a を伴う `iframe^e” と記されていたが、 `iframe^e の~supportは除去された(なぜか~~見出しだけ除去された)。 】

埋込んでいる手法 ~sandbox法を伴わない~obj `img^e CSS `background^p
期待される処理~mode 動的かつ対話的 動的かつ対話的, 制約あり ~secure~animate化 ~secure~animate化
宣言的な時刻に基づく~animation (左~目はまばたきし,両~目とも色が変化する)。 許容される 許容される 許容される 許容される
宣言的かつ対話的な~animationと~style変化 (顔を~clickすると色が変化する。 顔や目に~hoverされるか~focusされると,外形線が~~現れる)。 許容される 許容される 不能化される 不能化される
同じ閲覧文脈の中での,同じ~domainへの~link~navi (目を~clickすると画像が変化する)。 許容される 許容される 不能化される 不能化される
~scriptによる対話(顔を~clickすると口をあける)。 許容される 不能化される(~sandbox法があるため) 不能化される 不能化される
生きた例 この~browserは埋込d~SVG画像を~supportしない。 ◎ This browser does not support embedded SVG images. 画像による笑顔
◎ Embedding method|object without sandboxing|*|img|CSS background Expected processing mode|dynamic interactive|dynamic interactive, with restrictions|secure animated|secure animated Declarative, time-based animation (winking left eye, color-change in both eyes)|allowed|allowed|allowed|allowed Declarative, interactive animation and style changes (face color changes when clicked, face/eyes outlined when hovered or focused)|allowed|allowed|disabled|disabled Link navigation within the same browsing context, to the same domain (image changes when clicking eyes)|allowed|allowed|disabled|disabled Scripted interaction (smile widens when clicking face)|allowed|disabled (because of sandboxing)|disabled|disabled Live example|This browser does not support embedded SVG images.| smiley face, as an image|

2.4. 文書~適合性~class

~SVGは、特定0の~file形式や文書~型ではなく,文書~obj~model(~DOM)を基に定義される。 したがって,~SVG内容に対しては、この仕様への適合性は[ 当の内容は、適合~DOMを生成できるかどうか ]により定義される。 追加的な適合性~classは、内容は[ 妥当かつ整形式の~XML `xml$r ]かどうかに依存する。 ◎ SVG is defined in terms of a document object model (DOM), rather than a particular file format or document type. For SVG content, therefore, conformance with this specification is defined by whether the content is or can generate a conforming DOM. Additional conformance classes depend on whether the content is also valid and well-formed XML [xml].

2.4.1. 適合~SVG~DOM下位tree

所与の要素を根とする~DOM[ ~node~tree/下位tree ]は、[ この仕様( ~SVG-2 )に述べた仕様を固守する`~SVG文書片$ ]を形成するならば — 特定的には、次をすべて満たすならば — `適合~SVG~DOM下位tree^dfn とされる: ◎ A DOM node tree or subtree rooted at a given element is a conforming SVG DOM subtree if it forms a SVG document fragment that adheres to the specification described in this document (Scalable Vector Graphics (SVG) Specification). Specifically, it:

  • ~treeの根は、`~SVG名前空間$に属する `svg$e 要素である ◎ is rooted by an ‘svg’ element in the SVG namespace,
  • この仕様(~SVG-2)にて定義される要素~用の内容~modelと属性~規則に適合する ◎ conforms to the content model and attributes rules for the elements defined in this document (Scalable Vector Graphics (SVG) Specification), and
  • 他の仕様( `filter-effects-1$r, `css-masking-1$r, `svg-animation$r を含む)により定義される,`~SVG名前空間$に属する要素の[ 内容~model, 属性~規則 ]に適合する。 ◎ conforms to the content model and attributes rules defined by other specifications for any elements in the SVG namespace defined by those specifications (including: [filter-effects-1], [css-masking-1], [svg-animation]).

~SVG文書片は、 `xml-names$r に述べられる ~XML名前空間の便宜性を利用して, 親~XML文書の中に内包される。 しかしながら,適合~SVG~DOM下位treeの根は `svg$e 要素でなければナラナイので、~SVG名前空間に属する個々の要素の利用は, `svg$e の他は許容されないことに注意。 ◎ SVG document fragments can be included within parent XML documents using the XML namespace facilities described in Namespaces in XML [xml-names]. Note, however, that since a conforming SVG DOM subtree must have an ‘svg’ element as its root, the use of an individual non-‘svg’ element from the SVG namespace is disallowed. Thus, the SVG part of the following document is not conforming:

したがって、次の文書において~SVGが成す部分は、`適合していない^em:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE SomeParentXMLGrammar PUBLIC "-//SomeParent" "http://SomeParentXMLGrammar.dtd">
<ParentXML>
  <!-- 
ここには親~XMLに属する要素がある
◎
Elements from ParentXML go here
 -->
  <!-- 
次は適合していない
◎
The following is not conforming
 -->
  <z:rect xmlns:z="http://www.w3.org/2000/svg"
          x="0" y="0" width="10" height="10" />
  <!-- 
ここには親~XMLに属する要素がある
◎
More elements from ParentXML go here
 -->
</ParentXML>

この~SVGが成す部分は、次のように改変すれば,`適合~SVG~DOM下位tree$になる: ◎ Instead, for the SVG part to become a conforming SVG DOM subtree, the file could be modified as follows:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE SomeParentXMLGrammar PUBLIC "-//SomeParent" "http://SomeParentXMLGrammar.dtd">
<ParentXML>
  <!-- 
ここには親~XMLに属する要素がある
◎
Elements from ParentXML go here
 -->
  <!-- 
次は適合している
◎
The following is conforming
 -->
  <z:svg xmlns:z="http://www.w3.org/2000/svg"
         width="100px" height="100px">
    <z:rect x="0" y="0" width="10" height="10"/>
  </z:svg>
  <!-- 
ここには親~XMLに属する要素がある
◎
More elements from ParentXML go here
 -->
</ParentXML>

~SVG言語, および これらの適合性~判定基準は、~SVG内容のどの側面においても,~size上限は供さない。 要素~数, 文字~dataの量, 属性~値を成す文字~数には、最大~値は無い。 ◎ The SVG language and these conformance criteria provide no designated size limits on any aspect of SVG content. There are no maximum values on the number of elements, the amount of character data, or the number of characters in attribute values.

2.4.2. 適合~SVG~markup素片

文書/文書の一部は、次をすべて満たすならば `適合~SVG~markup素片^dfn になる: ◎ A document or part of a document is a conforming SVG markup fragment if\

  • 文書の~MIME型~用に適切な構文解析器により,(~network~error以外の)~errorなしに構文解析して `適合~SVG~DOM下位tree$を形成できる。 ◎ it can be parsed without error (other than network errors) by the appropriate parser for the document MIME type to form a conforming SVG DOM subtree, and in addition if:
  • 文書~内に含まれるどの~CSS~stylesheetも、 `CSS2$r の中核~文法に適合する。 ◎ any CSS stylesheets included in the document conform to the core grammar of Cascading Style Sheets, level 2 revision 1 [CSS2].

2.4.3. 適合~XML互換~SVG~markup素片

`適合~SVG~markup素片$は、次をすべて満たすならば `適合~XML互換~SVG~markup素片^dfn になる: ◎ A conforming SVG markup fragment is also a conforming XML-compatible SVG markup fragment if it:

  • `~XML整形式性の拘束$をすべて満たす。 `xml$r ◎ meets all XML well-formedness constraints ([xml]),
  • `xml-names$r 仕様に適合する。 ◎ conforms to the Namespaces in XML specification [xml-names],
  • すべての `id$a 属性は、`妥当な~XML~ID$である。 `xml$r ◎ all ‘id’ attributes are valid XML IDs ([xml], section 3.3.1), and
  • `<?xml-stylesheet?>^c 処理命令に適合する。 `xml-stylesheet$r ◎ any <?xml-stylesheet?> processing instruction conforms to Associating stylesheets with XML documents [xml-stylesheet].

2.4.4. 適合~XML互換~SVG~DOM下位tree

所与の要素を根とする~DOM~node~tree/下位treeは、次を満たすならば `適合~XML互換~SVG~DOM下位tree^dfn になる ⇒ ~XMLに直列化されたときには,`適合~XML互換~SVG~markup素片$を形成できる ◎ A DOM node tree or subtree rooted at a given element is an conforming XML-compatible SVG DOM subtree if, once serialized to XML, it could form a conforming XML-compatible SVG markup fragment.

何かを改めない限り,適合~XMLに直列化できない~DOM下位treeは、適合~XML互換~SVG~DOM下位treeにならない — 例 ⇒# `id$a 値は妥当な~XML名でない / `Comment$I ~nodeの~dataは文字列 `--^l を包含する ◎ If the DOM subtree cannot be serialized to conforming XML without altering it, such as when an ‘id’ value is not a valid XML name, or when a Comment node's data contains the substring "--", then the subtree is not a conforming XML-compatible SVG DOM subtree.

2.4.5. 適合~SVG自立的~file

文書は、次をすべて満たすならば `適合~SVG自立的~file^dfn になる: ◎ A document is a conforming SVG stand-alone file if:

  • 整形式~XML文書である。 ◎ it is a well-formed XML document,
  • その根~要素は `svg$e 要素である。 ◎ its root element is an ‘svg’ element,
  • その文書~要素を根とする~SVG文書片は、`適合~XML互換~SVG~markup素片$である。 ◎ the SVG document fragment rooted at the document element is a conforming XML-compatible SVG markup fragment, and
  • 文書の中の,他のどの`~SVG文書片$も( `foreignObject$e の中にあるものなど)、`適合~XML互換~SVG~markup素片$を形成する。 ◎ any other SVG document fragments within the document (such as those within a ‘foreignObject’) form a conforming XML-compatible SVG markup fragment.

2.4.6. ~error処理

~SVG文書片は、形上では`~errorである^emとされるような様々な局面がある: ◎ There are various scenarios where an SVG document fragment is technically in error:

  • 文書または~DOM下位treeは、以前の節に述べた文書~型に適合していない。 ◎ The document or DOM subtree is not-conforming for its document type, as described in the previous sections.
  • この仕様にて`~errorである^emものと述べられている他の状況 — 不正な属性~値など。 ◎ Other situations that are described as being in error in this specification, such as incorrect attribute values.

動的~文書は、時間とともに~errorになったりそうでなくなったりし得る。 例えば ~SVG~DOM~animation による文書への変更により、文書は`~errorになって^em,再び正しくなることもある。 ◎ A dynamic document can go in and out of error over time. For example, document changes from the SVG DOM or from animation can cause a document to become in error and a further change can cause the document to become correct again.

~UAは、文書が~errorになったときには,次の~error処理~規則を利用するモノトスル — この仕様の他の節が,特定0の種別の~errorの取扱い用により特有な規則を定義しない限り: ◎ User agents must use the following error processing rules whenever a document is in error, unless other sections of this specification define more specific rules for handling the particular error type:

  • 文書の描画は、~errorを含む要素に遭遇して以降も継続する。 要素またはその~errorを成す部分は描画されなくなる。 ◎ The document rendering shall continue after encountering element which has an error. The element or its part that is in error won't be rendered.
  • ~status-barや~consoleなどの~errorを報告する能力に~accessできる場合は、利用者や開発者が~errorの源を素早く見出すことを可能化するような追加的な詳細を,何であれ供することが推奨される。 例えば~UAは、~error~messageに~errorに遭遇した箇所の行番号等を添えて供することもあろう。 ◎ If the user agent has access to an error reporting capability such as status bar or console, it is recommended that the user agent provide whatever additional detail it can to enable the user or developer to quickly find the source of the error. For example, the user agent might provide an error message along with a line number and character number at which the error was encountered.

~scriptから一連の変更が加えられる状況では、所与の~SVG文書片は~errorになったりそうでなくなったりし得るので、~UAは,文書の呈示(例:表示~装置への描画)が更新される時点に限り ~error処理を適用するベキである。 ◎ Because of situations where a block of scripting changes might cause a given SVG document fragment to go into and out of error, the user agent should only apply error processing at times when document presentation (e.g., rendering to the display device) is updated.

2.5. ~software適合性~class

~softwareに対する適合性の要件は、~programの分類に依存する: ◎ For software, the requirements for conformance depend on the category of program:

`~SVG生成器@ ( `SVG generators^en )
~SVG内容を[ ~markupまたは~DOM ]として[ 作成する/可用にする ]~software(~client側~JS~libraryも該当する)。 ◎ Any software that creates or makes available SVG content, either as markup or as a DOM (as is the case with client-side JavaScript libraries).
`~SVG著作~tool@ ( `SVG authoring tools^en )
~SVGを生成するために利用されることになる ~graphicsや~codeを操作する内容~作成者~向けの~UIを供する~software。 ~SVG著作~toolは、暗黙的に`~SVG生成器$でもある。 ◎ Any software that provides an interface for human content creators to manipulate graphics or code that will be used to generate SVG. SVG authoring tools are implicitly also SVG generators.
`~SVG~server@ ( `SVG servers^en )
他の~softwareからの要請に対する応答にて~SVG内容を可用にするような[ ~network/~file ]~server。 ~SVG~serverは、暗黙的に`~SVG生成器$でもある。 ◎ Any network or file server that makes available SVG content in response to requests from other software. SVG servers are implicitly also SVG generators.
`~SVG解釈器@ ( `SVG interpreters^en )
[ ~SVG文書/~markup素片 ]を構文解析して処理する~software。 ~SVG解釈器は、この仕様を成す節のうち[ 解釈器が引き受ける構文解析や処理~手続き に関係するもの ]の目的においては、`~SVG~UA$である。 ◎ Any software that parses or processes SVG documents or markup fragments. An SVG interpreter is an SVG user agent for the purpose of any sections of this specification that relate to the parsing or processing steps undertaken by the interpreter.
`~SVG~viewer@ ( `SVG viewers^en )
[ ~SVG文書/~SVG~markup素片 ]の構文解析や処理の後に具現化される,~graphicな表現を作成する~software。 ~SVG~viewerは、暗黙的に`~SVG解釈器$でもある。 ~SVG~viewerは、この仕様の目的においては,常に`~SVG~UA$である。 ◎ Any software that creates a rendered graphical representation after parsing or processing an SVG document or SVG markup fragment. SVG viewers are implicitly also SVG interpreters. An SVG viewer is always an SVG user agent for the purpose of this specification.
`~SVG~UA@ ( `SVG user agent^en )
~SVG~UAは、~SVG内容を検索取得-可能かつ具現化-可能な`~UA$を指す。 ◎ An SVG user agent is a user agent that is able to retrieve and render SVG content.
`~UA@ ( `user agent^en )
~UAの一般的な定義は、[[ ~text, ~graphics, 音響, 動画, 画像, その他の内容~型 ]を含む,~Web内容 ]を検索取得して具現化する~appである。 ~UAは、何らかの型の内容を取扱う追加的な~UAを要求してもヨイ。 一例として、~browserは音響や動画を具現化するために別々の~programや~pluginを走らせてもヨイ。 ~UAには、次に挙げるものがある: ~graphicな~desktop~browser, ~multimedia再生器, ~text~browser, ~voice~browser, [ ~screen~reader, ~screen拡大鏡, 発話~合成器, ~screen上の~keyboard, ~voice入力~software ]などの支援技術。 ◎ The general definition of a user agent is an application that retrieves and renders Web content, including text, graphics, sounds, video, images, and other content types. A user agent may require additional user agents that handle some types of content. For instance, a browser may run a separate program or plug-in to render sound or video. User agents include graphical desktop browsers, multimedia players, text browsers, voice browsers, and assistive technologies such as screen readers, screen magnifiers, speech synthesizers, onscreen keyboards, and voice input software.
一般~用語としての “~UA” は、~SVG内容を検索取得して具現化する能を備えるとは限らない。 しかしながら,当の文脈が他の解釈を要求しない限り、この仕様におけるすべての “~UA” は,[ ~SVG内容を検索取得して具現化する`~SVG~UA$ ]を参照するものと見做される。 ◎ In general terms, a "user agent" may or may not have the ability to retrieve and render SVG content; however, unless the context requires an alternative interpretation, all references to a "user agent" in this specification are assumed to be references to an SVG user agent that retrieves and renders SVG content.

多くの~programは、複数の~software~classに属することになる。 例えば,[ ~SVG~fileを取込んで表示でき, 利用者が改変することを許容し,改変された~graphicを~fileに書出す ]ような~graphicな編集器は、[ ~SVG解釈器, ~SVG~viewer, ~SVG著作~tool, ~SVG生成器 ]である。 ◎ Many programs will fall under multiple software classes. For example, a graphical editor that can import and display SVG files, allow the user to modify them, and then export the modified graphic to file, is an SVG interpreter, an SVG viewer, an SVG authoring tool, and an SVG generator.

2.5.1. 適合~SVG生成器

`~SVG生成器$は、次をすべて満たすならば `適合~SVG生成器^dfn になる: ◎ A conforming SVG generator is a SVG generator that:

  • 常に[ `適合~SVG~DOM下位tree$ / `適合~SVG~markup素片$ / `適合~SVG自立的~file$ ]を作成する ◎ always creates a conforming SVG DOM subtree, a conforming SVG markup fragment, or a conforming SVG stand-alone file;
  • 適合していない~SVG文書片を包含している文書を作成しない ◎ does not create documents containing non-conforming SVG document fragments;
  • この仕様が与える[ ~SVG作者~向けの規範的な要件, および ~SVG生成器~用に特有な規範的な要件 ]をすべて満たす。 ◎ meets all normative requirements in this specification for SVG authors, as well as specific normative requirements for SVG generators.

~SVG生成器には、[ ~Unicode文字~符号化法 `UNICODE$r を既定で利用する ]こと, および[ `charmod$r による他の指針に従う ]ことが,強く奨励される。 ◎ SVG generators are strongly encouraged to use a Unicode character encoding by default, and to follow the other guidelines of the Character Model for the World Wide Web [UNICODE] [charmod].

注記: 高-精度~dataを取扱っている~SVG生成器には、§ 高-精度な幾何を生成するときの注記 における指針に従うことが奨励される。 ◎ SVG generators handling high-precision data are encouraged to follow the guidelines in the section Notes on generating high-precision geometry.

2.5.2. 適合~SVG著作~tool

`atag20$r に定義される`著作~tool$は、`適合~SVG生成器$であって,[ その仕様による~level A の要件のうち,自身に関連なもの ]すべてに適合するならば, `適合~SVG著作~tool^dfn になる。 ~level AA, AAA の要件は、奨励されるが,適合性には要求されない。 ◎ An authoring tool, as defined in the Authoring Tool Accessibility Guidelines 2.0, is a conforming SVG authoring tool if it is a conforming SVG generator and it also conforms to all relevant Level A requirements from that document [atag20]. Level AA and Level AAA requirements are encouraged but not required for conformance.

2.5.3. 適合~SVG~server

`適合~SVG~server^dfn は、`適合~SVG生成器$に課される要件をすべて満たさなければナラナイ。 加えて,適合~SVG~serverは、~MIME型を利用する~HTTPその他の~protocolを利用しているならば、~SVG自立的~fileを,~MIME型 `image/svg+xml^c を伴わせて~serveしなければナラナイ。 ◎ A conforming SVG server must meet all the requirements of a conforming SVG generator. In addition, conforming SVG servers using HTTP or other protocols that use Internet Media types must serve SVG stand-alone files with the media type "image/svg+xml".

加えて,~SVG~fileは[ `gzip^i / `deflate^i ]で圧縮される場合、適合~SVG~serverは,当の~protocolが~supportするものに則って,そのことを適切な~headerで指示しなければナラナイ — 特定的には、~serverは【~protocolが~HTTPならば】: ◎ Also, if the SVG file is compressed with gzip or deflate, conforming SVG Servers must indicate this with the appropriate header, according to what the protocol supports. Specifically,\

  • 転送する直前に内容を圧縮する場合、 `Transfer-Encoding$h ~headerを利用して,その値に[ `gzip^v, `deflate^v ]のうち適切な方を含めなければナラナイ。 ◎ for content compressed by the server immediately prior to transfer, the server must use the "Transfer-Encoding: gzip" or "Transfer-Encoding: deflate" headers as appropriate.\
  • 圧縮された形式で~serverに格納-済みの内容(例: ~file拡張子 `.svgz^c )には、 `Content-Encoding$h ~headerを利用して,その値に[ `gzip^v, `deflate^v ]のうち適切な方を含めなければナラナイ。 ◎ For content stored in a compressed format on the server (e.g. with the file extension .svgz), the server must use the "Content-Encoding: gzip" or "Content-Encoding: deflate" headers as appropriate.

注記: ~HTTP `rfc2616$r においては、格納-済み内容(`~payload本体$)の圧縮法は,[ ~HTTPの `TE$h, `転送~符号法$にて定義される,`~message本体$の自動的な圧縮法 ]とは別個に定義される。 これが拙く環境設定されていて,~HTTP~header内に指定された圧縮法が利用される値に合致しない場合、~SVG~UAは, 文書を~errorであるものと扱うことが要求される。 ◎ In HTTP, compression of stored content (the "entity") is distinct from automatic compression of the message body, as defined in HTTP/1.1 TE/ Transfer Encoding ([rfc2616], sections 14.39 and 14.41). If this is poorly configured, and the compression specified in the HTTP headers does not match the used values, SVG user agents are required to treat the document as being in error.

~SVG, ~SVGZ 両~型の~fileとも取扱うよう~serverを環境設定するためには、両~型に対し,異なる圧縮~headerを伴わせつつ,同じ~MIME型をアテガうことを要する。 一部の共通的に利用される~serverは、この環境設定を容易または効率的な仕方では~supportしない — そこでは、圧縮の挙動が~MIME型に基づいて環境設定されているので。 ◎ Configuring a server to handle both SVG and SVGZ files means that it must be able to assign the same media type to both types of files, but with different compression headers. Some commonly used servers do not support this configuration in an easy or efficent way, because compression behavior is configured based on media type.

現代のほとんどの~web~serverでは、~SVGZ~fileより未圧縮の~SVG~fileの方が,~uploadは容易になることが多い。 その上で、~serverが~fileを伝送~用に圧縮して,【~UAが】未来の要請-用にそれを~cacheすることに依拠する — ~HTMLなどの他の~textに基づく~file形式~用のものと同じ,~server指示書きを利用して。 これにより,~serverは、新たな圧縮~methodを — ~fileを要請する~UAが~supportするようになったなら — 利用できるようにもなる。 ◎ With most modern web servers, it is often easier to upload uncompressed SVG files instead of SVGZ files. Then, rely on the server to compress the file for transmission, and cache it for future request, using the same server instructions as for other text-based file formats such as HTML. This also allows the server to use newer compression methods, when they are supported by the user agent requesting the file.

代替として,~web~serverは、予め圧縮された~SVGZ~fileを — 複合~file拡張子 `.svg.gz^c を利用するよう改称しておけば — 正しく処理-可能になり得る。 それでも,~serverは、 `gzip^i で圧縮された静的~fileを~supportするよう環境設定される必要がある。 ◎ Alternatively, the web server may be able to correctly process pre-compressed SVGZ files if they are first renamed to use the .svg.gz compound file extension. The server would still need to be configured to support static gzip-compressed files.

2.5.4. 適合~SVG解釈器

注記: `~SVG解釈器$は、~SVG文書片を構文解析して処理できる~programである。 ~SVG解釈器の例には、~server側[ 符号変換~tool / 最適化器(例:~SVG内容を改変して別の~SVG内容へ変換する~tool) ], [ 分析~tool(例:~SVG内容から~text内容を抽出する~toolや妥当性~検査器) ]などがある。 ~SVGから別の~graphic表現への符号変換器 — ~SVGから~rasterへの符号変換器など — は,~viewerを表現するので、~viewer用の適合性~判定基準も適用される。 ◎ An SVG interpreter is a program which can parse and process SVG document fragments. Examples of SVG interpreters are server-side transcoding tools or optimizers (e.g., a tool which converts SVG content into modified SVG content) or analysis tools (e.g., a tool which extracts the text content from SVG content, or a validity checker). A transcoder from SVG into another graphics representation, such as an SVG-to-raster transcoder, represents a viewer, and thus viewer conformance criteria also apply.

`適合~SVG解釈器^dfn は、 `xml$r, `xml-names$r にて定義される~XML構成子~すべてを構文解析-可能かつ処理-可能になるモノトスル。 ◎ A conforming SVG interpreter must be able to parse and process all XML constructs defined in XML 1.0 [xml] and Namespaces in XML [xml-names].

`適合~SVG解釈器$は、`適合~XML互換~SVG~markup素片$を,その内容を成す~DOM構造(要素, 属性, ~text内容, ~comment, 等々)を正しく尊重する方式で構文解析するモノトスル。 解釈器には、すべての特能の意味論を正しく解釈することまでは要求されない。 ◎ A conforming SVG interpreter must parse any conforming XML-compatible SVG markup fragment in a manner that correctly respects the DOM structure (elements, attributes, text content, comments, etc.) of the content. The interpreter is not required to interpret the semantics of all features correctly.

非~XML構文(~HTMLなど)を~supportする~SVG解釈器は、その構文による どの`適合~SVG~markup素片$も,正しく構文解析するモノトスル。 ◎ If the SVG interpreter supports non-XML syntaxes (such as HTML), it must correctly parse any conforming SVG markup fragment in that syntax.

~SVG解釈器が,~SVG内容を処理の帰結として[ ~scriptを走らす/ 外部~資源~fileを~fetchする ]場合、[ ~SVG下位-資源~文書~用の各種 処理~mode, ~linking ]にて,`~UA$用に述べられる制約に従うモノトスル。 ◎ If the SVG interpreter runs scripts or fetches external resource files as a consequence of processing the SVG content, it must follow the restrictions described for user agents in Processing modes for SVG sub-resource documents and in the Linking chapter.

2.5.5. 適合~SVG~viewer

Action: 処理能~class要件に目を通して,その~~条項を除去するか一般~要件に移動するか裁定する (`http://www.w3.org/2013/11/14-svg-minutes.html#action01$refer)。 (heycam) ◎ Action: Look at the performance class requirements and decide whether to remove points or move them into general requirements. (heycam)\

Action: `現在の変形n行列$の計算は、倍精度を利用するベキと仕様化する (`http://www.w3.org/2014/10/31-svg-minutes.html#action02$refer)。 (stakagi) ◎ Spec that calculation of CTMs should use double precision. (stakagi)

  • 解決: ~SVG-2から処理能~class( `適合~高品質~SVG~viewer$ )の要件を除去する (`http://www.w3.org/2013/11/14-svg-minutes.html#item01$refer)。 ◎ Resolution: Remove performance class requirements from SVG 2. ( ConformingHighQualitySVGViewers )
  • 目的: 数量的な精度に関して、技術的な絵図や地図の利用事例と~UAの処理能との引き換えを,前者寄りにする。 ◎ To modulate the tradeoff of a numerical precision in use cases of the technical drawing and mapping, and the performance of user agent.
  • Owner: heycam, stakagi

注記: `~SVG~viewer$は、~SVG文書片を構文解析して処理して,文書の内容を[ ~display, 印刷機, 版刻器 ]など,何らかの類の~graphicな出力~媒体に具現化できる~programである。 したがって,`~SVG~viewer$は`~SVG解釈器$でもある(~SVG文書片を構文解析して処理できる点において)が、正しい具現化も追加的な要件に伴う。 ◎ An SVG viewer is a program which can parse and process an SVG document fragment and render the contents of the document onto some sort of graphical output medium such as a display, printer, or engraver. Thus, an SVG viewer is also an SVG interpreter (in that it can parse and process SVG document fragments), but with the additional requirement of correct rendering.

`適合~SVG~viewer^dfn は、`適合~SVG解釈器$でなければナラナイことに加え、具現化~出力を — 少なくとも、この章に定義する,次に挙げるいずれかの処理~modeで — ~support可能になるモノトスル ⇒# `動的~対話的~処理~mode$/ `~animate化~mode$/ `~secure~animate化~mode$/ `静的~mode$/ `~secure静的~mode$ ◎ A conforming SVG viewer must be a conforming SVG interpreter, and must be able to support rendering output in at least one of the processing modes defined in this chapter: • dynamic interactive mode • animated mode • secure animated mode • static mode • secure static mode

適合~SVG~viewerは、この仕様にて[ その処理~mode(たち)が~supportするすべての特能, および`~UA$ ]用に指示される規範的な要件を,すべて満たすモノトスル。 ◎ A conforming SVG viewer must meet all normative requirements indicated in this specification for user agents, for all features supported by its processing mode(s).

すべての`適合~SVG~viewer$に適用されなければナラナイ,特有な判定基準は: ◎ Specific criteria that must apply to all conforming SVG viewers:

  • ~viewerは、 `CSS2$r に定義される,すべての~CSS構文~特能を構文解析-可能であって、かつ ~CSSによる~SVG内容の~style付けを~supportするモノトスル — ~style付け章に挙げられた すべての 要求される~prop, 要求される特能 も含め。 ~viewerは、他の~CSS言語~特能 — 対応する仕様により,~SVG要素に適用するものと定義された他の~prop — も~supportしてもヨイ。 ~viewerは、自身が~supportする `CSS2$r による特能を,その仕様の 適合性の定義 に則って実装するモノトスル。 ◎ The viewer must be able to parse all CSS syntax features defined in Cascading Style Sheets, level 2 revision 1 [CSS2], and must support CSS styling of SVG content including all required properties and required features listed in the Styling chapter. The viewer may support other CSS language features, and any other properties that are defined by the corresponding specification to apply to SVG elements. The supported features from CSS 2.1 must be implemented in accordance with the conformance definitions from the CSS 2.1 specification ([CSS2], section 3.2).
  • ~viewerは、`呈示~属性$を利用する~style付け~propを~SVG内容に適用-可能にするモノトスル。 ◎ The viewer must be able to apply styling properties to SVG content using presentation attributes.
  • ~SVG内容が成す画像の区画は、不透明度 100% 未満にされてもヨイ。 ~viewerは,少なくとも、~SVG内容が成す画像に対し,~target~canvas上への単純~alpha組成を — `compositing-1$r に述べられるように — ~supportするモノトスル。 ◎ Areas of an image of SVG content may have opacity less than 100%. The viewer must at least support Simple Alpha Compositing of the image of the SVG content onto the target canvas, as described in the Compositing and Blending Specification [compositing-1].
  • ~viewerは、~SVG内容の中で別の文書への~URI参照が許可された所では,[ `base64^i / ~URL ]に符号化された内容を包含している`~data~URL参照$を~supportするモノトスル — `data:^c ~URL~scheme `rfc2397$r にも適合する下で。 その~MIME型が `image/svg+xml^c である符号化された文書が処理されるためには、整形式かつ完全な~SVG文書でなければナラナイ。 ◎ The viewer must support data URL references containing base64-encoded or URL-encoded content, in conformance with the "data:" URL scheme [rfc2397], wherever a URI reference to another document is permitted within SVG content. When the encoded document is of MIME type image/svg+xml, it must be a well-formed, complete SVG document in order to be processed.
  • ~viewerは、画像~形式として[ ~JPEG, ~PNG ]を~supportするモノトスル。 `JPEG$r `PNG$r ◎ The viewer must support JPEG and PNG image formats [JPEG] [PNG].

    注記: ~viewerが~secure処理~modeしか~supportしなくとも、`~data~URL参照$を処理するためには,これらの画像~形式を~supportすることが依然として要求される。 ◎ Even if the viewer only supports secure processing modes, it is still required to support these image formats, in order to process data URL references.

  • 画像~dataを標本化し直すときは、 `image-rendering$p ~propの仕様に整合するように行うモノトスル。 ◎ Resampling of image data must be consistent with the specification of property image-rendering.
  • 親~環境~内でアリな所では、~viewerは,[ 物理的な装置の解像度, 期待される~view用の条件 ]についての情報を利用して初期~拡縮率を正確aに決定するモノトスル — `CSS2$r に述べられる規則にも適合する下で。 この情報を決定するのが不可能な状況においては、~viewerまたは親の環境は,共通的な~target装置~用に適度に近似させるモノトスル。 ◎ Whenever possible in the parent environment, the viewer must use information about physical device resolution and expected viewing conditions in order to accurately determine the initial scale in conformance with the rules described in CSS 2.1 ([CSS2], section 4.3.2). In situations where this information is impossible to determine, the viewer or the parent environment must make a reasonable approximation for common target devices.
  • すべての視覚的な具現化は、初期~zoom 比率 1:1 の下では,数学的に正しい結果から装置の[ 画素/ `point^en 【印刷における網点?】 ]において~~誤差 1 以下に収めるモノトスル。 ~viewerには、~zoomされたときも,そのくらい高い正確さを保つよう試みることが示唆される。 ◎ All visual rendering must be accurate to within one device pixel or point of the mathematically correct result at the initial 1:1 zoom ratio. It is suggested that viewers attempt to keep a high degree of accuracy when zooming.

    注記: 低-解像度~display装置~上では、 `anti-aliasing^en その他の滑化~手法の~supportを,~~強く推奨する。 `適合~高品質~SVG~viewer$においては、それは要件とされる。 ◎ On lower-resolution display devices, support for anti-aliasing or other smoothing methods is highly recommended. It is a requirement for conforming high-quality SVG viewers.

  • 印刷ng装置を~supportする場合、~SVG内容を印刷機の解像度で印刷~可能にするモノトスル — ~display用に要求されるのと同じ~graphic特能を可用にした上で(例:有色-印刷機~上でも、指定された色を描画するモノトスル)。 ◎ If printing devices are supported, SVG content must be printable at printer resolutions with the same graphics features available as required for display (e.g., the specified colors must be rendered on color printers).
  • 正確aな ~sRGB色 `SRGB$rを~supportする~system上では、すべての[ ~sRGB色の算出, 結果の色~値 ]は、成分~値の範囲を 0 〜 255 に~~換算する下で,誤差 1 以下に収めるモノトスル。 ◎ On systems which support accurate sRGB [SRGB] color, all sRGB color computations and all resulting color values must be accurate to within one sRGB color component value, where sRGB color component values range from 0 to 255.
  • ~SVG実装は、どの内容~型~用にも(~SVG, ~script~file, 画像を含めて)[ `gzip^i `rfc1952$r / `deflate^i `rfc1951$r ]で符号化された~data~streamを正しく~supportするモノトスル。 ~HTTPを~supportする~SVG実装は、これらの符号化法を `rfc2616$r に則って~supportするモノトスル。 特に,~clientは、 `Accept-Encoding$h 要請~headerで,自身が受容する符号化法を — ~~最低でも[ `gzip^v / `deflate^v ]を含めて — 指定した上で、~serverから~downloadした[ `gzip^i / `deflate^i ]で符号化された~data~streamを解凍するモノトスル。 ~SVG~viewerが圧縮された内容(例: `.svgz^c ~file)を~HTTP越しに検索取得したとき,[ `Content-Encoding$h / `Transfer-Encoding$h ]応答~headerが[ 欠落しているか,内容に適用された圧縮~methodに合致しない値を指定している ]場合、~SVG~viewerは,内容を具現化しないモノトスル — 文書は~errorであるものと扱うモノトスル。 ◎ SVG implementations must correctly support gzip-encoded [rfc1952] and deflate-encoded [rfc1951] data streams, for any content type (including SVG, script files, images). SVG implementations that support HTTP must support these encodings according to the HTTP 1.1 specification [rfc2616]; in particular, the client must specify with an "Accept-Encoding:" request header [HTTP-ACCEPT-ENCODING] those encodings that it accepts, including at minimum gzip and deflate, and then decompress any gzip-encoded and deflate-encoded data streams that are downloaded from the server. When an SVG viewer retrieves compressed content (e.g., an .svgz file) over HTTP, if the "Content-Encoding" and "Transfer-Encoding" response headers are missing or specify a value that does not match the compression method that has been applied to the content, then the SVG viewer must not render the content and must treat the document as being in error.
  • ~viewerは、座標の変換~用の数量的な演算における中間~計算~用に,少なくとも単精度~浮動小数点を利用するモノトスル。 しかしながら,座標~変形nの丸め誤差を防止するため、 `現在の変形n行列$ %~CTM の生成~処理においては,少なくとも倍精度~浮動小数点による算出を利用するモノトスル。 そのような最小かつ代表的な算出の仕方は、次の公式で表出される: ◎ The viewer must use at least single-precision floating point for intermediate calculations on any numerical operations for conversion of coordinates. However, in order to prevent the rounding error on coordinate transformation, at least double-precision floating point computation must be used on CTM generation processing. Such minimum typical computation way is expressed with following formulas.

    【! `ctm-matrix^dgm `ctm-matrix2^dgm 】
    • (単)%~CTM = (単)( (倍)%M1 ⋅ (倍)%M2 )
    • (単)%V = %~CTM ⋅ (単)%U
    • ここで ⇒# (単) は単精度, (倍) は倍精度を表す/ %M1, %M2 は変形n行列/ %U は利用元~座標/ %V は表示域~座標
    ◎ ( single ) CTM = ( single ) ( ( double ) [ a 1 c 1 e 1 b 1 d 1 f 1 0 0 1 ] ⋅ ( double ) [ a 2 c 2 e 2 b 2 d 2 f 2 0 0 1 ] ) ◎ ( single ) [ x viewport y viewport 1 ] = CTM ⋅ ( single ) [ x userspace y userspace 1 ]

    さらには,表示域~座標系が入子にされているときは、 `getScreenCTM()$n — すなわち、[ 利用元~座標を出力~装置~座標に変形するために,入子にされた変形n行列 ]により生産される`現在の変形n行列$ — は,倍精度~浮動小数点による算出で生成するモノトスル。 ◎ Furthermore, when it has nested viewport coordinate sytstems, the ScreenCTM which is a transformation matrix produced by nested CTM for transforming user coordinates into the coordinates of an output device also must be generated by double-precision floating point computation.

`適合~SVG~viewer$は、`対話$iが可能な`処理~mode$を~supportするならば,次の特能も追加的に~supportするモノトスル: ◎ A conforming SVG viewer that supports processing modes that include interaction must support the following additional features:

  • 対話的な利用者~環境においては、親~XML文書の中に埋込まれた自立的[ ~SVG文書/~SVG文書片 ]用に~zoom&~pan法の便宜性が存在するモノトスル。 ◎ For interactive user environments, facilities must exist for zooming and panning of stand-alone SVG documents or SVG document fragments embedded within parent XML documents.
  • 適切な利用者~対話~便宜性を備える環境においては、~viewerは,~hyperlinkを作動化する能を~supportするモノトスル。 ◎ In environments that have appropriate user interaction facilities, the viewer must support the ability to activate hyperlinks.
  • ~Web~browser環境においては、~viewerは,~SVG内容の中の~text文字列を探索して選択する能を備えるモノトスル。 ◎ In Web browser environments, the viewer must have the ability to search and select text strings within SVG content.
  • ~display装置を~supportする場合、~viewerは,~SVG内容から~textを選択して~system~clipboardへ複製する能を備えるモノトスル。 ◎ If display devices are supported, the viewer must have the ability to select and copy text from SVG content to the system clipboard.
  • ~viewerは、 `UAAG20$r による~level A 要件のうち,自身に適用-可能なものすべてを満たすモノトスル。 ~level AA, AAA の要件は、奨励されるが,要求されない。 ◎ The viewer must meet all applicable Level A requirements of the User Agent Accessibility Guidelines 2.0 [UAAG20]. Level AA and level AAA features are encouraged, but not required.

`適合~SVG~viewer$は、`~script実行$iが可能な`処理~mode$を~supportするならば,次の特能を追加的に~supportするモノトスル: ◎ A conforming SVG viewer that supports processing modes that include script execution must support the following additional features:

  • ~viewerは、この仕様~内のすべての~IDL片の`適合~ECMAScript実装$であるモノトスル `WebIDL$r ◎ The viewer must be a conforming ECMAScript implementation of all the IDL fragments in this specification. [WebIDL]

~UAが[ ~HTMLまたは~XHTML ]を~viewする能力を含む,または ~XML文書に~CSS~style付け~propを適用できる場合には、`適合~SVG~viewer$は,~raster画像~外部~資源が利用され得る所では,~MIME型 `image/svg+xml^c の資源を~supportするモノトスル — ~HTML/~XHTML `img^e 要素~内や,~raster画像~資源(例: `background-image^p )を指し得る~CSS~prop内など。 ◎ If the user agent includes an HTML or XHTML viewing capability, or can apply CSS styling properties to XML documents, then a conforming SVG viewer must support resources of MIME type "image/svg+xml" wherever raster image external resources can be used, such as in the HTML or XHTML ‘img’ element and in CSS properties that can refer to raster image resources (e.g., ‘background-image’).

2.5.5.1. 印刷ngの実装に対する注記

~display装置~上の~zoom法, 印刷ngの両者とも~supportする~UAには、既定の印刷ng~optionにおいては,現在の~SVG文書片の[ ~display装置における現在の~viewを反映するように印刷される出力を生産する ]ことが推奨される(媒体に特有な~style付けは無いと見做すならば) — [ 利用者が行った~zoom&~pan~~操作, ~animationの現在の状態, ~DOMや~scriptingに因り文書に加えられた変更 ]も織り込んだ上で。 ◎ For user agents which support both zooming on display devices and printing, it is recommended that the default printing option produce printed output that reflects the display device's current view of the current SVG document fragment (assuming there is no media-specific styling), taking into account any zooming and panning done by the user, the current state of animation, and any document changes due to DOM and scripting.

したがって,利用者が~display装置~上の地図の特定0の区画の中へ~zoomしていて,複写物を要請した場合、その複写物は,~display装置に現れている地図と同じ~viewを示すベキである。 利用者が~animationを静止して印刷したときは、その複写物は,~display装置~上で現在~静止されている図面と同じ~graphicを示すベキである。 ~scriptが文書に要素を追加した/除去した場合、その複写物は~display上に反映される変化と同じものを反映するベキである。 ◎ Thus, if the user zooms into a particular area of a map on the display device and then requests a hardcopy, the hardcopy should show the same view of the map as appears on the display device. If a user pauses an animation and prints, the hardcopy should show the same graphics as the currently paused picture on the display device. If scripting has added or removed elements from the document, then the hardcopy should reflect the same changes that would be reflected on the display.

~SVG文書が印刷機など静的のみの装置~上に描画されるときには、~SVGの[ ~animation/~scripting ]の便宜性を~supportしない~UAは,文書~内にある それ用の要素はすべて無視して,残りの~graphics要素を,この仕様における規則に則って描画するモノトスル。 ◎ When an SVG document is rendered on a static-only device such as a printer which does not support SVG's animation and scripting and facilities, then the user agent shall ignore any animation and scripting elements in the document and render the remaining graphics elements according to the rules in this specification.

2.5.6. 適合~高品質~SVG~viewer

`適合~SVG~viewer$が `適合~高品質~SVG~viewer^dfn と見なされるためには、次の特能を追加的に~supportするモノトスル: ◎ In order for a conforming SVG viewer to be considered a conforming high-quality SVG viewer, it must support the following additional features:

  • プロ品質の結果 — 良好な[ 処理, 具現化 ]処理能の下で,滑らかでチラつかない~animationを備えるような。 ◎ Professional-quality results with good processing and rendering performance and smooth, flicker-free animations.
  • 150dpi 以下の~displayなど,低-解像度~装置~上では、[ 線, 曲線, ~text ]の縁を滑化するための~support(滑化は、 `anti-aliasing^en 技法を利用して成遂げられることが多い)。 ◎ On low-resolution devices such as display devices at 150dpi or less, support for smooth edges on lines, curves and text. (Smoothing is often accomplished using anti-aliasing techniques.)
  • ~ICC~profile `ICC$r ~supportを介する色~管理(すなわち,~ICC~profileを利用して定義された色を~supportする能 `css-color-4$r )。 ◎ Color management via ICC profile support [ICC] (i.e., the ability to support colors defined using ICC profiles) [css-color-4] Color management via ICC profile support (i.e., the ability to support colors defined using ICC profiles).
  • 画像~dataの標本化し直すときは、 `image-rendering$p ~propの記述にて指定された,適合~高品質~SVG~viewer用の要件に適合するモノトスル。 ◎ Resampling of image data must conform to the requirements for conforming high-quality SVG viewers as specified in the description of property image-rendering.
  • 座標系~変形nにおける数量的な計算に対する,少なくとも倍精度の浮動小数点による算出。 ◎ At least double-precision floating point computation on coordinate system transformation numerical calculations.

`適合~高品質~SVG~viewer$は、[ `~script実行$i, `宣言的~animation$i, `対話$i ]いずれかが可能な`処理~mode$を~supportするならば,次の特能を追加的に~supportするモノトスル: ◎ A conforming high-quality SVG viewer that supports processing modes that include script execution, declarative animation, or interaction must support the following additional features:

  • 漸進的な[ 具現化/~animation効果 ](すなわち、文書は,読み込み始めると同時に現れ始め、文書の残りを~downloadするのと並列的に~animationの稼働を開始させる)。 ◎ Progressive rendering and animation effects (i.e., the start of the document will start appearing and animations will start running in parallel with downloading the rest of the document).
  • 制約された~screen更新(すなわち、描直し~eventに呼応して,~display内の要求された区画のみ更新する)。 ◎ Restricted screen updates (i.e., only required areas of the display are updated in response to redraw events).

`適合~高品質~SVG~viewer$は、`対話$iが可能な`処理~mode$を~supportするならば,次の特能を追加的に~supportするモノトスル: ◎ A conforming high-quality SVG viewer that supports processing modes that include interaction must support the following additional features:

  • ~Web~serverから検索取得される画像や~fontを~~裏で~downloadして,~downloadが完了したなら表示を更新すること。 ◎ Background downloading of images and fonts retrieved from a Web server, with updating of the display once the downloads are complete.