- From: SVG Working Group repository <cam+svgwgrepo@mcc.id.au>
- Date: Fri, 05 Apr 2013 22:41:15 -0700
- To: public-svg-wg@w3.org
details: https://svgwg.org/hg/svg2/rev/7004b7adbc8b branches: changeset: 483:7004b7adbc8b user: Cameron McCormack <cam@mcc.id.au> date: Sat Apr 06 16:38:50 2013 +1100 description: Migrate SVG Integration from CVS. diffstat: specs/integration/Makefile | 1 + specs/integration/master/Overview.html | 910 ++++++++ specs/integration/master/definitions-SVG11.xml | 1558 +++++++++++++++ specs/integration/master/definitions-SVGT12.xml | 852 ++++++++ specs/integration/master/definitions.xml | 19 + specs/integration/master/publish.xml | 43 + specs/integration/master/smiley.svg | 42 + specs/integration/master/style/W3C-ED.css | 89 + specs/integration/master/style/W3C-WD.css | 88 + specs/integration/master/style/default.css | 550 +++++ specs/integration/master/style/default_no_issues.css | 11 + specs/integration/master/style/default_requirements.css | 23 + specs/integration/master/style/default_svg.css | 337 +++ specs/integration/master/style/expanders.js | 32 + specs/integration/master/style/link-fixup.js | 9 + specs/integration/master/style/load-mathjax.js | 4 + specs/integration/master/target.svg | 11 + 17 files changed, 4579 insertions(+), 0 deletions(-) diffs (4664 lines): diff --git a/specs/integration/Makefile b/specs/integration/Makefile new file mode 100644 --- /dev/null +++ b/specs/integration/Makefile @@ -0,0 +1,1 @@ +include ../../../svg2-tools/spec.mk diff --git a/specs/integration/master/Overview.html b/specs/integration/master/Overview.html new file mode 100644 --- /dev/null +++ b/specs/integration/master/Overview.html @@ -0,0 +1,910 @@ +<?xml version="1.0"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional+edit//EN" "xhtml1-transitional+edit.dtd"> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:edit="http://xmlns.grorg.org/SVGT12NG/"> +<head> + <title>SVG Integration 1.0</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="stylesheet" title="Default" type="text/css" href="style/default_svg.css"/> + <link rel="alternate stylesheet" title="No issues/annotations" type="text/css" href="style/default_no_issues.css"/> + <style> + .feature { + text-align: right; + } + .embedcontext, table.ref_modes td { + width: 150px; + height: 150px; + } + table.ref_modes td { + border: gainsboro 1px solid; + } + th, td { + text-align: center; + } + .bg { + background-image: url(./smiley.svg); + width: 150px; + height: 150px; + } + table.features { + border: gray 1px solid; + margin-top: 1em; + } + table.features th, table.features td { + text-align: left; + background-color: gainsboro !important; + color: black !important; + padding: 0.5em !important; + } + table.features thead th { + text-align: center; + background-color: gray !important; + color: white !important; + font-weight: normal; + } + </style> +</head> +<body> + +<div class="head"> + <p><a href="http://www.w3.org/"><img height="48" width="72" alt="W3C" src="http://www.w3.org/Icons/w3c_home"/></a></p> + <h1 id="pagetitle">SVG Integration 1.0</h1> + <h2 id="pagesubtitle">W3C <edit:maturity/> <em><edit:date/></em></h2> + <dl> + <dt>This version:</dt> + <dd><edit:thisversion/></dd> + <dt>Latest version:</dt> + <dd><edit:latestversion/></dd> + <edit:includelatesteditorsdraft/> + <!-- + <dt>Previous version:</dt> + <dd><edit:previousversion/></dd> + --> + <dt>Public comments:</dt> + <dd><a href="mailto:www-svg@w3.org" class='url'>www-svg@w3.org</a> (<a href="http://lists.w3.org/Archives/Public/www-svg/">archive</a>)</dd> + <dt class="top-editors">Editors:</dt> + <dd>Doug Schepers, W3C <<a href="mailto:schepers@w3.org" class='url'>schepers@w3.org</a>></dd> + </dl> + <edit:copyright/> +</div> + +<hr/> + +<h2 id="abstract">Abstract</h2> + +<p>The SVG Integration Module is intended as a guide to other markup +and programming on how to best integrate SVG, within the context of +that language's constraints. SVG may be integrated in whole or in part, +and may be included in another language by reference or by inclusion +(that is, through linking or inline). This specification contains +normatively referenceable material, and discusses default behaviors +and best practices, but is not intended to override the design of the +referencing language.</p> + +<p>This specification contains references to other SVG specifications.</p> + +<h2 id="status">Status of This Document</h2> + +<p><em>This section describes the status of this document at the time of its +publication. Other documents may supersede this document. A list of current W3C +publications and the latest revision of this technical report can be found in +the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at http://www.w3.org/TR/</em>.</p> + +<p>This document is the <edit:date/> <strong><edit:maturity/></strong> of Short Title. +<span class="issue">Custom SotD information goes here.</span></p> + +<p>Comments on this <edit:maturity/> are welcome. +Comments can be sent to <a href="mailto:www-svg@w3.org" class='url'>www-svg@w3.org</a>, +the public email list for issues related to vector graphics on the Web. This list is +<a href="http://lists.w3.org/Archives/Public/www-svg/">archived</a> and +senders must agree to have their message publicly archived from their +first posting. To subscribe send an email to +<a href="mailto:www-svg-request@w3.org" class='url'>www-svg-request@w3.org</a> with +the word <code>subscribe</code> in the subject line.</p> + +<p>This document has been produced by the +<a href="http://www.w3.org/Graphics/SVG/WG">W3C SVG Working Group</a> as part of +the <a href="http://www.w3.org/Graphics/Activity">Graphics Activity</a> within +the <a href="http://www.w3.org/Interaction/">W3C Interaction Domain</a>. The +goals of the W3C SVG Working Group are discussed in the +<a href="http://www.w3.org/2007/11/SVG_rechartering/SVG-WG-charter.html">W3C SVG Charter</a>. +The W3C SVG Working Group maintains a public Web page, +<a href="http://www.w3.org/Graphics/SVG/" class='url'>http://www.w3.org/Graphics/SVG/</a>, +that contains further background information. The authors of +this document are the SVG Working Group participants.</p> + +<p>This document was produced by a group operating under the +<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. +W3C maintains a <a rel="disclosure" href="http://www.w3.org/2004/01/pp-impl/19480/status">public list of any patent disclosures</a> +made in connection with the deliverables of the group; that page also includes +instructions for disclosing a patent. An individual who has actual knowledge of +a patent which the individual believes contains +<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> +must disclose the information in accordance with +<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</a>.</p> + +<p>Publication as a Working Draft does not imply endorsement by the W3C Membership. +This is a draft document and may be updated, replaced or obsoleted by other documents +at any time. It is inappropriate to cite this document as other than work in progress.</p> + +<p>A list of current W3C Recommendations and other technical documents can be found at +<a href="http://www.w3.org/TR/" class='url'>http://www.w3.org/TR/</a>. W3C publications +may be updated, replaced, or obsoleted by other documents at any time.</p> + +<h2 id="feedback" edit:toc="no">How to read this document and give feedback</h2> + +<p>This draft of SVG Integration introduces new normative prose for +integrating the SVG language into other markup languages. One of +the goals is that this specification can be re-used more easily by +other specifications that want to have well-defined interaction and +interoperability with SVG. Future drafts of this specification may +introduce syntax and markup for the SVG language that may not be +backwards compatible with older SVG User Agents, and the use of this +syntax should be accompanied by a fallback using the <a>'switch'</a> +element.</p> + +<h2 id="toc">Table of Contents</h2> + +<edit:fulltoc/> + +<h2 id="intro">Introduction</h2> + +<p><em>Describe the technology and specification here.</em></p> + +<p>Note that even though this specification references parts of +<a href="#ref-svg11">SVG 1.1</a> and <a href="#ref-svgt12">SVG Tiny 1.2</a> +it does not require a complete implementation of those specifications.</p> + +<p>This document is normative.</p> + +<p>This document contains explicit conformance criteria that overlap +with some RNG definitions in requirements. If there is any conflict +between the two, the explicit conformance criteria are the definitive +reference.</p> + +<h3 id="use-cases">Use Cases and Requirements</h3> + +<p><em>This section is informative.</em></p> + +<p>Here are some of the use cases and requirements for this specification.</p> + +<ul> + <li>must have clear tables that integrate all known SVG elements, attributes, attribute values, and methods</li> + <li>should link back to normative definitions for all the above</li> + <li>should be automated (derive lists from SVG 1.1, SVG Tiny 1.2, Vector Effects, Filters, Compositing, Transforms, etc. via script)</li> + <li>must be normatively referenceable, e.g. by HTML5, CSS, ODF, IPTV, and other languages where we expect SVG might be reused as a whole, or even referenced in part, as in the Widgets specs</li> + <li>should have revision history [1]</li> + <li>may have case-insensitive string equivalents [2]</li> + <li>must cover different embedding and referencing scenarios (may work with HTML & CSS WGs here), with different expected capabilities</li> + <li>must explain how to extend SVG properly (copying the chapter from SVG Tiny 1.2) [4]</li> + <li>must address potential security issues (external references, circular references, that weird thing ROC brought up with pixel-sniffing)</li> + <li>must address passed in parameters, fragment identifiers, etc.</li> + <li>should cover other specific odds and ends with various elements</li> + <li>must address focus navigation across embedding boundaries</li> + <li>must address fragment identifiers behavior for compound documents</li> + <li>must address link traversal in compound documents</li> + <li>must discuss transparency and compositing</li> + <li>should discuss embedding size and dimensions (including script access to rendered dimensions)</li> + <li>may introduce new integration features</li> + <li>may define parameter defaulting syntax</li> + <li>may define or reference a data binding mechanism</li> +</ul> + +<h2 id="referencing-modes">Referencing Modes for SVG</h2> + +<p>There are many different ways in which an external SVG file may be referenced +in a host language. These different scenarios are known as +<dfn id="TermReferencingMode">referencing modes</dfn>, +and each <a>referencing mode</a> is suited to a different set of +constraints, in terms of security, performance optimization, intended usage, +and legacy considerations. Each <a>referencing mode</a> defines whether +such features as script execution, external references, declarative animation, +interactivity, and linking must or must not be supported. Different +<a>referencing modes</a> may be specified for different aspects of the same +language, or a language may use a single <a>referencing mode</a>, depending on +the complexity of the language. A conforming User Agent must support the full +feature set defined for each <a>referencing mode</a> for all languages that +that User Agent supports, and must not permit behavior disallowed by the +relevant <a>referencing mode</a>. Where multiple <a>referencing modes</a> are +permitted, authors should choose the most restricted <a>referencing modes</a> +that meets their needs.</p> + +<p>A DOM must be produced and maintained for SVG images using all +<a>referencing modes</a> except <a href="#immediate_mode">Immediate Mode</a>, +and the DOM must be exposed to Accessibility Technology User Agents.</p> + +<p class="issue">Should we have an Immediate Mode?</p> + +<p class="issue">Should we talk about CORS here?</p> + + +<h3 id="definitions">Feature Definitions</h3> + +<dl> + <dt><dfn id="def-declarative_animation">declarative animation</dfn></dt> + <dd>Declarative animation is a change or set of changes + to the presentation of the SVG image through the use of + predefined elements or properties, as with the SMIL elements + <a>'animate'</a>, <a>'set'</a>, etc., as + opposed to procedural script. Declarative animation may be triggered + by either a event timeline or by user-generated events (see + <a href="#def-interaction"><span class="svg-term">interaction</span></a>). + Because it has a bounded set of functionality, declarative animation may + pose less of a security risk than + <a href="#def-script_execution"><span class="svg-term">script execution</span></a>. + Complex animations may be computationally intensive, and thus may not be + suitable for all devices or <a>referencing modes</a>.</dd> + + <dt><dfn id="def-external_reference">external reference</dfn></dt> + <dd> + <p>An external reference is any link from the current file to + another file for inclusion, rendering, or processing in the context + of the current file. In some situations, external references may + constitute a security concern; because it is difficult to detect + when the use of an external resource is safe and when it is not, + under secure circumstances, all external references should be + disabled, unless there is an appropriate security mechanism in place + (<span class="issue">CORS?</span>). External references include, but + are not limited to:</p> + + <ul> + <li><span class="attr-name">‘xlink:href’</span> attribute + targets for elements, such as <a>'image'</a>, <a>'use'</a>, + <a>'feImage'</a>, <a>'tref'</a>, <a>'video'</a> + <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/multimedia.html#AudioElement"><span class="element-name">‘audio’</span></a>, + <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/multimedia.html#AnimationElement"><span class="element-name">‘animation’</span></a>, + <a>'font-face-uri'</a>, <a>'textPath'</a>, <a>'mpath'</a>, + <a>'script'</a>, <a>'cursor element'</a>, <a>'altGlyph'</a>, <a>'glyphRef'</a>, + <a>'color-profile element'</a>, <a>'foreignObject'</a>, + <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/struct.html#PrefetchElement"><span class="element-name">‘prefetch’</span></a></li> + + <li>external stylesheets (XSL or CSS)</li> + + <li>external references for CSS properties: <a>'fill'</a>, + <a>'stroke'</a>, <a>'mask property'</a>, <a>'marker property'</a>, <a>'marker-mid'</a>, + <a>'marker-start'</a>, <a>'marker-end'</a>, <a>'clip-path'</a>, + <a>'filter property'</a></li> + + <li>CSS @import rule</li> + + <li>@font-face with external src</li> + + <li><a>'foreignObject'</a> may contain external resources (depends on + the content inside, for html e.g. iframe, object etc)</li> + + <li>elements in other namespaces that load external resources (e.g. + <span class="element-name">‘xhtml:link’</span>, + <span class="element-name">‘xhtml:script’</span>, etc)</li> + </ul> + </dd> + + <dt><dfn id="def-link_traversal">link traversal</dfn></dt> + <dd>Link traversal refers to changing of the user agent's + current active document view by user activation of a hyperlink. + In the context of <a>referencing modes</a>, link traversal + only pertains to hyperlinks defined within the referenced SVG + file. A host language may allow all or part of an SVG image to + serve as a link in the host language's context and using that + language's conventions and mechanisms, such as using HTML's + <span class="element-name">‘a’</span> or + <span class="element-name">‘map’</span> elements.</dd> + + <dt><dfn id="def-script_execution">script execution</dfn></dt> + <dd>Script execution is the processing and application of + procedural (as opposed to declarative) code and events. Where a + <a>referencing mode</a> does not allow script execution, this + prohibition must apply to scripted events or changes to the SVG + DOM whether the script is contained inside the referenced SVG file + or in the host language file. In the context of + <a>referencing modes</a>, script execution only pertains to the DOM of + the SVG image, not to events or changes to the host language's DOM. + For example, an SVG image would act the same as a PNG image in + an HTML <span class="element-name">‘a’</span> + element, such that a mouse event on that + <span class="element-name">‘a’</span> element would fire and + bubble up the HTML DOM, but would not be available to a script in the + SVG DOM.</dd> + + <dt><dfn id="def-interaction">interaction</dfn></dt> + <dd>Interaction means receiving and processing user-generated events, + such as mouse or keyboard activity. Where a <a>referencing mode</a> + does not allow interactivity, such as for performance or security + reasons, the interactivity is prohibited in the SVG DOM only, and may + trigger events normally in the the host language's context.</dd> +</dl> + +<h3 id="dynamic_interactive_mode">Dynamic Interactive Mode</h3> + +<p>This <a>referencing mode</a> imposes no restrictions on any +feature of the SVG language. This is the <a>referencing mode</a> +that must be used for standalone SVG files in normal circumstances. +This specification recommends that this <a>referencing mode</a> +apply to those elements that are referred to in HTML5 as a +<a href="http://www.w3.org/TR/html5/browsers.html#browsing-context">browsin g context</a>, +such as the <span class="element-name">‘object’</span>, +<span class="element-name">‘iframe’</span>, and +<span class="element-name">‘embed’</span> elements.</p> + +<table class="features" border="0" cellpadding="2" cellspacing="2"> + <thead> + <tr> + <th colspan="2">Dynamic Interactive Features</th> + </tr> + </thead> + <tbody> + <tr> + <th>script execution</th> + <td>yes</td> + </tr> + <tr> + <th>external references</th> + <td>yes</td> + </tr> + <tr> + <th>declarative animation</th> + <td>yes</td> + </tr> + <tr> + <th>interactivity</th> + <td>yes</td> + </tr> + <tr> + <th>link traversal</th> + <td>yes</td> + </tr> + </tbody> +</table> + +<h3 id="animated_mode">Animated Mode</h3> + +<p>This <a>referencing mode</a> is intended for circumstances where +performance may be an issue, where there are limited security +concerns, or where image support has traditionally been limited +to raster images (such as JPEG or PNG), but where animation is +desired. Animated mode allows declarative animation, but permits +no script execution, interactivity, or link traversal. This is +the <a>referencing mode</a> that must be supported for the SVG +<a>'image'</a> element and is recommended to apply to the HTML +<span class="element-name">‘img’</span> element and for +use as a Widget icon.</p> + +<table class="features" border="0" cellpadding="2" cellspacing="2"> + <thead> + <tr> + <th colspan="2">Animated Features</th> + </tr> + </thead> + <tbody> + <tr> + <th>script execution</th> + <td>no</td> + </tr> + <tr> + <th>external references</th> + <td>yes</td> + </tr> + <tr> + <th>declarative animation</th> + <td>yes</td> + </tr> + <tr> + <th>interactivity</th> + <td>no</td> + </tr> + <tr> + <th>link traversal</th> + <td>no</td> + </tr> + </tbody> +</table> + +<h3 id="secure_animated_mode">Secure Animated Mode</h3> + +<p>This <a>referencing mode</a> is intended for circumstances where +performance may be an issue, where there are strict security concerns, +or where image support has traditionally been limited to raster images +(such as JPEG or PNG), but where animation is desired. Secure animated +mode allows declarative animation, but permits no script execution, +external references, interactivity, or link traversal.</p> + +<table class="features" border="0" cellpadding="2" cellspacing="2"> + <thead> + <tr> + <th colspan="2">Secure Animated Features</th> + </tr> + </thead> + <tbody> + <tr> + <th>script execution</th> + <td>no</td> + </tr> + <tr> + <th>external references</th> + <td>no</td> + </tr> + <tr> + <th>declarative animation</th> + <td>yes</td> + </tr> + <tr> + <th>interactivity</th> + <td>no</td> + </tr> + <tr> + <th>link traversal</th> + <td>no</td> + </tr> + </tbody> +</table> + +<h3 id="static_mode">Static Mode</h3> + +<p>This <a>referencing mode</a> is intended for circumstances where +performance may be an issue, or where there are limited security +concerns. Static mode permits no script execution, declarative +animation, interactivity, or link traversal. This is the +<a>referencing mode</a> that is recommended to apply to CSS background images.</p> + +<table class="features" border="0" cellpadding="2" cellspacing="2"> + <thead> + <tr> + <th colspan="2">Static Features</th> + </tr> + </thead> + <tbody> + <tr> + <th>script execution</th> + <td>no</td> + </tr> + <tr> + <th>external references</th> + <td>yes</td> + </tr> + <tr> + <th>declarative animation</th> + <td>no</td> + </tr> + <tr> + <th>interactivity</th> + <td>no</td> + </tr> + <tr> + <th>link traversal</th> + <td>no</td> + </tr> + </tbody> +</table> + +<h3 id="secure_static_mode">Secure Static Mode</h3> + +<p>This <a>referencing mode</a> is intended for circumstances where +performance may be an issue, or where there are strict security +concerns. Secure static mode permits no script execution, external +references, declarative animation, interactivity, or link traversal.</p> + +<table class="features" border="0" cellpadding="2" cellspacing="2"> + <thead> + <tr> + <th colspan="2">Secure Static Features</th> + </tr> + </thead> + <tbody> + <tr> + <th>script execution</th> + <td>no</td> + </tr> + <tr> + <th>external references</th> + <td>no</td> + </tr> + <tr> + <th>declarative animation</th> + <td>no</td> + </tr> + <tr> + <th>interactivity</th> + <td>no</td> + </tr> + <tr> + <th>link traversal</th> + <td>no</td> + </tr> + </tbody> +</table> + +<h3 id="immediate_mode">Immediate Mode</h3> + +<p>This <a>referencing mode</a> is intended for circumstances where +performance is a major concern. Immediate mode permits no script +execution, external references, declarative animation, interactivity, +or link traversal. In addition, a User Agent may to discard the DOM +representation from memory after rendering. This is only to be used +in extreme circumstances, as it severely limits the usability and +accessibility of SVG. <span class="issue">Should we have an Immediate +Mode?</span></p> + +<table class="features" border="0" cellpadding="2" cellspacing="2"> + <thead> + <tr> + <th colspan="2">Immediate Features</th> + </tr> + </thead> + <tbody> + <tr> + <th>script execution</th> + <td>no</td> + </tr> + <tr> + <th>external references</th> + <td>no</td> + </tr> + <tr> + <th>declarative animation</th> + <td>no</td> + </tr> + <tr> + <th>interactivity</th> + <td>no</td> + </tr> + <tr> + <th>link traversal</th> + <td>no</td> + </tr> + </tbody> +</table> + +<h3 id="examples">Examples</h3> + +<p>Below are various methods of embedding SVG in an HTML page by +reference. Each <a>referencing mode</a> element 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 on that will return you to the original image). The +declarative (SMIL) interactivity should change the image from shades +of yellow to shades of green. The script should fill in the smile. +Time-based (as opposed to interactivity-based) declarative animation is +supported if the left eye is winking.</p> + +<table class="ref_modes" border="0" cellpadding="2" cellspacing="2"> + <thead> + <tr> + <th colspan="5">Example 1: Different <a>referencing modes</a> in HTML</th> + </tr> + </thead> + <tbody> + <tr> + <th>object</th> + <th>iframe</th> + <th>embed</th> + <th>img</th> + <th>CSS background</th> + </tr> + <tr> + <td> + <object class="embedcontext" type="image/svg+xml" data="smiley.svg">Please use FF1.5+, Opera 9+, WebKit/Safari3.0, or IE with an SVG plugin!</object> + </td> + <td> + <iframe class="embedcontext" src="smiley.svg" frameborder="0">Please use FF1.5+, Opera 9+, WebKit/Safari3.0, or IE with an SVG plugin!</iframe> + </td> + <td> + <embed class="embedcontext" src="smiley.svg" type="image/svg+xml"></embed> + </td> + <td> + <img class="embedcontext" alt="smiley face" src="smiley.svg" /> + </td> + <td class="bg"> </td> + </tr> + </tbody> +</table> + +<h2 id="foreign-content">Foreign Content in SVG</h2> + +<p>SVG is designed to be used as a standalone format, or in combination with +other formats such as X/HTML. These different formats can be used in SVG, by +reference or by inclusion (inline), as with the +<a>'foreignObject'</a> element described in +<a href="http://www.w3.org/TR/SVGTiny12/extend.html#ForeignObjectElement">embedding foreign object types</a>.</p> + +<h3 id="foreignobject">The <span class="element-name">'foreignObject'</span> Element</h3> + +<p>When <a>'foreignObject'</a> is used to contain content which is styled by +CSS, the viewport establishes the initial containing block (as defined in CSS +2.1). The dimensions of the CSS viewport in pixels are the width and height +attribute values of the <a>'foreignObject'</a> element in user units.</p> + +<div class="example"> + <p>For example, if HTML content is included inline in SVG inside a + <a>'foreignObject'</a> element with a <a>'foreignObject/width'</a> of + <span class="attr-value">'400'</span> and a + <a>'foreignObject/height'</a> of <span class="attr-value">'600'</span>, + the HTML content will wrap to that area, as if it were an HTML + <span class="element-name">'div'</span> element with those dimensions.</p> +</div> + +<p class="issue">@@ What should we say about when to rasterize the +foreign content? In existing implementations, HTML form controls in +'foreignObject' often look pixelated</p> + +<p class="issue">@@ Add examples of HTML in foreignObject, by reference +and inline.</p> + +<p class="issue">@@ Link to CDR\WICD specs.</p> + +<h2 id="inline-svg">SVG in Foreign Content</h2> + +<p>SVG is designed to be used as a standalone format, or in combination +with other formats such as X/HTML. SVG can be used in these different +formats, by reference or by inclusion (inline).</p> + +<p>When used as a reference, SVG content falls into one of the +categories detailed in <a href="referencing_modes">Referencing Modes +for SVG</a>. When used as inline, SVG must be used with the constraints +established by that host language (such as HTML5).</p> + +<p class="issue">@@ Add examples of referenced and inline SVG.</p> + +<p class="issue">@@ Give details about +<a href="http://www.w3.org/TR/SVGTiny12/linking.html#AElementTargetAttribute" title="Linking – SVG Tiny 1.2">link target keywords</a> +in inline and referenced modes.</p> + +<p class="issue">@@ Link to CDR\WICD specs.</p> + +<h2 id="extend">Extending SVG</h2> + +<h3 id="ConformingSVGExtensions">Extension conformance requirements</h3> + +<p>Specifications and implementations are allowed to extend the SVG +specification but in order to claim conformance the following criteria +need to be met:</p> + +<ul> + <li>An extension must support the normative chapters of the SVG + specifications that define conformance to SVG.</li> + + <li>An extension must support the normative chapters of the SVG + specifications that detail extensibility.</li> + + <li>An extension must support the normative chapters of the SVG + specifications that define conditional processing.</li> + + <li>If using features defined in SVG, an extension must not + redefine the syntax of those features.</li> + + <li>An extension must not redefine the semantics of any existing SVG + element or attribute.</li> + + <li>SVG attribute and element names must not be reused in extensions, + even in a separate namespace, in order to avoid author confusion.</li> +</ul> + +<h3 id="ForeignNamespacesPrivateData">Foreign namespaces and private data</h3> + +<p>SVG allows inclusion of elements from foreign namespaces +anywhere with the SVG content. In general, the SVG user agent +must include any unknown elements in the DOM, but must otherwise +ignore unknown elements. (The notable exception is described under +<a href="http://www.w3.org/TR/SVGTiny12/extend.html#ForeignObjectElement">Embedding foreign object types</a>.)</p> + +<p>Extension elements in the SVG namespace must not be used.</p> + +<p>Additionally, SVG allows inclusion of attributes from +foreign namespaces on any +<a href="http://www.w3.org/TR/SVGTiny12/intro.html#TermSVGElement"><span class="svg-term">SVG element</span></a>. +Extensions of SVG-namespaced elements in the form of attributes must be bound to +a namespace by a prefix. Any unbound attributes not defined by an SVG +specification must be treated as unknown attributes. The SVG user +agent must include unknown attributes in the DOM, but may +otherwise ignore unknown attributes. Attributes bound to a foreign +namespace may extend the semantics or behavior of SVG elements +in user agents that support that foreign namespace.</p> + +<p>SVG's ability to include foreign namespaces can be used for +the following purposes:</p> + +<ul> + <li>Application-specific information to allow authoring + applications to include model-level data in the SVG content + to serve their "roundtripping" purposes (i.e., the ability to + write, then read a file without loss of higher-level + information).</li> + + <li>Supplemental data for extensibility. For example, suppose + you have an extrusion extension which takes any 2D graphics + and extrudes it in three dimensions. When applying the + extrusion extension, you probably will need to set some + parameters. The parameters can be included in the SVG content + by inserting elements from an extrusion extension + namespace.</li> + + <li>Metadata to add supplementary semantics to the SVG file, or + to specific elements or attributes within the file.</li> +</ul> + +<p>To illustrate, a business graphics authoring application +might want to include some private data within an SVG document +so that it could properly reassemble the chart (a pie chart in +this case) upon reading it back in:</p> + +<div class="example"> + <div class="exampleheader"><strong>Example:</strong> 23_01.svg</div> + <div class="examplesource"> + <pre><?xml version="1.0"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny" + width="4in" height="3in"> + + <defs> + + <myapp:piechart xmlns:myapp="http://example.org/myapp" + title="Sales by Region"> + <myapp:pieslice label="Northern Region" value="1.23"/> + <myapp:pieslice label="Eastern Region" value="2.53"/> + <myapp:pieslice label="Southern Region" value="3.89"/> + <myapp:pieslice label="Western Region" value="2.04"/> + <!-- Other private data goes here --> + + </myapp:piechart> + </defs> + + <desc>This chart includes private data in another namespace</desc> + + <!-- In here would be the actual SVG graphics elements which + draw the pie chart --> +</svg></pre> + </div> +</div> + + +<h2 id="SVGEncoding">SVG Encoding</h2> + +<h3 id="XMLEncoding">XML encoding conformance requirements</h3> + +<p>An <a>SVG Document Fragment</a>, <a>SVG Stand-Alone Document</a>, +or <a>SVG Included Document Fragment</a> encoded using XML conforms to the SVG +specifications if it is valid, well-formed, and uses namespaces according +to the Namespaces in XML specification. Non-conforming documents +may be rendered according to the behavior specified for error-correction +in the SVG or XML specifications.</p> + +<p class="issue">Which SVG spec should define better error handling?</p> + +<h3 id="NonXMLEncoding">Non-XML encoding conformance requirements</h3> + +<p>An <a>SVG Document Fragment</a>, <a>SVG Stand-Alone Document</a>, or +<a>SVG Included Document Fragment</a> encoded using a non-XML encoding (e.g. +efficient XML compression, or HTML5 parser) +conforms to the SVG specifications if and only if the non-XML encoding in question +guarantees roundtripping from XML to the encoding and back in such a way that the +resulting document when processed by an <a>SVG user agent</a> +must always render, animate, and interact in the exact same way as the +original. Note that this requires a high-level of fidelity from the encoding +including, but not limited to, the ability to encode non-conforming content +and content from foreign namespaces without loss, maintaining ID typing, +and not removing non-rendered elements such as +<a>'title'</a>, <a>'desc'</a>, <a>'metadata'</a>, +or elements not included in the <a>rendering tree</a> through use of +<a>conditional processing attributes</a>.</p> + +<h2 id="svg-tokens">SVG Elements, Attributes, and Properties</h2> + +<p>This is a comprehensive list of all SVG elements from the SVG 1.1 [SVG11] +and SVG Tiny 1.2 [SVGT12] specifications. This document will be updated as +new elements are minted.</p> + +<h3 id="case-matching">Case Matching</h3> + +<p>For purposes of string matching and conversion, such as post-parsing +case-fixing, the <a href="#elements-element-name">Element Name</a> must +represent the canonical string. If an implementation finds a case-insensitive +string match for any of these element name which contains characters in the +range <abbr title="A-Z">U+0041..U+005A</abbr> (Unicode class +<abbr title="Letter, Uppercase">Lu</abbr>), the equivalent characters in the +range <abbr title="a-z">U+0061..U+007A</abbr> (Unicode class +<abbr title="Letter, Lowercase">Ll</abbr>) must be converted to the equivalent +class <abbr title="Letter, Uppercase">Lu</abbr> character. In other words, +for mixed-case element names, the lowercase-only strings must be changed to +the mixed-case string.</p> + +<h3 id="svg-elements">SVG Elements</h3> + +<p class="issue">TODO: auto-generate a table of elements.</p> + +<h3 id="svg-attributes">SVG Attributes</h3> + +<p class="issue">TODO: auto-generate a table of attributes.</p> + +<h3 id="svg-properties">SVG Properties</h3> + +<p class="issue">TODO: auto-generate a table of properties.</p> + +<h2 id="svg-sizing">Dynamic Sizing of SVG Content</h2> + +<p class="issue">TODO</p> + +<h2 id="RelaxNG">9 RelaxNG Schema for SVG Integration 1.0</h2> + +<p>The schema for SVG Integration 1.0 is written in +<a href="http://www.y12.doe.gov/sgml/sc34/document/0362_files/relaxng-is.pdf">RelaxNG</a> +[<a href="#ref-RNG">RelaxNG</a>], a namespace-aware schema language that uses +the datatypes from <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema Part 2</a> +[<a href="#ref-Schema2">Schema2</a>]. This allows namespaces and modularity to +be much more naturally expressed than using DTD syntax. The RelaxNG schema for +SVG Filter 1.2 may be imported by other RelaxNG schemas, or combined with +other schemas in other languages into a multi-namespace, multi-grammar schema +using <a href="http://www.asahi-net.or.jp/~eb2m-mrt/dsdl/">Namespace-based Validation Dispatching Language</a> +[<a href="#ref-NVDL">NVDL</a>].</p> + +<p>Unlike a DTD, the schema used for validation is not hardcoded into the +document instance. There is no equivalent to the DOCTYPE declaration. Simply +point your editor or other validation tool to the IRI of the schema (or your +local cached copy, as you prefer).</p> + +<p>The RNG is under construction, and only the individual RNG snippets are +available at this time. They have not yet been integrated into a functional +schema. The individual RNG files are available <a href="rng">here</a>.</p> + +<h2 id="refs">References</h2> + +<h3 id="normrefs">Normative References</h3> + +<dl> + <dt id="ref-RFC2119"><strong class="normref">[RFC2119]</strong></dt> + <dd><cite><a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a></cite>, + S. Bradner, March 1997. + <br />Available at http://tools.ietf.org/html/rfc2119.</dd> + + <dt id="ref-SVG11"><strong class="normref">[SVG11]</strong></dt> + <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/">Scalable Vector Graphics (SVG) 1.1</a></cite>, + J. Ferraiolo, <span class="ruby"><span class="rb">藤沢 淳</span><span class="rp">(</span><span class="rt"><span class="familyname">Fujisawa</span> Jun</span><span class="rp">)</span></span>, D. Jackson, eds. + World Wide Web Consortium, 14 January 2003. + <br />This edition of SVG 1.1 is http://www.w3.org/TR/2003/REC-SVG11-20030114/. + <br />The <a href="http://www.w3.org/TR/SVG11/">latest edition of SVG 1.1</a> is available at http://www.w3.org/TR/SVG11/.</dd> + + <dt id="ref-SVGT12"><strong class="normref">[SVGT12]</strong></dt> + <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/">Scalable Vector Graphics (SVG) Tiny 1.2</a></cite>, + O. Andersson, R. Berjon, E. Dahlström, A. Emmons, J. Ferraiolo, A. Grasso, V. Hardy, S. Hayman, D. Jackson, C. Lilley, C. McCormack, A. Neumann, C. Northway, A. Quint, N. Ramani, D. Schepers, A. Shellshear, eds. + World Wide Web Consortium, 22 December 2008. + <br />This edition of SVG Tiny 1.2 is http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/. + <br />The <a href="http://www.w3.org/TR/SVGTiny12/">latest edition of SVG Tiny 1.2</a> is available at http://www.w3.org/TR/SVGTiny12/.</dd> +</dl> + +<h3 id="informrefs">Informative References</h3> + +<dl> + <dt class="w3ccr"><strong class="normref">[CSS2]</strong></dt> + <dd><cite><a href="http://www.w3.org/TR/2010/CR-CSS2-20090908/">Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</a></cite>, + B. Bos, T. Çelik, I. Hickson, H.W. Lie, Editors. World Wide Web Consortium, 23 April 2009, <strong>Work in Progress</strong>. + <br/>This version of the CSS 2.1 Specification is http://www.w3.org/TR/2009/CR-CSS2-20090908/. + <br/>The <a class="normative" href="http://www.w3.org/TR/CSS2/">latest version of CSS 2.1</a> is available at http://www.w3.org/TR/CSS2/.</dd> + + <dt id="references-HTML5"><strong class="informref">[HTML5]</strong></dt> + <dd><cite class="w3cwd"><a href="http://www.w3.org/TR/2009/WD-html5-20090825/">HTML 5</a></cite>, + I. Hickson, D. Hyatt, eds. + World Wide Web Consortium, <span class="wip">work in progress</span>, 25 August 2009. + <br />This edition of HTML 5 is http://www.w3.org/TR/2009/WD-html5-20090825/. + <br />The <a href="http://www.w3.org/TR/html5/">latest edition of HTML 5</a> is available at + http://www.w3.org/TR/html5/.</dd> + + <dt id="ref-NVDL"><strong class="informref">[NVDL]</strong></dt> + <dd><cite><a href="http://www.jtc1sc34.org/repository/0694.pdf">Information Technology — Document Schema Definition Languages (DSDL) — Part 4: Namespace-based Validation Dispatching Language</a></cite>: ISO/IEC FDIS 19757-4:2005(E), + International Organization for Standardization, December 2005. + <br />Available at http://www.jtc1sc34.org/repository/0694.pdf.</dd> + + <dt id="ref-SCHEMA2"><strong class="informref">[SCHEMA2]</strong></dt> + <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema Part 2: Datatypes Second Edition</a></cite>. + P. Biron, A. Malhotra, eds. + World Wide Web Consortium, 28 October 2004. + (See also <a href="http://www.w3.org/TR/2005/NOTE-xml11schema10-20050511/"><cite>Processing XML 1.1 documents with XML Schema 1.0 processors</cite></a> + [<a href="#ref-XML11-SCHEMA">XML11-SCHEMA</a>].) + <br />This edition of XML Schema Part 2 is http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/. + <br />The <a href="http://www.w3.org/TR/xmlschema-2/">latest edition of XML Schema Part 2</a> is available at + http://www.w3.org/TR/xmlschema-2/.</dd> +</dl> + +<h3 id="Acknowledgments">Acknowledgments</h3> + +<p>The editors would like to acknowledge and thank the following +people for substantive aid with this specification: +Erik Dahlström.</p> + +</body> +</html> diff --git a/specs/integration/master/definitions-SVG11.xml b/specs/integration/master/definitions-SVG11.xml new file mode 100644 --- /dev/null +++ b/specs/integration/master/definitions-SVG11.xml @@ -0,0 +1,1558 @@ +<definitions xmlns='http://mcc.id.au/ns/local' xmlns:x='http://mcc.id.au/ns/local'> + + <!-- === defined in this specification ================================== --> + + <!-- ... elements and element-specific attributes ....................... --> + + <element + name='a' + href='linking.html#AElement' + contentmodel='textoranyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='conditional processing, core, graphical event, presentation, style, xlink' + attributes='externalResourcesRequired, transform' + interfaces='SVGAElement'> + <attribute name='xlink:href' href='linking.html#AElementXLinkHrefAttribute' animatable='yes'/> + <attribute name='xlink:show' href='linking.html#XLinkShowAttribute'/> + <attribute name='xlink:actuate' href='linking.html#AElementXLinkActuateAttribute'/> + <attribute name='target' href='linking.html#AElementTargetAttribute' animatable='yes'/> + </element> + + <element + name='altGlyph' + href='text.html#AltGlyphElement' + contentmodel='any' + attributecategories='conditional processing, core, graphical event, presentation, style, xlink' + attributes='externalResourcesRequired' + interfaces='SVGAltGlyphElement'> + <attribute name='x' href='text.html#AltGlyphElementXAttribute' animatable='yes'/> + <attribute name='y' href='text.html#AltGlyphElementYAttribute' animatable='yes'/> + <attribute name='dx' href='text.html#AltGlyphElementDXAttribute' animatable='yes'/> + <attribute name='dy' href='text.html#AltGlyphElementDYAttribute' animatable='yes'/> + <attribute name='glyphRef' href='text.html#AltGlyphElementGlyphRefAttribute'/> + <attribute name='format' href='text.html#AltGlyphElementFormatAttribute'/> + <attribute name='rotate' href='text.html#AltGlyphElementRotateAttribute' animatable='yes'/> + <attribute name='xlink:href' href='text.html#AltGlyphElementHrefAttribute'/> + </element> + + <element + name='altGlyphDef' + href='text.html#AltGlyphDefElement' + attributecategories='core' + interfaces='SVGAltGlyphDefElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'> + Either: + <ul> + <li>one or more <a>'glyphRef'</a> elements, or</li> + <li>one or more <a>'altGlyphItem'</a> elements.</li> + </ul> + </x:contentmodel> + </element> + + <element + name='altGlyphItem' + href='text.html#AltGlyphItemElement' + attributecategories='core' + interfaces='SVGAltGlyphItemElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'> + One or more <a>'glyphRef'</a> elements. + </x:contentmodel> + </element> + + <element + name='animate' + href='animate.html#AnimateElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='conditional processing, core, animation event, xlink, animation attribute target, animation timing, animation value, animation addition, presentation' + attributes='externalResourcesRequired' + interfaces='SVGAnimateElement'/> + + <element + name='animateColor' + href='animate.html#AnimateColorElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='conditional processing, core, animation event, xlink, animation attribute target, animation timing, animation value, animation addition, presentation' + attributes='externalResourcesRequired' + interfaces='SVGAnimateColorElement'/> + + <element + name='animateMotion' + href='animate.html#AnimateMotionElement' + attributecategories='conditional processing, core, animation event, xlink, animation timing, animation value, animation addition' + attributes='externalResourcesRequired' + interfaces='SVGAnimateMotionElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a> and at most one <a>'mpath'</a> element, in any order.</x:contentmodel> + <!-- + <attribute name='calcMode' href='animate.html#AnimateMotionElementCalcModeAttribute'/> + --> + <attribute name='path' href='animate.html#PathAttribute'/> + <attribute name='keyPoints' href='animate.html#KeyPointsAttribute'/> + <attribute name='rotate' href='animate.html#RotateAttribute'/> + <attribute name='origin' href='animate.html#OriginAttribute'/> + </element> + + <element + name='animateTransform' + href='animate.html#AnimateTransformElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='conditional processing, core, animation event, xlink, animation attribute target, animation timing, animation value, animation addition' + attributes='externalResourcesRequired' + interfaces='SVGAnimateTransformElement'> + <attribute name='type' href='animate.html#AnimateTransformElementTypeAttribute'/> + </element> + + <element + name='circle' + href='shapes.html#CircleElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGCircleElement'> + <attribute name='cx' href='shapes.html#CircleElementCXAttribute' animatable='yes'/> + <attribute name='cy' href='shapes.html#CircleElementCYAttribute' animatable='yes'/> + <attribute name='r' href='shapes.html#CircleElementRAttribute' animatable='yes'/> + </element> + + <element + name='clipPath' + href='masking.html#ClipPathElement' + contentmodel='anyof' + elementcategories='descriptive, animation, shape' + elements='text, use' + attributecategories='conditional processing, core, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGClipPathElement'> + <attribute name='clipPathUnits' elements='clipPath' href='masking.html#ClipPathElementClipPathUnitsAttribute' animatable='yes'/> + </element> + + <element + name='color-profile' + href='color.html#ColorProfileElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='core, xlink' + interfaces='SVGColorProfileElement'> + <attribute name='local' href='color.html#ColorProfileElementLocalAttribute'/> + <attribute name='name' href='color.html#ColorProfileElementNameAttribute'/> + <attribute name='rendering-intent' href='color.html#ColorProfileElementRenderingIntentAttribute'/> + <attribute name='xlink:href' href='color.html#ColorProfileElementHrefAttribute'/> + </element> + + <element + name='cursor' + href='interact.html#CursorElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='core, conditional processing, xlink' + attributes='externalResourcesRequired' + interfaces='SVGCursorElement'> + <attribute name='x' href='interact.html#CursorElementXAttribute' animatable='yes'/> + <attribute name='y' href='interact.html#CursorElementYAttribute' animatable='yes'/> + <attribute name='xlink:href' href='interact.html#CursorElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='defs' + href='struct.html#DefsElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGDefsElement'/> + + <element + name='desc' + href='struct.html#DescElement' + contentmodel='any' + attributecategories='core, style' + interfaces='SVGDescElement'/> + + <element + name='ellipse' + href='shapes.html#EllipseElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGEllipseElement'> + <attribute name='cx' href='shapes.html#EllipseElementCXAttribute' animatable='yes'/> + <attribute name='cy' href='shapes.html#EllipseElementCYAttribute' animatable='yes'/> + <attribute name='rx' href='shapes.html#EllipseElementRXAttribute' animatable='yes'/> + <attribute name='ry' href='shapes.html#EllipseElementRYAttribute' animatable='yes'/> + </element> + + <element + name='feBlend' + href='filters.html#feBlendElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEBlendElement'> + <attribute name='in2' href='filters.html#feBlendIn2Attribute' animatable='yes'/> + <attribute name='mode' href='filters.html#feBlendModeAttribute' animatable='yes'/> + </element> + + <element + name='feColorMatrix' + href='filters.html#feColorMatrixElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEColorMatrixElement'> + <attribute name='type' href='filters.html#feColorMatrixTypeAttribute' animatable='yes'/> + <attribute name='values' href='filters.html#feColorMatrixValuesAttribute' animatable='yes'/> + </element> + + <element + name='feComponentTransfer' + href='filters.html#feComponentTransferElement' + contentmodel='anyof' + elements='feFuncR, feFuncG, feFuncB, feFuncA' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEComponentTransferElement'/> + + <element + name='feComposite' + href='filters.html#feCompositeElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFECompositeElement'> + <attribute name='in2' href='filters.html#feCompositeIn2Attribute' animatable='yes'/> + <attribute name='operator' href='filters.html#feCompositeOperatorAttribute' animatable='yes'/> + <attribute name='k1' href='filters.html#feCompositeK1Attribute' animatable='yes'/> + <attribute name='k2' href='filters.html#feCompositeK2Attribute' animatable='yes'/> + <attribute name='k3' href='filters.html#feCompositeK3Attribute' animatable='yes'/> + <attribute name='k4' href='filters.html#feCompositeK4Attribute' animatable='yes'/> + </element> + + <element + name='feConvolveMatrix' + href='filters.html#feConvolveMatrixElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEConvolveMatrixElement'> + <attribute name='order' href='filters.html#feConvolveMatrixElementOrderAttribute' animatable='yes'/> + <attribute name='kernelMatrix' href='filters.html#feConvolveMatrixElementKernelMatrixAttribute' animatable='yes'/> + <attribute name='divisor' href='filters.html#feConvolveMatrixElementDivisorAttribute' animatable='yes'/> + <attribute name='bias' href='filters.html#feConvolveMatrixElementBiasAttribute' animatable='yes'/> + <attribute name='targetX' href='filters.html#feConvolveMatrixElementTargetXAttribute' animatable='yes'/> + <attribute name='targetY' href='filters.html#feConvolveMatrixElementTargetYAttribute' animatable='yes'/> + <attribute name='edgeMode' href='filters.html#feConvolveMatrixElementEdgeModeAttribute' animatable='yes'/> + <attribute name='kernelUnitLength' href='filters.html#feConvolveMatrixElementKernelUnitLengthAttribute' animatable='yes'/> + <attribute name='preserveAlpha' href='filters.html#feConvolveMatrixElementPreserveAlphaAttribute' animatable='yes'/> + </element> + + <element + name='feDiffuseLighting' + href='filters.html#feDiffuseLightingElement' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEDiffuseLightingElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a> + and exactly one <a>light source element</a>, in any order.</x:contentmodel> + <attribute name='surfaceScale' href='filters.html#feDiffuseLightingSurfaceScaleAttribute' animatable='yes'/> + <attribute name='diffuseConstant' href='filters.html#feDiffuseLightingDiffuseConstantAttribute' animatable='yes'/> + <attribute name='kernelUnitLength' href='filters.html#feDiffuseLightingKernelUnitLengthAttribute' animatable='yes'/> + </element> + + <element + name='feDisplacementMap' + href='filters.html#feDisplacementMapElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEDisplacementMapElement'> + <attribute name='in2' href='filters.html#feDisplacementMapIn2Attribute' animatable='yes'/> + <attribute name='scale' href='filters.html#feDisplacementMapScaleAttribute' animatable='yes'/> + <attribute name='xChannelSelector' href='filters.html#feDisplacementMapXChannelSelectorAttribute' animatable='yes'/> + <attribute name='yChannelSelector' href='filters.html#feDisplacementMapYChannelSelectorAttribute' animatable='yes'/> + </element> + + <element + name='feDistantLight' + href='filters.html#feDistantLightElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core' + interfaces='SVGFEDistantLightElement'> + <attribute name='azimuth' href='filters.html#feDistantLightAzimuthAttribute' animatable='yes'/> + <attribute name='elevation' href='filters.html#feDistantLightElevationAttribute' animatable='yes'/> + </element> + + <element + name='feFlood' + href='filters.html#feFloodElement' + contentmodel='anyof' + elements='animate, set, animateColor' + attributecategories='core, style, presentation, filter primitive' + interfaces='SVGFEFloodElement'/> + + <element + name='feFuncR' + href='filters.html#feFuncRElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, transfer function element' + interfaces='SVGFEFuncRElement'/> + + <element + name='feFuncG' + href='filters.html#feFuncGElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, transfer function element' + interfaces='SVGFEFuncGElement'/> + + <element + name='feFuncB' + href='filters.html#feFuncBElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, transfer function element' + interfaces='SVGFEFuncBElement'/> + + <element + name='feFuncA' + href='filters.html#feFuncAElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, transfer function element' + interfaces='SVGFEFuncAElement'/> + + <element + name='feGaussianBlur' + href='filters.html#feGaussianBlurElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEGaussianBlurElement'> + <attribute name='stdDeviation' href='filters.html#feGaussianBlurStdDeviationAttribute' animatable='yes'/> + </element> + + <element + name='feImage' + href='filters.html#feImageElement' + contentmodel='anyof' + elements='animate, set, animateTransform' + attributecategories='core, style, presentation, filter primitive, xlink' + attributes='externalResourcesRequired, preserveAspectRatio' + interfaces='SVGFEImageElement'> + <attribute name='xlink:href' href='filters.html#feImageElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='feMerge' + href='filters.html#feMergeElement' + contentmodel='anyof' + elements='feMergeNode' + attributecategories='core, style, presentation, filter primitive' + interfaces='SVGFEMergeElement'/> + + <element + name='feMergeNode' + href='filters.html#feMergeNodeElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core' + attributes='in' + interfaces='SVGFEMergeNodeElement'/> + + <element + name='feMorphology' + href='filters.html#feMorphologyElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEMorphologyElement'> + <attribute name='operator' href='filters.html#feMorphologyOperatorAttribute' animatable='yes'/> + <attribute name='radius' href='filters.html#feMorphologyRadiusAttribute' animatable='yes'/> + </element> + + <element + name='feOffset' + href='filters.html#feOffsetElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFEOffsetElement'> + <attribute name='dx' href='filters.html#feOffsetDxAttribute' animatable='yes'/> + <attribute name='dy' href='filters.html#feOffsetDyAttribute' animatable='yes'/> + </element> + + <element + name='fePointLight' + href='filters.html#fePointLightElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core' + interfaces='SVGFEPointLightElement'> + <attribute name='x' href='filters.html#fePointLightXAttribute' animatable='yes'/> + <attribute name='y' href='filters.html#fePointLightYAttribute' animatable='yes'/> + <attribute name='z' href='filters.html#fePointLightZAttribute' animatable='yes'/> + </element> + + <element + name='feSpecularLighting' + href='filters.html#feSpecularLightingElement' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFESpecularLightingElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a> + and exactly one <a>light source element</a>, in any order.</x:contentmodel> + <attribute name='surfaceScale' href='filters.html#feSpecularLightingSurfaceScaleAttribute' animatable='yes'/> + <attribute name='specularConstant' href='filters.html#feSpecularLightingSpecularConstantAttribute' animatable='yes'/> + <attribute name='specularExponent' href='filters.html#feSpecularLightingSpecularExponentAttribute' animatable='yes'/> + <attribute name='kernelUnitLength' href='filters.html#feSpecularLightingKernelUnitLengthAttribute' animatable='yes'/> + </element> + + <element + name='feSpotLight' + href='filters.html#feSpotLightElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core' + interfaces='SVGFESpotLightElement'> + <attribute name='x' href='filters.html#feSpotLightXAttribute' animatable='yes'/> + <attribute name='y' href='filters.html#feSpotLightYAttribute' animatable='yes'/> + <attribute name='z' href='filters.html#feSpotLightZAttribute' animatable='yes'/> + <attribute name='pointsAtX' href='filters.html#feSpotLightPointsAtXAttribute' animatable='yes'/> + <attribute name='pointsAtY' href='filters.html#feSpotLightPointsAtYAttribute' animatable='yes'/> + <attribute name='pointsAtZ' href='filters.html#feSpotLightPointsAtZAttribute' animatable='yes'/> + <attribute name='specularExponent' href='filters.html#feSpotLightSpecularExponentAttribute' animatable='yes'/> + <attribute name='limitingConeAngle' href='filters.html#feSpotLightLimitingConeAngleAttribute' animatable='yes'/> + </element> + + <element + name='feTile' + href='filters.html#feTileElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + attributes='in' + interfaces='SVGFETileElement'/> + + <element + name='feTurbulence' + href='filters.html#feTurbulenceElement' + contentmodel='anyof' + elements='animate, set' + attributecategories='core, style, presentation, filter primitive' + interfaces='SVGFETurbulenceElement'> + <attribute name='baseFrequency' href='filters.html#feTurbulenceBaseFrequencyAttribute' animatable='yes'/> + <attribute name='numOctaves' href='filters.html#feTurbulenceNumOctavesAttribute' animatable='yes'/> + <attribute name='seed' href='filters.html#feTurbulenceSeedAttribute' animatable='yes'/> + <attribute name='stitchTiles' href='filters.html#feTurbulenceStitchTilesAttribute' animatable='yes'/> + <attribute name='type' href='filters.html#feTurbulenceTypeAttribute' animatable='yes'/> + </element> + + <element + name='filter' + href='filters.html#FilterElement' + contentmodel='anyof' + elementcategories='descriptive, filter primitive' + elements='animate, set' + attributecategories='core, style, presentation, xlink' + attributes='externalResourcesRequired' + interfaces='SVGFilterElement'> + <attribute name='x' href='filters.html#FilterElementXAttribute' animatable='yes'/> + <attribute name='y' href='filters.html#FilterElementYAttribute' animatable='yes'/> + <attribute name='width' href='filters.html#FilterElementWidthAttribute' animatable='yes'/> + <attribute name='height' href='filters.html#FilterElementHeightAttribute' animatable='yes'/> + <attribute name='filterRes' href='filters.html#FilterElementFilterResAttribute' animatable='yes'/> + <attribute name='filterUnits' href='filters.html#FilterElementFilterUnitsAttribute' animatable='yes'/> + <attribute name='primitiveUnits' href='filters.html#FilterElementPrimitiveUnitsAttribute' animatable='yes'/> + <attribute name='xlink:href' href='filters.html#FilterElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='font' + href='fonts.html#FontElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='font-face, missing-glyph, glyph, hkern, vkern' + attributecategories='core, style, presentation' + attributes='externalResourcesRequired' + interfaces='SVGFontElement'> + <attribute name='horiz-origin-x' href='fonts.html#FontElementHorizOriginXAttribute'/> + <attribute name='horiz-origin-y' href='fonts.html#FontElementHorizOriginYAttribute'/> + <attribute name='horiz-adv-x' href='fonts.html#FontElementHorizAdvXAttribute'/> + <attribute name='vert-origin-x' href='fonts.html#FontElementVertOriginXAttribute'/> + <attribute name='vert-origin-y' href='fonts.html#FontElementVertOriginYAttribute'/> + <attribute name='vert-adv-y' href='fonts.html#FontElementVertAdvYAttribute'/> + </element> + + <element + name='font-face' + href='fonts.html#FontFaceElement' + attributecategories='core' + interfaces='SVGFontFaceElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a> and at most one <a>'font-face-src'</a> element, in any order.</x:contentmodel> + <attribute name='font-family' href='fonts.html#FontFaceElementFontFamilyAttribute'/> + <attribute name='font-style' href='fonts.html#FontFaceElementFontStyleAttribute'/> + <attribute name='font-variant' href='fonts.html#FontFaceElementFontVariantAttribute'/> + <attribute name='font-weight' href='fonts.html#FontFaceElementFontWeightAttribute'/> + <attribute name='font-stretch' href='fonts.html#FontFaceElementFontStretchAttribute'/> + <attribute name='font-size' href='fonts.html#FontFaceElementFontSizeAttribute'/> + <attribute name='unicode-range' href='fonts.html#FontFaceElementUnicodeRangeAttribute'/> + <attribute name='units-per-em' href='fonts.html#FontFaceElementUnitsPerEmAttribute'/> + <attribute name='panose-1' href='fonts.html#FontFaceElementPanose1Attribute'/> + <attribute name='stemv' href='fonts.html#FontFaceElementStemvAttribute'/> + <attribute name='stemh' href='fonts.html#FontFaceElementStemhAttribute'/> + <attribute name='slope' href='fonts.html#FontFaceElementSlopeAttribute'/> + <attribute name='cap-height' href='fonts.html#FontFaceElementCapHeightAttribute'/> + <attribute name='x-height' href='fonts.html#FontFaceElementXHeightAttribute'/> + <attribute name='accent-height' href='fonts.html#FontFaceElementAccentHeightAttribute'/> + <attribute name='ascent' href='fonts.html#FontFaceElementAscentAttribute'/> + <attribute name='descent' href='fonts.html#FontFaceElementDescentAttribute'/> + <attribute name='widths' href='fonts.html#FontFaceElementWidthsAttribute'/> + <attribute name='bbox' href='fonts.html#FontFaceElementBboxAttribute'/> + <attribute name='ideographic' href='fonts.html#FontFaceElementIdeographicAttribute'/> + <attribute name='alphabetic' href='fonts.html#FontFaceElementAlphabeticAttribute'/> + <attribute name='mathematical' href='fonts.html#FontFaceElementMathematicalAttribute'/> + <attribute name='hanging' href='fonts.html#FontFaceElementHangingAttribute'/> + <attribute name='v-ideographic' href='fonts.html#FontFaceElementVertIdeographicAttribute'/> + <attribute name='v-alphabetic' href='fonts.html#FontFaceElementVertAlphabeticAttribute'/> + <attribute name='v-mathematical' href='fonts.html#FontFaceElementVertMathematicalAttribute'/> + <attribute name='v-hanging' href='fonts.html#FontFaceElementVertHangingAttribute'/> + <attribute name='underline-position' href='fonts.html#FontFaceElementUnderlinePositionAttribute'/> + <attribute name='underline-thickness' href='fonts.html#FontFaceElementUnderlineThicknessAttribute'/> + <attribute name='strikethrough-position' href='fonts.html#FontFaceElementStrikeThroughPositionAttribute'/> + <attribute name='strikethrough-thickness' href='fonts.html#FontFaceElementStrikeThroughThicknessAttribute'/> + <attribute name='overline-position' href='fonts.html#FontFaceElementOverlinePositionAttribute'/> + <attribute name='overline-thickness' href='fonts.html#FontFaceElementOverlineThicknessAttribute'/> + </element> + + <element + name='font-face-format' + href='fonts.html#FontFaceFormatElement' + attributecategories='core' + interfaces='SVGFontFaceFormatElement'> + <attribute name='string' href='fonts.html#FontFaceFormatElementStringAttribute'/> + </element> + + <element + name='font-face-name' + href='fonts.html#FontFaceNameElement' + attributecategories='core' + interfaces='SVGFontFaceNameElement'> + <attribute name='name' href='fonts.html#FontFaceNameElementNameAttribute'/> + </element> + + <element + name='font-face-src' + href='fonts.html#FontFaceSrcElement' + contentmodel='oneormoreof' + elements='font-face-uri, font-face-name' + attributecategories='core' + interfaces='SVGFontFaceSrcElement'/> + + <element + name='font-face-uri' + href='fonts.html#FontFaceURIElement' + contentmodel='anyof' + elements='font-face-format' + attributecategories='core, xlink' + interfaces='SVGFontFaceUriElement'> + <attribute name='xlink:href' href='fonts.html#FontFaceUriElementHrefAttribute'/> + </element> + + <element + name='foreignObject' + href='extend.html#ForeignObjectElement' + contentmodel='any' + attributecategories='core, conditional processing, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGForeignObjectElement'> + <attribute name='x' href='extend.html#ForeignObjectElementXAttribute' animatable='yes'/> + <attribute name='y' href='extend.html#ForeignObjectElementYAttribute' animatable='yes'/> + <attribute name='width' href='extend.html#ForeignObjectElementWidthAttribute' animatable='yes'/> + <attribute name='height' href='extend.html#ForeignObjectElementHeightAttribute' animatable='yes'/> + </element> + + <element + name='g' + href='struct.html#GElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGGElement'/> + + <element + name='glyph' + href='fonts.html#GlyphElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='core, style, presentation' + attributes='d, horiz-adv-x, vert-origin-x, vert-origin-y, vert-adv-y' + interfaces='SVGGlyphElement'> + <attribute name='unicode' elements='glyph' href='fonts.html#GlyphElementUnicodeAttribute'/> + <attribute name='glyph-name' elements='glyph' href='fonts.html#GlyphElementGlyphNameAttribute'/> + <attribute name='orientation' elements='glyph' href='fonts.html#GlyphElementOrientationAttribute'/> + <attribute name='arabic-form' elements='glyph' href='fonts.html#GlyphElementArabicFormAttribute'/> + <attribute name='lang' elements='glyph' href='fonts.html#GlyphElementLangAttribute'/> + </element> + + <element + name='glyphRef' + href='text.html#GlyphRefElement' + attributecategories='core, style, presentation, xlink' + interfaces='SVGGlyphRefElement'> + <attribute name='x' href='text.html#GlyphRefElementXAttribute'/> + <attribute name='y' href='text.html#GlyphRefElementYAttribute'/> + <attribute name='dx' href='text.html#GlyphRefElementDXAttribute'/> + <attribute name='dy' href='text.html#GlyphRefElementDYAttribute'/> + <attribute name='glyphRef' href='text.html#GlyphRefElementGlyphRefAttribute'/> + <attribute name='format' href='text.html#GlyphRefElementFormatAttribute'/> + <attribute name='xlink:href' href='text.html#GlyphRefElementHrefAttribute'/> + </element> + + <element + name='hkern' + href='fonts.html#HKernElement' + attributecategories='core' + attributes='u1, g1, u2, g2, k' + interfaces='SVGHKernElement'/> + + <element + name='image' + href='struct.html#ImageElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='core, conditional processing, graphical event, style, xlink, presentation' + attributes='externalResourcesRequired, preserveAspectRatio, transform' + interfaces='SVGImageElement'> + <attribute name='x' href='struct.html#ImageElementXAttribute' animatable='yes'/> + <attribute name='y' href='struct.html#ImageElementYAttribute' animatable='yes'/> + <attribute name='width' href='struct.html#ImageElementWidthAttribute' animatable='yes'/> + <attribute name='height' href='struct.html#ImageElementHeightAttribute' animatable='yes'/> + <attribute name='xlink:href' href='struct.html#ImageElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='line' + href='shapes.html#LineElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGLineElement'> + <attribute name='x1' href='shapes.html#LineElementX1Attribute' animatable='yes'/> + <attribute name='y1' href='shapes.html#LineElementY1Attribute' animatable='yes'/> + <attribute name='x2' href='shapes.html#LineElementX2Attribute' animatable='yes'/> + <attribute name='y2' href='shapes.html#LineElementY2Attribute' animatable='yes'/> + </element> + + <element + name='linearGradient' + href='pservers.html#LinearGradientElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='animate, animateTransform, set, stop' + attributecategories='core, presentation, style, xlink' + attributes='externalResourcesRequired' + interfaces='SVGLinearGradientElement'> + <attribute name='x1' href='pservers.html#LinearGradientElementX1Attribute' animatable='yes'/> + <attribute name='y1' href='pservers.html#LinearGradientElementY1Attribute' animatable='yes'/> + <attribute name='x2' href='pservers.html#LinearGradientElementX2Attribute' animatable='yes'/> + <attribute name='y2' href='pservers.html#LinearGradientElementY2Attribute' animatable='yes'/> + <attribute name='gradientUnits' href='pservers.html#LinearGradientElementGradientUnitsAttribute' animatable='yes'/> + <attribute name='gradientTransform' href='pservers.html#LinearGradientElementGradientTransformAttribute' animatable='yes'/> + <attribute name='spreadMethod' href='pservers.html#LinearGradientElementSpreadMethodAttribute' animatable='yes'/> + <attribute name='xlink:href' href='pservers.html#LinearGradientElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='marker' + href='painting.html#MarkerElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='core, presentation, style' + attributes='externalResourcesRequired, viewBox, preserveAspectRatio' + interfaces='SVGMarkerElement'> + <attribute name='refX' href='painting.html#MarkerElementRefXAttribute' animatable='yes'/> + <attribute name='refY' href='painting.html#MarkerElementRefYAttribute' animatable='yes'/> + <attribute name='markerUnits' href='painting.html#MarkerUnitsAttribute' animatable='yes'/> + <attribute name='markerWidth' href='painting.html#MarkerWidthAttribute' animatable='yes'/> + <attribute name='markerHeight' href='painting.html#MarkerHeightAttribute' animatable='yes'/> + <attribute name='orient' href='painting.html#OrientAttribute' animatable='yes'/> + </element> + + <element + name='mask' + href='masking.html#MaskElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='conditional processing, core, presentation, style' + attributes='externalResourcesRequired' + interfaces='SVGMaskElement'> + <attribute name='x' elements='mask' href='masking.html#MaskElementXAttribute' animatable='yes'/> + <attribute name='y' elements='mask' href='masking.html#MaskElementYAttribute' animatable='yes'/> + <attribute name='width' elements='mask' href='masking.html#MaskElementWidthAttribute' animatable='yes'/> + <attribute name='height' elements='mask' href='masking.html#MaskElementHeightAttribute' animatable='yes'/> + <attribute name='maskUnits' elements='mask' href='masking.html#MaskElementMaskUnitsAttribute' animatable='yes'/> + <attribute name='maskContentUnits' elements='mask' href='masking.html#MaskElementMaskContentUnitsAttribute' animatable='yes'/> + </element> + + <element + name='metadata' + href='metadata.html#MetadataElement' + contentmodel='any' + attributecategories='core' + interfaces='SVGMetadataElement'/> + + <element + name='missing-glyph' + href='fonts.html#MissingGlyphElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='core, style, presentation' + attributes='d, horiz-adv-x, vert-origin-x, vert-origin-y, vert-adv-y' + interfaces='SVGMissingGlyphElement'/> + + <element + name='mpath' + href='animate.html#MPathElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='core, xlink' + attributes='externalResourcesRequired' + interfaces='SVGMPathElement'> + <attribute name='xlink:href' href='animate.html#MPathElementHrefAttribute'/> + </element> + + <element + name='path' + href='paths.html#PathElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGPathElement'> + <attribute name='d' href='paths.html#DAttribute' animatable='yes'/> + <attribute name='pathLength' href='paths.html#PathLengthAttribute' animatable='yes'/> + </element> + + <element + name='pattern' + href='pservers.html#PatternElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='conditional processing, core, presentation, style, xlink' + attributes='externalResourcesRequired, viewBox, preserveAspectRatio' + interfaces='SVGPatternElement'> + <attribute name='x' href='pservers.html#PatternElementXAttribute' animatable='yes'/> + <attribute name='y' href='pservers.html#PatternElementYAttribute' animatable='yes'/> + <attribute name='width' href='pservers.html#PatternElementWidthAttribute' animatable='yes'/> + <attribute name='height' href='pservers.html#PatternElementHeightAttribute' animatable='yes'/> + <attribute name='patternUnits' href='pservers.html#PatternElementPatternUnitsAttribute' animatable='yes'/> + <attribute name='patternContentUnits' href='pservers.html#PatternElementPatternContentUnitsAttribute' animatable='yes'/> + <attribute name='patternTransform' href='pservers.html#PatternElementPatternTransformAttribute' animatable='yes'/> + <attribute name='xlink:href' href='pservers.html#PatternElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='polygon' + href='shapes.html#PolygonElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGPolygonElement'> + <attribute name='points' href='shapes.html#PolygonElementPointsAttribute' animatable='yes'/> + </element> + + <element + name='polyline' + href='shapes.html#PolylineElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGPolylineElement'> + <attribute name='points' href='shapes.html#PolylineElementPointsAttribute' animatable='yes'/> + </element> + + <element + name='radialGradient' + href='pservers.html#RadialGradientElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='animate, animateTransform, set, stop' + attributecategories='core, presentation, style, xlink' + attributes='externalResourcesRequired' + interfaces='SVGRadialGradientElement'> + <attribute name='cx' href='pservers.html#RadialGradientElementCXAttribute' animatable='yes'/> + <attribute name='cy' href='pservers.html#RadialGradientElementCYAttribute' animatable='yes'/> + <attribute name='r' href='pservers.html#RadialGradientElementRAttribute' animatable='yes'/> + <attribute name='fx' href='pservers.html#RadialGradientElementFXAttribute' animatable='yes'/> + <attribute name='fy' href='pservers.html#RadialGradientElementFYAttribute' animatable='yes'/> + <attribute name='gradientUnits' href='pservers.html#RadialGradientElementGradientUnitsAttribute' animatable='yes'/> + <attribute name='gradientTransform' href='pservers.html#RadialGradientElementGradientTransformAttribute' animatable='yes'/> + <attribute name='spreadMethod' href='pservers.html#RadialGradientElementSpreadMethodAttribute' animatable='yes'/> + <attribute name='xlink:href' href='pservers.html#RadialGradientElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='rect' + href='shapes.html#RectElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGRectElement'> + <attribute name='x' href='shapes.html#RectElementXAttribute' animatable='yes'/> + <attribute name='y' href='shapes.html#RectElementYAttribute' animatable='yes'/> + <attribute name='width' href='shapes.html#RectElementWidthAttribute' animatable='yes'/> + <attribute name='height' href='shapes.html#RectElementHeightAttribute' animatable='yes'/> + <attribute name='rx' href='shapes.html#RectElementRXAttribute' animatable='yes'/> + <attribute name='ry' href='shapes.html#RectElementRYAttribute' animatable='yes'/> + </element> + + <element + name='script' + href='script.html#ScriptElement' + contentmodel='any' + attributecategories='core, xlink' + attributes='externalResourcesRequired' + interfaces='SVGScriptElement'> + <attribute name='type' href='script.html#ScriptElementTypeAttribute'/> + <attribute name='xlink:href' href='script.html#ScriptElementHrefAttribute'/> + </element> + + <element + name='set' + href='animate.html#SetElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='conditional processing, core, animation event, xlink, animation attribute target, animation timing' + attributes='externalResourcesRequired' + interfaces='SVGSetElement'> + <attribute name='to' href='animate.html#SetElementToAttribute'/> + </element> + + <element + name='stop' + href='pservers.html#StopElement' + contentmodel='anyof' + elements='animate, animateColor, set' + attributecategories='core, presentation, style' + interfaces='SVGStopElement'> + <attribute name='offset' href='pservers.html#StopElementOffsetAttribute' animatable='yes'/> + </element> + + <element + name='style' + href='styling.html#StyleElement' + contentmodel='any' + attributecategories='core' + interfaces='SVGStyleElement'> + <attribute name='type' href='styling.html#StyleElementTypeAttribute'/> + <attribute name='media' href='styling.html#StyleElementMediaAttribute'/> + <attribute name='title' href='styling.html#StyleElementTitleAttribute'/> + </element> + + <element + name='svg' + href='struct.html#SVGElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='conditional processing, core, document event, graphical event, presentation, style' + attributes='externalResourcesRequired, x, y, width, height, viewBox, preserveAspectRatio, zoomAndPan, version, baseProfile, contentScriptType, contentStyleType' + interfaces='SVGSVGElement'> + <attribute name='x' href='struct.html#SVGElementXAttribute' animatable='yes'/> + <attribute name='y' href='struct.html#SVGElementYAttribute' animatable='yes'/> + <attribute name='width' href='struct.html#SVGElementWidthAttribute' animatable='yes'/> + <attribute name='height' href='struct.html#SVGElementHeightAttribute' animatable='yes'/> + <attribute name='version' href='struct.html#SVGElementVersionAttribute'/> + <attribute name='baseProfile' href='struct.html#SVGElementBaseProfileAttribute'/> + </element> + + <element + name='switch' + href='struct.html#SwitchElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape' + elements='svg, g, use, text, image, a, foreignObject, switch' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform' + interfaces='SVGSwitchElement'/> + + <element + name='symbol' + href='struct.html#SymbolElement' + contentmodel='anyof' + elementcategories='animation, descriptive, shape, structural, gradient' + elements='a, clipPath, color-profile, cursor, filter, font, font-face, foreignObject, image, marker, mask, pattern, script, style, switch, view, text, altGlyphDef' + attributecategories='core, graphical event, presentation, style' + attributes='externalResourcesRequired, preserveAspectRatio, viewBox' + interfaces='SVGSymbolElement'/> + + <element + name='text' + href='text.html#TextElement' + contentmodel='textoranyof' + elementcategories='animation, descriptive, text content child' + elements='a' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, transform, lengthAdjust' + interfaces='SVGTextElement'> + <attribute name='x' href='text.html#TextElementXAttribute' animatable='yes'/> + <attribute name='y' href='text.html#TextElementYAttribute' animatable='yes'/> + <attribute name='dx' href='text.html#TextElementDXAttribute' animatable='yes'/> + <attribute name='dy' href='text.html#TextElementDYAttribute' animatable='yes'/> + <attribute name='rotate' href='text.html#TextElementRotateAttribute' animatable='yes'/> + <attribute name='textLength' href='text.html#TextElementTextLengthAttribute' animatable='yes'/> + </element> + + <element + name='textPath' + href='text.html#TextPathElement' + contentmodel='textoranyof' + elementcategories='descriptive' + elements='animate, animateColor, a, set, tspan, tref, altGlyph' + attributecategories='conditional processing, core, graphical event, presentation, style, xlink' + attributes='externalResourcesRequired' + interfaces='SVGTextPathElement'> + <attribute name='xlink:href' href='text.html#TextPathElementHrefAttribute' animatable='yes'/> + <attribute name='startOffset' href='text.html#TextPathElementStartOffsetAttribute' animatable='yes'/> + <attribute name='method' href='text.html#TextPathElementMethodAttribute' animatable='yes'/> + <attribute name='spacing' href='text.html#TextPathElementSpacingAttribute' animatable='yes'/> + </element> + + <element + name='title' + href='struct.html#TitleElement' + contentmodel='any' + attributecategories='core, style' + interfaces='SVGTitleElement'/> + + <element + name='tref' + href='text.html#TRefElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='animate, animateColor, set' + attributecategories='conditional processing, core, graphical event, presentation, style, xlink' + attributes='externalResourcesRequired' + interfaces='SVGTRefElement'> + <attribute name='xlink:href' elements='tref' href='text.html#TRefElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='tspan' + href='text.html#TSpanElement' + contentmodel='textoranyof' + elementcategories='descriptive' + elements='a, animate, animateColor, set, tspan, tref, altGlyph' + attributecategories='conditional processing, core, graphical event, presentation, style' + attributes='externalResourcesRequired, x, y, dx, dy, rotate, textLength, lengthAdjust' + interfaces='SVGTSpanElement'/> + + <element + name='use' + href='struct.html#UseElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + attributecategories='core, conditional processing, graphical event, presentation, style, xlink' + attributes='externalResourcesRequired, transform' + interfaces='SVGUseElement'> + <attribute name='x' href='struct.html#UseElementXAttribute' animatable='yes'/> + <attribute name='y' href='struct.html#UseElementYAttribute' animatable='yes'/> + <attribute name='width' href='struct.html#UseElementWidthAttribute' animatable='yes'/> + <attribute name='height' href='struct.html#UseElementHeightAttribute' animatable='yes'/> + <attribute name='xlink:href' href='struct.html#UseElementHrefAttribute' animatable='yes'/> + </element> + + <element + name='view' + href='linking.html#ViewElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='core' + attributes='externalResourcesRequired, viewBox, preserveAspectRatio, zoomAndPan' + interfaces='SVGViewElement'> + <attribute name='viewTarget' elements='view' href='linking.html#ViewElementViewTargetAttribute'/> + </element> + + <element + name='vkern' + href='fonts.html#VKernElement' + attributecategories='core' + attributes='u1, g1, u2, g2, k' + interfaces='SVGVKernElement'/> + + <!-- ... element categories ............................................ --> + + <elementcategory name='animation' href='intro.html#TermAnimationElement' elements='animate, animateColor, animateMotion, animateTransform, set'/> + <elementcategory name='basic shape' href='intro.html#TermBasicShapeElement' elements='circle, ellipse, line, polygon, polyline, rect'/> + <elementcategory name='container' href='intro.html#TermContainerElement' elements='svg, g, defs, symbol, mask, pattern, marker, a, switch, glyph, missing-glyph'/> + <elementcategory name='descriptive' href='intro.html#TermDescriptiveElement' elements='desc, title, metadata'/> + <elementcategory name='filter primitive' href='intro.html#TermFilterPrimitiveElement' elements='feBlend, feFlood, feColorMatrix, feComponentTransfer, feComposite, feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feGaussianBlur, feImage, feMerge, feMorphology, feOffset, feSpecularLighting, feTile, feTurbulence'/> + <elementcategory name='gradient' href='intro.html#TermGradientElement' elements='linearGradient, radialGradient'/> + <elementcategory name='graphics' href='intro.html#TermGraphicsElement' elements='path, text, rect, circle, ellipse, line, polyline, polygon, image, use'/> + <elementcategory name='graphics referencing' href='intro.html#TermGraphicsReferencingElement' elements='use, image'/> + <elementcategory name='light source' href='intro.html#TermLightSourceElement' elements='feDistantLight, fePointLight, feSpotLight'/> + <elementcategory name='shape' href='intro.html#TermShapeElement' elements='circle, ellipse, line, path, polygon, polyline, rect'/> + <elementcategory name='structural' href='intro.html#TermStructuralElement' elements='defs, g, svg, symbol, use'/> + <elementcategory name='text content' href='intro.html#TermTextContentElement' elements='text, tspan, tref, textPath, altGlyph'/> + <elementcategory name='text content child' href='intro.html#TermTextContentChildElement' elements='tspan, tref, textPath, altGlyph'/> + + <!-- ... attributes common to multiple elements ........................ --> + + <!-- attributes common to both glyph and missing-glyph --> + <attribute name='d' elements='glyph, missing-glyph' href='fonts.html#GlyphElementDAttribute'/> + <attribute name='horiz-adv-x' elements='glyph, missing-glyph' href='fonts.html#GlyphElementHorizAdvXAttribute'/> + <attribute name='vert-origin-x' elements='glyph, missing-glyph' href='fonts.html#GlyphElementVertOriginXAttribute'/> + <attribute name='vert-origin-y' elements='glyph, missing-glyph' href='fonts.html#GlyphElementVertOriginYAttribute'/> + <attribute name='vert-adv-y' elements='glyph, missing-glyph' href='fonts.html#GlyphElementVertAdvYAttribute'/> + + <!-- attribute common to most filter primitives (all except feFlood feImage feMerge feTurbulence --> + <attribute name='in' elements='feBlend, feColorMatrix, feComponentTransfer, feComposite, feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feGaussianBlur, feMorphology, feOffset, feSpecularLighting, feTile' href='filters.html#FilterPrimitiveInAttribute' animatable='yes'/> + + <!-- attributes common to hkern and vkern --> + <attribute name='u1' elements='hkern, vkern' href='fonts.html#HKernElementU1Attribute'/> + <attribute name='g1' elements='hkern, vkern' href='fonts.html#HKernElementG1Attribute'/> + <attribute name='u2' elements='hkern, vkern' href='fonts.html#HKernElementU2Attribute'/> + <attribute name='g2' elements='hkern, vkern' href='fonts.html#HKernElementG2Attribute'/> + <attribute name='k' elements='hkern, vkern' href='fonts.html#HKernElementKAttribute'/> + + <!-- attributes common to text elements --> + <attribute name='x' elements='tspan, tref' href='text.html#TSpanElementXAttribute' animatable='yes'/> + <attribute name='y' elements='tspan, tref' href='text.html#TSpanElementYAttribute' animatable='yes'/> + <attribute name='dx' elements='tspan, tref' href='text.html#TSpanElementDXAttribute' animatable='yes'/> + <attribute name='dy' elements='tspan, tref' href='text.html#TSpanElementDYAttribute' animatable='yes'/> + <attribute name='rotate' elements='tspan, tref' href='text.html#TSpanElementRotateAttribute' animatable='yes'/> + <attribute name='textLength' elements='tspan, tref, textPath' href='text.html#TSpanElementTextLengthAttribute' animatable='yes'/> + <attribute name='lengthAdjust' elements='text, tspan, tref, textPath' href='text.html#TextElementLengthAdjustAttribute' animatable='yes'/> + + <!-- xlink:show and xlink:actuate for all elements supporting the XLink attributes, except a --> + <attribute name='xlink:show' elements='animate, set, animateMotion, mpath, animateColor, animateTransform, color-profile, filter, feImage, font-face-uri, cursor, pattern, script, use, image, altGlyph, glyphRef' href='linking.html#XLinkShowAttribute'/> + <attribute name='xlink:actuate' elements='animate, set, animateMotion, mpath, animateColor, animateTransform, color-profile, filter, feImage, font-face-uri, cursor, pattern, script, use, image, altGlyph, glyphRef' href='linking.html#XLinkActuateAttribute'/> + + <!-- attribute common to all animation elements --> + <attribute name='xlink:href' elements='animate, animateColor, animateMotion, animateTransform, set' href='animate.html#HrefAttribute'/> + + <!-- misc --> + <attribute name='contentScriptType' href='script.html#ContentScriptTypeAttribute'/> + <attribute name='contentStyleType' href='styling.html#ContentStyleTypeAttribute'/> + <attribute name='externalResourcesRequired' href='struct.html#ExternalResourcesRequiredAttribute'/> + <attribute name='viewBox' href='coords.html#ViewBoxAttribute' animatable='yes'/> + <attribute name='preserveAspectRatio' href='coords.html#PreserveAspectRatioAttribute' animatable='yes'/> + <attribute name='transform' href='coords.html#TransformAttribute' animatable='yes'/> + <attribute name='zoomAndPan' href='interact.html#ZoomAndPanAttribute'/> + + <!-- ... attribute categories .......................................... --> + + <attributecategory + name='conditional processing' + href='intro.html#TermConditionalProcessingAttribute'> + <attribute name='requiredFeatures' href='struct.html#RequiredFeaturesAttribute'/> + <attribute name='requiredExtensions' href='struct.html#RequiredExtensionsAttribute'/> + <attribute name='systemLanguage' href='struct.html#SystemLanguageAttribute'/> + </attributecategory> + + <attributecategory + name='core' + href='intro.html#TermCoreAttributes'> + <attribute name='id' href='struct.html#IDAttribute'/> + <attribute name='xml:base' href='struct.html#XMLBaseAttribute'/> + <attribute name='xml:lang' href='struct.html#XMLLangAttribute'/> + <attribute name='xml:space' href='struct.html#XMLSpaceAttribute'/> + </attributecategory> + + <attributecategory + name='style'> + <attribute name='class' href='styling.html#ClassAttribute' animatable='yes'/> + <attribute name='style' href='styling.html#StyleAttribute'/> + </attributecategory> + + <attributecategory + name='presentation' + href='intro.html#TermPresentationAttribute' + presentationattributes='alignment-baseline, baseline-shift, clip, clip-path, clip-rule, color, color-interpolation, color-interpolation-filters, color-profile, color-rendering, cursor, direction, display, dominant-baseline, enable-background, fill, fill-opacity, fill-rule, filter, flood-color, flood-opacity, font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight, glyph-orientation-horizontal, glyph-orientation-vertical, image-rendering, kerning, letter-spacing, lighting-color, marker-end, marker-mid, marker-start, mask, opacity, overflow, pointer-events, shape-rendering, stop-color, stop-opacity, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, text-anchor, text-decoration, text-rendering, unicode-bidi, visibility, word-spacing, writing-mode'/> + + <attributecategory + name='document event' + href='intro.html#TermDocumentEventAttribute'> + <attribute name='onunload' href='script.html#OnUnloadEventAttribute'/> + <attribute name='onabort' href='script.html#OnAbortEventAttribute'/> + <attribute name='onerror' href='script.html#OnErrorEventAttribute'/> + <attribute name='onresize' href='script.html#OnResizeEventAttribute'/> + <attribute name='onscroll' href='script.html#OnScrollEventAttribute'/> + <attribute name='onzoom' href='script.html#OnZoomEventAttribute'/> + </attributecategory> + + <attributecategory + name='graphical event' + href='intro.html#TermGraphicalEventAttribute'> + <attribute name='onfocusin' href='script.html#OnFocusInEventAttribute'/> + <attribute name='onfocusout' href='script.html#OnFocusOutEventAttribute'/> + <attribute name='onactivate' href='script.html#OnActivateEventAttribute'/> + <attribute name='onclick' href='script.html#OnClickEventAttribute'/> + <attribute name='onmousedown' href='script.html#OnMouseDownEventAttribute'/> + <attribute name='onmouseup' href='script.html#OnMouseUpEventAttribute'/> + <attribute name='onmouseover' href='script.html#OnMouseOverEventAttribute'/> + <attribute name='onmousemove' href='script.html#OnMouseMoveEventAttribute'/> + <attribute name='onmouseout' href='script.html#OnMouseOutEventAttribute'/> + <attribute name='onload' href='script.html#OnLoadEventAttribute'/> + </attributecategory> + + <attributecategory + name='animation event' + href='intro.html#TermAnimationEventAttribute'> + <attribute name='onbegin' href='script.html#OnBeginEventAttribute'/> + <attribute name='onend' href='script.html#OnEndEventAttribute'/> + <attribute name='onrepeat' href='script.html#OnRepeatEventAttribute'/> + <attribute name='onload' href='script.html#OnLoadEventAttribute'/> + </attributecategory> + + <attributecategory + name='xlink' + href='intro.html#TermXLinkAttributes' + attributes='xlink:href, xlink:show, xlink:actuate'> + <attribute name='xlink:type' href='linking.html#XLinkTypeAttribute'/> + <attribute name='xlink:role' href='linking.html#XLinkRoleAttribute'/> + <attribute name='xlink:arcrole' href='linking.html#XLinkArcRoleAttribute'/> + <attribute name='xlink:title' href='linking.html#XLinkTitleAttribute'/> + </attributecategory> + + <attributecategory + name='filter primitive' + href='intro.html#TermFilterPrimitiveAttributes'> + <attribute name='x' href='filters.html#FilterPrimitiveXAttribute' animatable='yes'/> + <attribute name='y' href='filters.html#FilterPrimitiveYAttribute' animatable='yes'/> + <attribute name='width' href='filters.html#FilterPrimitiveWidthAttribute' animatable='yes'/> + <attribute name='height' href='filters.html#FilterPrimitiveHeightAttribute' animatable='yes'/> + <attribute name='result' href='filters.html#FilterPrimitiveResultAttribute' animatable='yes'/> + </attributecategory> + + <attributecategory + name='animation attribute target' + href='animate.html#TargetAttributes'> + <attribute name='attributeType' href='animate.html#AttributeTypeAttribute'/> + <attribute name='attributeName' href='animate.html#AttributeNameAttribute'/> + </attributecategory> + + <attributecategory + name='animation timing' + href='animate.html#TimingAttributes'> + <attribute name='begin' href='animate.html#BeginAttribute'/> + <attribute name='dur' href='animate.html#DurAttribute'/> + <attribute name='end' href='animate.html#EndAttribute'/> + <attribute name='min' href='animate.html#MinAttribute'/> + <attribute name='max' href='animate.html#MaxAttribute'/> + <attribute name='restart' href='animate.html#RestartAttribute'/> + <attribute name='repeatCount' href='animate.html#RepeatCountAttribute'/> + <attribute name='repeatDur' href='animate.html#RepeatDurAttribute'/> + <attribute name='fill' href='animate.html#FillAttribute'/> + </attributecategory> + + <attributecategory + name='animation value' + href='animate.html#ValueAttributes'> + <attribute name='calcMode' href='animate.html#CalcModeAttribute'/> + <attribute name='values' href='animate.html#ValuesAttribute'/> + <attribute name='keyTimes' href='animate.html#KeyTimesAttribute'/> + <attribute name='keySplines' href='animate.html#KeySplinesAttribute'/> + <attribute name='from' href='animate.html#FromAttribute'/> + <attribute name='to' href='animate.html#ToAttribute'/> + <attribute name='by' href='animate.html#ByAttribute'/> + </attributecategory> + + <attributecategory + name='animation addition' + href='animate.html#AdditionAttributes'> + <attribute name='additive' href='animate.html#AdditiveAttribute'/> + <attribute name='accumulate' href='animate.html#AccumulateAttribute'/> + </attributecategory> + + <attributecategory + name='transfer function element' + href='filters.html#TransferFunctionElementAttributes'> + <attribute name='type' href='filters.html#feComponentTransferTypeAttribute' animatable='yes'/> + <attribute name='tableValues' href='filters.html#feComponentTransferTableValuesAttribute' animatable='yes'/> + <attribute name='slope' href='filters.html#feComponentTransferSlopeAttribute' animatable='yes'/> + <attribute name='intercept' href='filters.html#feComponentTransferInterceptAttribute' animatable='yes'/> + <attribute name='amplitude' href='filters.html#feComponentTransferAmplitudeAttribute' animatable='yes'/> + <attribute name='exponent' href='filters.html#feComponentTransferExponentAttribute' animatable='yes'/> + <attribute name='offset' href='filters.html#feComponentTransferOffsetAttribute' animatable='yes'/> + </attributecategory> + + <!-- ... properties ..................................................... --> + + <property name='alignment-baseline' href='text.html#AlignmentBaselineProperty'/> + <property name='baseline-shift' href='text.html#BaselineShiftProperty'/> + <property name='clip' href='masking.html#ClipProperty'/> + <property name='clip-path' href='masking.html#ClipPathProperty'/> + <property name='clip-rule' href='masking.html#ClipRuleProperty'/> + <property name='color' href='color.html#ColorProperty'/> + <property name='color-interpolation' href='painting.html#ColorInterpolationProperty'/> + <property name='color-interpolation-filters' href='painting.html#ColorInterpolationFiltersProperty'/> + <property name='color-profile' href='color.html#ColorProfileProperty'/> + <property name='color-rendering' href='painting.html#ColorRenderingProperty'/> + <property name='cursor' href='interact.html#CursorProperty'/> + <property name='direction' href='text.html#DirectionProperty'/> + <property name='display' href='painting.html#DisplayProperty'/> + <property name='dominant-baseline' href='text.html#DominantBaselineProperty'/> + <property name='enable-background' href='filters.html#EnableBackgroundProperty'/> + <property name='fill' href='painting.html#FillProperty'/> + <property name='fill-opacity' href='painting.html#FillOpacityProperty'/> + <property name='fill-rule' href='painting.html#FillRuleProperty'/> + <property name='filter' href='filters.html#FilterProperty'/> + <property name='flood-color' href='filters.html#FloodColorProperty'/> + <property name='flood-opacity' href='filters.html#FloodOpacityProperty'/> + <property name='font' href='text.html#FontProperty'/> + <property name='font-family' href='text.html#FontFamilyProperty'/> + <property name='font-size' href='text.html#FontSizeProperty'/> + <property name='font-size-adjust' href='text.html#FontSizeAdjustProperty'/> + <property name='font-stretch' href='text.html#FontStretchProperty'/> + <property name='font-style' href='text.html#FontStyleProperty'/> + <property name='font-variant' href='text.html#FontVariantProperty'/> + <property name='font-weight' href='text.html#FontWeightProperty'/> + <property name='glyph-orientation-horizontal' href='text.html#GlyphOrientationHorizontalProperty'/> + <property name='glyph-orientation-vertical' href='text.html#GlyphOrientationVerticalProperty'/> + <property name='image-rendering' href='painting.html#ImageRenderingProperty'/> + <property name='kerning' href='text.html#KerningProperty'/> + <property name='letter-spacing' href='text.html#LetterSpacingProperty'/> + <property name='lighting-color' href='filters.html#LightingColorProperty'/> + <property name='marker' href='painting.html#MarkerProperty'/> + <property name='marker-end' href='painting.html#MarkerEndProperty'/> + <property name='marker-mid' href='painting.html#MarkerMidProperty'/> + <property name='marker-start' href='painting.html#MarkerStartProperty'/> + <property name='mask' href='masking.html#MaskProperty'/> + <property name='opacity' href='masking.html#OpacityProperty'/> + <property name='overflow' href='masking.html#OverflowProperty'/> + <property name='pointer-events' href='interact.html#PointerEventsProperty'/> + <property name='shape-rendering' href='painting.html#ShapeRenderingProperty'/> + <property name='stop-color' href='pservers.html#StopColorProperty'/> + <property name='stop-opacity' href='pservers.html#StopOpacityProperty'/> + <property name='stroke' href='painting.html#StrokeProperty'/> + <property name='stroke-dasharray' href='painting.html#StrokeDasharrayProperty'/> + <property name='stroke-dashoffset' href='painting.html#StrokeDashoffsetProperty'/> + <property name='stroke-linecap' href='painting.html#StrokeLinecapProperty'/> + <property name='stroke-linejoin' href='painting.html#StrokeLinejoinProperty'/> + <property name='stroke-miterlimit' href='painting.html#StrokeMiterlimitProperty'/> + <property name='stroke-opacity' href='painting.html#StrokeOpacityProperty'/> + <property name='stroke-width' href='painting.html#StrokeWidthProperty'/> + <property name='text-anchor' href='text.html#TextAnchorProperty'/> + <property name='text-decoration' href='text.html#TextDecorationProperty'/> + <property name='text-rendering' href='painting.html#TextRenderingProperty'/> + <property name='unicode-bidi' href='text.html#UnicodeBidiProperty'/> + <property name='visibility' href='painting.html#VisibilityProperty'/> + <property name='word-spacing' href='text.html#WordSpacingProperty'/> + <property name='writing-mode' href='text.html#WritingModeProperty'/> + + <!-- ... interfaces ..................................................... --> + + <interface name='SVGDocument' href='struct.html#InterfaceSVGDocument'/> + <interface name='SVGSVGElement' href='struct.html#InterfaceSVGSVGElement'/> + <interface name='SVGGElement' href='struct.html#InterfaceSVGGElement'/> + <interface name='SVGElement' href='types.html#InterfaceSVGElement'/> + <interface name='SVGDefsElement' href='struct.html#InterfaceSVGDefsElement'/> + <interface name='SVGTitleElement' href='struct.html#InterfaceSVGTitleElement'/> + <interface name='SVGDescElement' href='struct.html#InterfaceSVGDescElement'/> + <interface name='SVGSymbolElement' href='struct.html#InterfaceSVGSymbolElement'/> + <interface name='SVGUseElement' href='struct.html#InterfaceSVGUseElement'/> + <interface name='SVGPathElement' href='paths.html#InterfaceSVGPathElement'/> + <interface name='SVGElementInstance' href='struct.html#InterfaceSVGElementInstance'/> + <interface name='SVGElementInstanceList' href='struct.html#InterfaceSVGElementInstanceList'/> + <interface name='SVGImageElement' href='struct.html#InterfaceSVGImageElement'/> + <interface name='SVGSwitchElement' href='struct.html#InterfaceSVGSwitchElement'/> + <interface name='GetSVGDocument' href='struct.html#InterfaceGetSVGDocument'/> + <interface name='SVGAnimatedInteger' href='types.html#InterfaceSVGAnimatedInteger'/> + <interface name='SVGAnimatedNumber' href='types.html#InterfaceSVGAnimatedNumber'/> + <interface name='SVGAnimatedLength' href='types.html#InterfaceSVGAnimatedLength'/> + <interface name='SVGAnimatedEnumeration' href='types.html#InterfaceSVGAnimatedEnumeration'/> + <interface name='SVGViewSpec' href='types.html#InterfaceSVGViewSpec'/> + <interface name='SVGZoomAndPan' href='types.html#InterfaceSVGZoomAndPan'/> + <interface name='SVGFitToViewBox' href='types.html#InterfaceSVGFitToViewBox'/> + <interface name='SVGNumber' href='types.html#InterfaceSVGNumber'/> + <interface name='SVGAngle' href='types.html#InterfaceSVGAngle'/> + <interface name='SVGMatrix' href='coords.html#InterfaceSVGMatrix'/> + <interface name='SVGRect' href='types.html#InterfaceSVGRect'/> + <interface name='SVGAnimatedRect' href='types.html#InterfaceSVGAnimatedRect'/> + <interface name='SVGLength' href='types.html#InterfaceSVGLength'/> + <interface name='SVGTransform' href='coords.html#InterfaceSVGTransform'/> + <interface name='SVGStringList' href='types.html#InterfaceSVGStringList'/> + <interface name='SVGException' href='svgdom.html#ExceptionSVGException'/> + <interface name='SVGPaint' href='painting.html#InterfaceSVGPaint'/> + <interface name='SVGTransformList' href='coords.html#InterfaceSVGTransformList'/> + <interface name='SVGAnimatedTransformList' href='coords.html#InterfaceSVGAnimatedTransformList'/> + <interface name='SVGGradientElement' href='pservers.html#InterfaceSVGGradientElement'/> + <interface name='SVGClipPathElement' href='masking.html#InterfaceSVGClipPathElement'/> + <interface name='SVGMaskElement' href='masking.html#InterfaceSVGMaskElement'/> + <interface name='SVGAnimatedLengthList' href='types.html#InterfaceSVGAnimatedLengthList'/> + <interface name='SVGAnimatedAngle' href='types.html#InterfaceSVGAnimatedAngle'/> + <interface name='SVGAnimatedString' href='types.html#InterfaceSVGAnimatedString'/> + <interface name='SVGNumberList' href='types.html#InterfaceSVGNumberList'/> + <interface name='SVGAnimatedNumberList' href='types.html#InterfaceSVGAnimatedNumberList'/> + <interface name='SVGLengthList' href='types.html#InterfaceSVGLengthList'/> + <interface name='SVGColor' href='types.html#InterfaceSVGColor'/> + <interface name='SVGICCColor' href='types.html#InterfaceSVGICCColor'/> + <interface name='SVGStylable' href='types.html#InterfaceSVGStylable'/> + <interface name='SVGLocatable' href='types.html#InterfaceSVGLocatable'/> + <interface name='SVGTransformable' href='types.html#InterfaceSVGTransformable'/> + <interface name='SVGTests' href='types.html#InterfaceSVGTests'/> + <interface name='SVGLangSpace' href='types.html#InterfaceSVGLangSpace'/> + <interface name='SVGExternalResourcesRequired' href='types.html#InterfaceSVGExternalResourcesRequired'/> + <interface name='SVGURIReference' href='types.html#InterfaceSVGURIReference'/> + <interface name='SVGCSSRule' href='types.html#InterfaceSVGCSSRule'/> + <interface name='SVGRenderingIntent' href='types.html#InterfaceSVGRenderingIntent'/> + <interface name='SVGAnimatedBoolean' href='types.html#InterfaceSVGAnimatedBoolean'/> + <interface name='SVGUnitTypes' href='types.html#InterfaceSVGUnitTypes'/> + <interface name='SVGStyleElement' href='styling.html#InterfaceSVGStyleElement'/> + <interface name='SVGPoint' href='coords.html#InterfaceSVGPoint'/> + <interface name='SVGPointList' href='coords.html#InterfaceSVGPointList'/> + <interface name='SVGPreserveAspectRatio' href='coords.html#InterfaceSVGPreserveAspectRatio'/> + <interface name='SVGAnimatedPreserveAspectRatio' href='coords.html#InterfaceSVGAnimatedPreserveAspectRatio'/> + <interface name='SVGPathSeg' href='paths.html#InterfaceSVGPathSeg'/> + <interface name="SVGPathSegClosePath" href="paths.html#InterfaceSVGPathSegClosePath"/> + <interface name="SVGPathSegMovetoAbs" href="paths.html#InterfaceSVGPathSegMovetoAbs"/> + <interface name="SVGPathSegMovetoRel" href="paths.html#InterfaceSVGPathSegMovetoRel"/> + <interface name="SVGPathSegLinetoAbs" href="paths.html#InterfaceSVGPathSegLinetoAbs"/> + <interface name="SVGPathSegLinetoRel" href="paths.html#InterfaceSVGPathSegLinetoRel"/> + <interface name="SVGPathSegCurvetoCubicAbs" href="paths.html#InterfaceSVGPathSegCurvetoCubicAbs"/> + <interface name="SVGPathSegCurvetoCubicRel" href="paths.html#InterfaceSVGPathSegCurvetoCubicRel"/> + <interface name="SVGPathSegCurvetoQuadraticAbs" href="paths.html#InterfaceSVGPathSegCurvetoQuadraticAbs"/> + <interface name="SVGPathSegCurvetoQuadraticRel" href="paths.html#InterfaceSVGPathSegCurvetoQuadraticRel"/> + <interface name="SVGPathSegArcAbs" href="paths.html#InterfaceSVGPathSegArcAbs"/> + <interface name="SVGPathSegArcRel" href="paths.html#InterfaceSVGPathSegArcRel"/> + <interface name="SVGPathSegLinetoHorizontalAbs" href="paths.html#InterfaceSVGPathSegLinetoHorizontalAbs"/> + <interface name="SVGPathSegLinetoHorizontalRel" href="paths.html#InterfaceSVGPathSegLinetoHorizontalRel"/> + <interface name="SVGPathSegLinetoVerticalAbs" href="paths.html#InterfaceSVGPathSegLinetoVerticalAbs"/> + <interface name="SVGPathSegLinetoVerticalRel" href="paths.html#InterfaceSVGPathSegLinetoVerticalRel"/> + <interface name="SVGPathSegCurvetoCubicSmoothAbs" href="paths.html#InterfaceSVGPathSegCurvetoCubicSmoothAbs"/> + <interface name="SVGPathSegCurvetoCubicSmoothRel" href="paths.html#InterfaceSVGPathSegCurvetoCubicSmoothRel"/> + <interface name="SVGPathSegCurvetoQuadraticSmoothAbs" href="paths.html#InterfaceSVGPathSegCurvetoQuadraticSmoothAbs"/> + <interface name="SVGPathSegCurvetoQuadraticSmoothRel" href="paths.html#InterfaceSVGPathSegCurvetoQuadraticSmoothRel"/> + <interface name="SVGPathSegList" href="paths.html#InterfaceSVGPathSegList"/> + <interface name="SVGAnimatedPathData" href="paths.html#InterfaceSVGAnimatedPathData"/> + <interface name='SVGRectElement' href='shapes.html#InterfaceSVGRectElement'/> + <interface name='SVGCircleElement' href='shapes.html#InterfaceSVGCircleElement'/> + <interface name='SVGEllipseElement' href='shapes.html#InterfaceSVGEllipseElement'/> + <interface name='SVGLineElement' href='shapes.html#InterfaceSVGLineElement'/> + <interface name='SVGPolylineElement' href='shapes.html#InterfaceSVGPolylineElement'/> + <interface name='SVGPolygonElement' href='shapes.html#InterfaceSVGPolygonElement'/> + <interface name='SVGAnimatedPoints' href='shapes.html#InterfaceSVGAnimatedPoints'/> + <interface name='SVGTextElement' href='text.html#InterfaceSVGTextElement'/> + <interface name='SVGTSpanElement' href='text.html#InterfaceSVGTSpanElement'/> + <interface name='SVGTRefElement' href='text.html#InterfaceSVGTRefElement'/> + <interface name='SVGTextPathElement' href='text.html#InterfaceSVGTextPathElement'/> + <interface name='SVGAltGlyphElement' href='text.html#InterfaceSVGAltGlyphElement'/> + <interface name='SVGAltGlyphDefElement' href='text.html#InterfaceSVGAltGlyphDefElement'/> + <interface name='SVGAltGlyphItemElement' href='text.html#InterfaceSVGAltGlyphItemElement'/> + <interface name='SVGGlyphRefElement' href='text.html#InterfaceSVGGlyphRefElement'/> + <interface name='SVGTextContentElement' href='text.html#InterfaceSVGTextContentElement'/> + <interface name='SVGTextPositioningElement' href='text.html#InterfaceSVGTextPositioningElement'/> + <interface name='SVGMarkerElement' href='painting.html#InterfaceSVGMarkerElement'/> + <interface name='SVGColorProfileElement' href='color.html#InterfaceSVGColorProfileElement'/> + <interface name='SVGColorProfileRule' href='color.html#InterfaceSVGColorProfileRule'/> + <interface name='SVGLinearGradientElement' href='pservers.html#InterfaceSVGLinearGradientElement'/> + <interface name='SVGRadialGradientElement' href='pservers.html#InterfaceSVGRadialGradientElement'/> + <interface name='SVGStopElement' href='pservers.html#InterfaceSVGStopElement'/> + <interface name='SVGPatternElement' href='pservers.html#InterfaceSVGPatternElement'/> + <interface name='SVGCursorElement' href='interact.html#InterfaceSVGCursorElement'/> + <interface name='SVGAElement' href='linking.html#InterfaceSVGAElement'/> + <interface name='SVGViewElement' href='linking.html#InterfaceSVGViewElement'/> + <interface name='SVGScriptElement' href='script.html#InterfaceSVGScriptElement'/> + <interface name='SVGZoomEvent' href='script.html#InterfaceSVGZoomEvent'/> + <interface name='SVGAnimateElement' href='animate.html#InterfaceSVGAnimateElement'/> + <interface name='SVGSetElement' href='animate.html#InterfaceSVGSetElement'/> + <interface name='SVGAnimateMotionElement' href='animate.html#InterfaceSVGAnimateMotionElement'/> + <interface name='SVGMPathElement' href='animate.html#InterfaceSVGMPathElement'/> + <interface name='SVGAnimateColorElement' href='animate.html#InterfaceSVGAnimateColorElement'/> + <interface name='SVGAnimateTransformElement' href='animate.html#InterfaceSVGAnimateTransformElement'/> + <interface name='ElementTimeControl' href='animate.html#InterfaceElementTimeControl'/> + <interface name='TimeEvent' href='animate.html#InterfaceTimeEvent'/> + <interface name='SVGAnimationElement' href='animate.html#InterfaceSVGAnimationElement'/> + <interface name='SVGFontElement' href='fonts.html#InterfaceSVGFontElement'/> + <interface name='SVGGlyphElement' href='fonts.html#InterfaceSVGGlyphElement'/> + <interface name='SVGMissingGlyphElement' href='fonts.html#InterfaceSVGMissingGlyphElement'/> + <interface name='SVGHKernElement' href='fonts.html#InterfaceSVGHKernElement'/> + <interface name='SVGVKernElement' href='fonts.html#InterfaceSVGVKernElement'/> + <interface name='SVGFontFaceElement' href='fonts.html#InterfaceSVGFontFaceElement'/> + <interface name='SVGFontFaceSrcElement' href='fonts.html#InterfaceSVGFontFaceSrcElement'/> + <interface name='SVGFontFaceUriElement' href='fonts.html#InterfaceSVGFontFaceUriElement'/> + <interface name='SVGFontFaceFormatElement' href='fonts.html#InterfaceSVGFontFaceFormatElement'/> + <interface name='SVGFontFaceNameElement' href='fonts.html#InterfaceSVGFontFaceNameElement'/> + <interface name='SVGMetadataElement' href='metadata.html#InterfaceSVGMetadataElement'/> + <interface name='SVGForeignObjectElement' href='extend.html#InterfaceSVGForeignObjectElement'/> + <interface name='SVGFilterElement' href='filters.html#InterfaceSVGFilterElement'/> + <interface name='SVGFilterPrimitiveStandardAttributes' href='filters.html#InterfaceSVGFilterPrimitiveStandardAttributes'/> + <interface name='SVGFEBlendElement' href='filters.html#InterfaceSVGFEBlendElement'/> + <interface name='SVGFEColorMatrixElement' href='filters.html#InterfaceSVGFEColorMatrixElement'/> + <interface name='SVGFEComponentTransferElement' href='filters.html#InterfaceSVGFEComponentTransferElement'/> + <interface name='SVGComponentTransferFunctionElement' href='filters.html#InterfaceSVGComponentTransferFunctionElement'/> + <interface name='SVGFEFuncRElement' href='filters.html#InterfaceSVGFEFuncRElement'/> + <interface name='SVGFEFuncGElement' href='filters.html#InterfaceSVGFEFuncGElement'/> + <interface name='SVGFEFuncBElement' href='filters.html#InterfaceSVGFEFuncBElement'/> + <interface name='SVGFEFuncAElement' href='filters.html#InterfaceSVGFEFuncAElement'/> + <interface name='SVGFECompositeElement' href='filters.html#InterfaceSVGFECompositeElement'/> + <interface name='SVGFEConvolveMatrixElement' href='filters.html#InterfaceSVGFEConvolveMatrixElement'/> + <interface name='SVGFEDiffuseLightingElement' href='filters.html#InterfaceSVGFEDiffuseLightingElement'/> + <interface name='SVGFEDistantLightElement' href='filters.html#InterfaceSVGFEDistantLightElement'/> + <interface name='SVGFEPointLightElement' href='filters.html#InterfaceSVGFEPointLightElement'/> + <interface name='SVGFESpotLightElement' href='filters.html#InterfaceSVGFESpotLightElement'/> + <interface name='SVGFEDisplacementMapElement' href='filters.html#InterfaceSVGFEDisplacementMapElement'/> + <interface name='SVGFEFloodElement' href='filters.html#InterfaceSVGFEFloodElement'/> + <interface name='SVGFEGaussianBlurElement' href='filters.html#InterfaceSVGFEGaussianBlurElement'/> + <interface name='SVGFEImageElement' href='filters.html#InterfaceSVGFEImageElement'/> + <interface name='SVGFEMergeElement' href='filters.html#InterfaceSVGFEMergeElement'/> + <interface name='SVGFEMergeNodeElement' href='filters.html#InterfaceSVGFEMergeNodeElement'/> + <interface name='SVGFEMorphologyElement' href='filters.html#InterfaceSVGFEMorphologyElement'/> + <interface name='SVGFEOffsetElement' href='filters.html#InterfaceSVGFEOffsetElement'/> + <interface name='SVGFESpecularLightingElement' href='filters.html#InterfaceSVGFESpecularLightingElement'/> + <interface name='SVGFETileElement' href='filters.html#InterfaceSVGFETileElement'/> + <interface name='SVGFETurbulenceElement' href='filters.html#InterfaceSVGFETurbulenceElement'/> + + <!-- ... grammar symbols ................................................ --> + <symbol name='angle' href='types.html#DataTypeAngle'/> + <symbol name='anything' href='types.html#DataTypeAnything'/> + <symbol name='color' href='types.html#DataTypeColor'/> + <symbol name='coordinate' href='types.html#DataTypeCoordinate'/> + <symbol name='frequency' href='types.html#DataTypeFrequency'/> + <symbol name='icccolor' href='types.html#DataTypeICCColor'/> + <symbol name='integer' href='types.html#DataTypeInteger'/> + <symbol name='length' href='types.html#DataTypeLength'/> + <symbol name='list' href='types.html#DataTypeList'/> + <symbol name='list-of-family-names' href='types.html#DataTypeListOfFamilyNames'/> +<!-- + <symbol name='list-of-language-ids' href='types.html#DataTypeListOfLanguageIDs'/> +--> + <symbol name='list-of-strings' href='types.html#DataTypeListOfStrings'/> + <symbol name="name" href="types.html#DataTypeName"></symbol> + <symbol name='number' href='types.html#DataTypeNumber'/> + <symbol name='number-optional-number' href='types.html#DataTypeNumberOptionalNumber'/> + <symbol name='paint' href='types.html#DataTypePaint'/> + <symbol name='percentage' href='types.html#DataTypePercentage'/> + <symbol name='time' href='types.html#DataTypeTime'/> + <symbol name='transform-list' href='types.html#DataTypeTransformList'/> + <symbol name='iri' href='types.html#DataTypeIRI'/> + <symbol name='FuncIRI' href='types.html#DataTypeFuncIRI'/> + <symbol name="XML-Name" href="types.html#DataTypeXML-Name"/> + + <!-- ... terms (these will be generated later) .......................... --> + <term name='SVG document' href='intro.html#TermSVGDocumentFragment'/> + <term name='SVG documents' href='intro.html#TermSVGDocumentFragment'/> + <term name='SVG document fragment' href='intro.html#TermSVGDocumentFragment'/> + <term name='SVG document fragments' href='intro.html#TermSVGDocumentFragment'/> + <term name='graphics element' href='intro.html#TermGraphicsElement'/> + <term name='graphics elements' href='intro.html#TermGraphicsElement'/> + <term name='container element' href='intro.html#TermGraphicsElement'/> + <term name='container elements' href='intro.html#TermContainerElement'/> + <term name='animation element' href='intro.html#TermAnimationElement'/> + <term name='animation elements' href='intro.html#TermAnimationElement'/> + <term name='structural element' href='intro.html#TermStructuralElement'/> + <term name='structural elements' href='intro.html#TermStructuralElement'/> + <term name='descriptive element' href='intro.html#TermDescriptiveElement'/> + <term name='descriptive elements' href='intro.html#TermDescriptiveElement'/> + <term name='gradient element' href='intro.html#TermGradientElement'/> + <term name='gradient elements' href='intro.html#TermGradientElement'/> + <term name='hit-test' href='intro.html#TermHitTesting'/> + <term name='hit-testing' href='intro.html#TermHitTesting'/> + <term name='text content element' href='intro.html#TermTextContentElement'/> + <term name='text content elements' href='intro.html#TermTextContentElement'/> + <term name='text content child element' href='intro.html#TermTextContentChildElement'/> + <term name='text content child elements' href='intro.html#TermTextContentChildElement'/> + <term name='filter primitive element' href='intro.html#TermFilterPrimitiveElement'/> + <term name='filter primitive elements' href='intro.html#TermFilterPrimitiveElement'/> + <term name='light source element' href='intro.html#TermLightSourceElement'/> + <term name='light source elements' href='intro.html#TermLightSourceElement'/> + <term name='IRI' href='intro.html#TermIRIReference'/> + <term name='IRI reference' href='intro.html#TermIRIReference'/> + <term name='IRI references' href='intro.html#TermIRIReference'/> + <term name='local IRI reference' href='intro.html#TermLocalIRIReference'/> + <term name='local IRI references' href='intro.html#TermLocalIRIReference'/> + <term name='non-local IRI reference' href='intro.html#TermNonLocalIRIReference'/> + <term name='non-local IRI references' href='intro.html#TermNonLocalIRIReference'/> + <term name='property' href='intro.html#TermProperty'/> + <term name='properties' href='intro.html#TermProperty'/> + <term name='presentation attribute' href='intro.html#TermPresentationAttribute'/> + <term name='presentation attributes' href='intro.html#TermPresentationAttribute'/> + <term name='graphical event attribute' href='intro.html#TermGraphicalEventAttribute'/> + <term name='graphical event attributes' href='intro.html#TermGraphicalEventAttribute'/> + <term name='document event attribute' href='intro.html#TermDocumentEventAttribute'/> + <term name='document event attributes' href='intro.html#TermDocumentEventAttribute'/> + <term name='animation event attribute' href='intro.html#TermAnimationEventAttribute'/> + <term name='animation event attributes' href='intro.html#TermAnimationEventAttribute'/> + <term name='animation attribute target attribute' href='intro.html#TermAnimationAttributeTargetAttribute'/> + <term name='animation timing attribute' href='intro.html#TermAnimationTimingAttribute'/> + <term name='animation value attribute' href='intro.html#TermAnimationValueAttribute'/> + <term name='animation addition attribute' href='intro.html#TermAnimationAdditionAttribute'/> + <term name='event attribute' href='intro.html#TermEventAttribute'/> + <term name='event attributes' href='intro.html#TermEventAttribute'/> + <term name='conditional processing attribute' href='intro.html#TermConditionalProcessingAttribute'/> + <term name='conditional processing attributes' href='intro.html#TermConditionalProcessingAttribute'/> + <term name='filter primitive attribute' href='intro.html#TermFilterPrimitiveAttributes'/> + <term name='filter primitive attributes' href='intro.html#TermFilterPrimitiveAttributes'/> + <term name='XLink attribute' href='intro.html#TermXLinkAttributes'/> + <term name='XLink attributes' href='intro.html#TermXLinkAttributes'/> + <term name='core attribute' href='intro.html#TermCoreAttributes'/> + <term name='core attributes' href='intro.html#TermCoreAttributes'/> + <term name='outermost svg element' href='intro.html#TermOutermostSVGElement'/> + <term name='outermost svg elements' href='intro.html#TermOutermostSVGElement'/> + <term name='user agent' href='intro.html#TermUserAgent'/> + <term name='user agents' href='intro.html#TermUserAgent'/> + <term name='SVG user agent' href='intro.html#TermUserAgent'/> + <term name='SVG user agents' href='intro.html#TermUserAgent'/> + <term name='rootmost SVG element' href='intro.html#TermRootmostSVGElement'/> + <term name="rootmost 'svg' element" href='intro.html#TermRootmostSVGElement'>rootmost <span xmlns='http://www.w3.org/1999/xhtml' class="element-name">โsvgโ</span> element</term> + <term name='user coordinate system' href='intro.html#TermUserCoordinateSystem'/> + <term name='object bounding box units' href='coords.html#ObjectBoundingBoxUnits'/> + <term name='initial coordinate system' href='coords.html#InitialCoordinateSystem'/> + <term name='simple alpha compositing' href='masking.html#SimpleAlphaBlending'/> + <term name='filter region' href='filters.html#FilterEffectsRegion'/> + <term name='filter primitive subregion' href='filters.html#FilterPrimitiveSubRegion'/> + + <!-- === defined in other specifications ================================ --> + + <!-- ... interfaces ..................................................... --> + + <interface name='DocumentCSS' href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-DocumentCSS'/> + <interface name='DocumentEvent' href='http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-DocumentEvent'/> + <interface name='EventListener' href='http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventListener'/> + <interface name='EventTarget' href='http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget'/> + <interface name='Event' href='http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event'/> + <interface name='Document' href='http://www.w3.org/TR/DOM-Level-2-Core/core.html#i-Document'/> + <interface name='CharacterData' href='http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-FF21A306'/> + <interface name='Comment' href='http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1728279322'/> + <interface name='Element' href='http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-745549614'/> + <interface name='Node' href='http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1950641247'/> + <interface name='NodeList' href='http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177'/> + <interface name='DOMImplementation' href='http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490'/> + <interface name='DOMException' href='http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187'/> + <interface name='CSSStyleDeclaration' href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-CSSStyleDeclaration'/> + <interface name='CSSPrimitiveValue' href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-CSSPrimitiveValue'/> + <interface name='CSSValueList' href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-CSSValueList'/> + <interface name='CSSValue' href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-CSSValue'/> + <interface name='CSSRule' href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-CSSRule'/> + <interface name='ViewCSS' href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-ViewCSS'/> + <interface name='RGBColor' href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-RGBColor'/> + <interface name='AbstractView' href='http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView'/> + <interface name='EmbeddingElement' hre='http://www.w3.org/TR/Window/#embeddingelt'/> +</definitions> diff --git a/specs/integration/master/definitions-SVGT12.xml b/specs/integration/master/definitions-SVGT12.xml new file mode 100644 --- /dev/null +++ b/specs/integration/master/definitions-SVGT12.xml @@ -0,0 +1,852 @@ +<!-- + Definitions for SVG Tiny 1.2. Note that this file currently isn't used + by the build scripts for this specification; it exists to be imported + by other specifications from their definitions.xml files. + --> +<definitions xmlns='http://mcc.id.au/ns/local' xmlns:x='http://mcc.id.au/ns/local'> + + <!-- === defined in this specification ================================== --> + + <!-- ... elements and element-specific attributes ....................... --> + + <element + name='a' + href='linking.html#AElement' + attributecategories='conditional, core, focus, presentation, xlink' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of elements that its parent may contain (except <a>'a'</a>) or character data, in any order.</x:contentmodel> + <attribute name='xlink:href' href='linking.html#AElementXLinkHrefAttribute'/> + <attribute name='xlink:show' href='linking.html#AElementXLinkShowAttribute'/> + <attribute name='xlink:actuate' href='linking.html#AElementXLinkActuateAttribute'/> + <attribute name='target' href='linking.html#AElementTargetAttribute'/> + </element> + + <element + name='animate' + href='animate.html#AnimateElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='handler' + attributecategories='conditional, core, xlink, animation attribute target, animation timing, animation value, animation addition' + interfaces='SVGAnimationElement'/> + + <element + name='animateColor' + href='animate.html#AnimateColorElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='handler' + attributecategories='conditional, core, xlink, animation attribute target, animation timing, animation value, animation addition' + interfaces='SVGAnimationElement'/> + + <element + name='animateMotion' + href='animate.html#AnimateMotionElement' + attributecategories='conditional, core, animation event, xlink, animation timing, animation value, animation addition' + interfaces='SVGAnimationElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>'handler'</a> and <a>descriptive elements</a>, and at most one <a>'mpath'</a> element, in any order.</x:contentmodel> + <!-- + <attribute name='calcMode' href='animate.html#AnimateMotionElementCalcModeAttribute'/> + --> + <attribute name='path' href='animate.html#PathAttribute'/> + <attribute name='keyPoints' href='animate.html#KeyPointsAttribute'/> + <attribute name='rotate' href='animate.html#RotateAttribute'/> + <attribute name='origin' href='animate.html#OriginAttribute'/> + </element> + + <element + name='animateTransform' + href='animate.html#AnimateTransformElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='handler' + attributecategories='conditional, core, xlink, animation attribute target, animation timing, animation value, animation addition' + interfaces='SVGAnimationElement'> + <attribute name='type' href='animate.html#AnimateTransformElementTypeAttribute'/> + </element> + + <element + name='animation' + href='multimedia.html#AnimationElement' + contentmodel='anyof' + elementcategories='descriptive, animation' + elements='discard, handler' + attributecategories='conditional, core, focus, media presentation, xlink, animation timing, animation synchronization' + attributes='focusHighlight, initialVisibility, preserveAspectRatio' + interfaces='SVGVisualMediaElement'> + <attribute name='xlink:href' href='multimedia.html#AnimationElementHrefAttribute'/> + </element> + + <element + name='audio' + href='multimedia.html#AudioElement' + contentmodel='anyof' + elementcategories='descriptive, animation' + elements='discard, handler' + attributecategories='conditional, core, media presentation, xlink, animation timing, animation synchronization' + interfaces='SVGTimedElement'> + <attribute name='xlink:href' href='multimedia.html#AudioElementHrefAttribute'/> + <attribute name='type' href='multimedia.html#AudioElementTypeAttribute'/> + </element> + + <element + name='circle' + href='shapes.html#CircleElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='conditional, core, presentation, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='cx' href='shapes.html#CircleElementCXAttribute'/> + <attribute name='cy' href='shapes.html#CircleElementCYAttribute'/> + <attribute name='r' href='shapes.html#CircleElementRAttribute'/> + </element> + + <element + name='defs' + href='struct.html#DefsElement' + contentmodel='anyof' + elementcategories='descriptive, animation, shape, text content block, gradient, structural' + elements='a, animation, audio, discard, font, font-face, foreignObject, handler, image, listener, prefetch, script, solidColor, switch, video' + attributecategories='core, presentation' + interfaces='SVGElement'/> + + <element + name='desc' + href='struct.html#DescElement' + contentmodel='text' + attributecategories='core, conditional, media presentation' + interfaces='SVGElement'/> + + <element + name='discard' + href='struct.html#DiscardElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='discard' + attributecategories='core, conditional, xlink' + attributes='begin' + interfaces='SVGElement'/> + + <element + name='ellipse' + href='shapes.html#EllipseElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='conditional, core, presentation, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='cx' href='shapes.html#EllipseElementCXAttribute'/> + <attribute name='cy' href='shapes.html#EllipseElementCYAttribute'/> + <attribute name='rx' href='shapes.html#EllipseElementRXAttribute'/> + <attribute name='ry' href='shapes.html#EllipseElementRYAttribute'/> + </element> + + <element + name='font' + href='fonts.html#FontElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='font-face, missing-glyph, glyph, hkern' + attributecategories='core' + attributes='externalResourcesRequired' + interfaces='SVGElement'> + <attribute name='horiz-origin-x' href='fonts.html#FontElementHorizOriginXAttribute'/> + <attribute name='horiz-adv-x' href='fonts.html#FontElementHorizAdvXAttribute'/> + </element> + + <element + name='font-face' + href='fonts.html#FontFaceElement' + attributecategories='core' + attributes='externalResourcesRequired' + interfaces='SVGElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a> and <a>'font-face-src'</a> elements, in any order.</x:contentmodel> + <attribute name='font-family' href='fonts.html#FontFaceElementFontFamilyAttribute'/> + <attribute name='font-style' href='fonts.html#FontFaceElementFontStyleAttribute'/> + <attribute name='font-variant' href='fonts.html#FontFaceElementFontVariantAttribute'/> + <attribute name='font-weight' href='fonts.html#FontFaceElementFontWeightAttribute'/> + <attribute name='font-stretch' href='fonts.html#FontFaceElementFontStretchAttribute'/> + <attribute name='unicode-range' href='fonts.html#FontFaceElementUnicodeRangeAttribute'/> + <attribute name='units-per-em' href='fonts.html#FontFaceElementUnitsPerEmAttribute'/> + <attribute name='panose-1' href='fonts.html#FontFaceElementPanose1Attribute'/> + <attribute name='stemv' href='fonts.html#FontFaceElementStemvAttribute'/> + <attribute name='stemh' href='fonts.html#FontFaceElementStemhAttribute'/> + <attribute name='slope' href='fonts.html#FontFaceElementSlopeAttribute'/> + <attribute name='cap-height' href='fonts.html#FontFaceElementCapHeightAttribute'/> + <attribute name='x-height' href='fonts.html#FontFaceElementXHeightAttribute'/> + <attribute name='accent-height' href='fonts.html#FontFaceElementAccentHeightAttribute'/> + <attribute name='ascent' href='fonts.html#FontFaceElementAscentAttribute'/> + <attribute name='descent' href='fonts.html#FontFaceElementDescentAttribute'/> + <attribute name='widths' href='fonts.html#FontFaceElementWidthsAttribute'/> + <attribute name='bbox' href='fonts.html#FontFaceElementBboxAttribute'/> + <attribute name='ideographic' href='fonts.html#FontFaceElementIdeographicAttribute'/> + <attribute name='alphabetic' href='fonts.html#FontFaceElementAlphabeticAttribute'/> + <attribute name='mathematical' href='fonts.html#FontFaceElementMathematicalAttribute'/> + <attribute name='hanging' href='fonts.html#FontFaceElementHangingAttribute'/> + <attribute name='underline-position' href='fonts.html#FontFaceElementUnderlinePositionAttribute'/> + <attribute name='underline-thickness' href='fonts.html#FontFaceElementUnderlineThicknessAttribute'/> + <attribute name='strikethrough-position' href='fonts.html#FontFaceElementStrikeThroughPositionAttribute'/> + <attribute name='strikethrough-thickness' href='fonts.html#FontFaceElementStrikeThroughThicknessAttribute'/> + <attribute name='overline-position' href='fonts.html#FontFaceElementOverlinePositionAttribute'/> + <attribute name='overline-thickness' href='fonts.html#FontFaceElementOverlineThicknessAttribute'/> + </element> + + <element + name='font-face-src' + href='fonts.html#FontFaceSrcElement' + contentmodel='anyof' + elementcategories='descriptive' + elements='font-face-uri' + attributecategories='core' + interfaces='SVGElement'/> + + <element + name='font-face-uri' + href='fonts.html#FontFaceURIElement' + elementcategories='descriptive' + attributecategories='core, xlink' + attributes='externalResourcesRequired' + interfaces='SVGElement'> + <attribute name='xlink:href' href='fonts.html#FontFaceUriElementHrefAttribute'/> + </element> + + <element + name='foreignObject' + href='extend.html#ForeignObjectElement' + contentmodel='any' + attributecategories='core, conditional, focus, properties, external' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='x' href='extend.html#ForeignObjectElementXAttribute'/> + <attribute name='y' href='extend.html#ForeignObjectElementYAttribute'/> + <attribute name='width' href='extend.html#ForeignObjectElementWidthAttribute'/> + <attribute name='height' href='extend.html#ForeignObjectElementHeightAttribute'/> + </element> + + <element + name='g' + href='struct.html#GElement' + contentmodel='anyof' + elementcategories='descriptive, animation, shape, text content block, gradient, structural' + elements='a, animation, audio, discard, font, font-face, foreignObject, handler, image, listener, prefetch, script, solidColor, switch, video' + attributecategories='conditional, core, properties, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'/> + + <element + name='glyph' + href='fonts.html#GlyphElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='core' + attributes='d, horiz-adv-x' + interfaces='SVGElement'> + <attribute name='unicode' href='fonts.html#GlyphElementUnicodeAttribute'/> + <attribute name='glyph-name' href='fonts.html#GlyphElementGlyphNameAttribute'/> + <attribute name='arabic-form' href='fonts.html#GlyphElementArabicFormAttribute'/> + <attribute name='lang' href='fonts.html#GlyphElementLangAttribute'/> + </element> + + <element + name='handler' + href='script.html#HandlerElement' + attributecategories='core' + attributes='externalResourcesRequired' + interfaces='SVGElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>If the element has an <a>'xlink:href'</a> attribute specified, then any number of <a>descriptive elements</a>, in any order. Otherwise, any number of <a>descriptive elements</a> and text content, in any order.</x:contentmodel> + <attribute name='xlink:href' href='script.html#HandlerElementHrefAttribute'/> + <attribute name='type' href='script.html#HandlerElementTypeAttribute'/> + <attribute name='ev:event' href='script.html#HandlerElementEventAttribute'/> + </element> + + <element + name='hkern' + href='fonts.html#HKernElement' + elementcategories='descriptive' + attributecategories='core' + interfaces='SVGElement'> + <attribute name='u1' href='fonts.html#HKernElementU1Attribute'/> + <attribute name='g1' href='fonts.html#HKernElementG1Attribute'/> + <attribute name='u2' href='fonts.html#HKernElementU2Attribute'/> + <attribute name='g2' href='fonts.html#HKernElementG2Attribute'/> + <attribute name='k' href='fonts.html#HKernElementKAttribute'/> + </element> + + <element + name='image' + href='struct.html#ImageElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='core, conditional, focus, style, xlink, media presentation' + attributes='externalResourcesRequired, focusHighlight, opacity, preserveAspectRatio, transform' + interfaces='SVGLocatableElement'> + <attribute name='x' href='struct.html#ImageElementXAttribute'/> + <attribute name='y' href='struct.html#ImageElementYAttribute'/> + <attribute name='width' href='struct.html#ImageElementWidthAttribute'/> + <attribute name='height' href='struct.html#ImageElementHeightAttribute'/> + <attribute name='xlink:href' href='struct.html#ImageElementHrefAttribute'/> + <attribute name='type' href='struct.html#ImageElementTypeAttribute'/> + </element> + + <element + name='line' + href='shapes.html#LineElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='conditional, core, presentation, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='x1' href='shapes.html#LineElementX1Attribute'/> + <attribute name='y1' href='shapes.html#LineElementY1Attribute'/> + <attribute name='x2' href='shapes.html#LineElementX2Attribute'/> + <attribute name='y2' href='shapes.html#LineElementY2Attribute'/> + </element> + + <element + name='linearGradient' + href='painting.html#LinearGradientElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, stop' + attributecategories='core, presentation' + attributes='externalResourcesRequired' + interfaces='SVGElement'> + <attribute name='x1' href='painting.html#LinearGradientElementX1Attribute'/> + <attribute name='y1' href='painting.html#LinearGradientElementY1Attribute'/> + <attribute name='x2' href='painting.html#LinearGradientElementX2Attribute'/> + <attribute name='y2' href='painting.html#LinearGradientElementY2Attribute'/> + <attribute name='gradientUnits' href='painting.html#LinearGradientElementGradientUnitsAttribute'/> + </element> + + <!-- Should this implement SVGElement? --> + <element + name='listener' + href='script.html#ListenerElement' + attributecategories='core'> + <attribute name='event' href='script.html#ListenerElementEventAttribute'/> + <attribute name='phase' href='script.html#ListenerElementPhaseAttribute'/> + <attribute name='propagate' href='script.html#ListenerElementPropagateAttribute'/> + <attribute name='defaultAction' href='script.html#ListenerElementDefaultActionAttribute'/> + <attribute name='observer' href='script.html#ListenerElementEventObserverAttribute'/> + <attribute name='target' href='script.html#ListenerElementEventTargetAttribute'/> + <attribute name='handler' href='script.html#ListenerElementEventHandlerAttribute'/> + </element> + + <element + name='metadata' + href='metadata.html#MetadataElement' + contentmodel='text' + attributecategories='core, conditional, media presentation' + interfaces='SVGElement'/> + + <element + name='missing-glyph' + href='fonts.html#MissingGlyphElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='core' + attributes='d, horiz-adv-x' + interfaces='SVGElement'/> + + <element + name='mpath' + href='animate.html#MPathElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='core, xlink' + interfaces='SVGElement'> + <attribute name='xlink:href' href='animate.html#MPathElementHrefAttribute'/> + </element> + + <element + name='path' + href='paths.html#PathElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='conditional, core, presentation, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='d' href='paths.html#DAttribute'/> + <attribute name='pathLength' href='paths.html#PathLengthAttribute'/> + </element> + + <element + name='prefetch' + href='struct.html#PrefetchElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='core, xlink' + interfaces='SVGElement'> + <attribute name='mediaSize' href='struct.html#PrefetchElementMediaSizeElement'/> + <attribute name='mediaTime' href='struct.html#PrefetchElementMediaTimeElement'/> + <attribute name='mediaCharacterEncoding' href='struct.html#PrefetchElementMediaCharacterEncodingAttribute'/> + <attribute name='mediaContentEncodings' href='struct.html#PrefetchElementMediaContentEncodingsAttribute'/> + <attribute name='bandwidth' href='struct.html#PrefetchElementBandwidthAttribute'/> + </element> + + <element + name='polygon' + href='shapes.html#PolygonElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='conditional, core, presentation, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='points' href='shapes.html#PolygonElementPointsAttribute'/> + </element> + + <element + name='polyline' + href='shapes.html#PolylineElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='conditional, core, presentation, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='points' href='shapes.html#PolylineElementPointsAttribute'/> + </element> + + <element + name='radialGradient' + href='painting.html#RadialGradientElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, stop' + attributecategories='core, presentation' + attributes='externalResourcesRequired' + interfaces='SVGElement'> + <attribute name='cx' href='painting.html#RadialGradientElementCXAttribute'/> + <attribute name='cy' href='painting.html#RadialGradientElementCYAttribute'/> + <attribute name='r' href='painting.html#RadialGradientElementRAttribute'/> + <attribute name='fx' href='painting.html#RadialGradientElementFXAttribute'/> + <attribute name='fy' href='painting.html#RadialGradientElementFYAttribute'/> + <attribute name='gradientUnits' href='painting.html#RadialGradientElementGradientUnitsAttribute'/> + </element> + + <element + name='rect' + href='shapes.html#RectElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='conditional, core, presentation, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='x' href='shapes.html#RectElementXAttribute'/> + <attribute name='y' href='shapes.html#RectElementYAttribute'/> + <attribute name='width' href='shapes.html#RectElementWidthAttribute'/> + <attribute name='height' href='shapes.html#RectElementHeightAttribute'/> + <attribute name='rx' href='shapes.html#RectElementRXAttribute'/> + <attribute name='ry' href='shapes.html#RectElementRYAttribute'/> + </element> + + <element + name='script' + href='script.html#ScriptElement' + attributecategories='core, xlink' + attributes='externalResourcesRequired' + interfaces='SVGElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>If the element has an <a>'xlink:href'</a> attribute specified, then any number of <a>descriptive elements</a>, in any order. Otherwise, any number of <a>descriptive elements</a> and text content, in any order.</x:contentmodel> + <attribute name='type' href='script.html#ScriptElementTypeAttribute'/> + <attribute name='xlink:href' href='linking.html#ScriptElementHrefAttribute'/> + </element> + + <element + name='set' + href='animate.html#SetElement' + contentmodel='anyof' + elementcategories='descriptive' + attributecategories='conditional, core, xlink, animation attribute target, animation timing' + interfaces='SVGAnimationElement'> + <attribute name='to' href='animate.html#SetElementToAttribute'/> + </element> + + <element + name='solidColor' + href='painting.html#SolidColorElement' + contentmodel='anyof' + elementcategories='descriptive, animation' + elements='discard, handler' + attributecategories='core, presentation'/> + + <element + name='stop' + href='painting.html#StopElement' + contentmodel='anyof' + elements='descriptive, animation' + attributecategories='core, presentation' + interfaces='SVGElement'> + <attribute name='offset' href='painting.html#StopElementOffsetAttribute'/> + </element> + + <element + name='svg' + href='struct.html#SVGElement' + contentmodel='anyof' + elementcategories='descriptive, animation, shape, text content block, gradient, structural' + elements='a, animation, audio, discard, font, font-face, foreignObject, handler, image, listener, prefetch, script, solidColor, switch, video' + attributecategories='core, presentation, focus' + attributes='contentScriptType, externalResourcesRequired, focusHighlight, viewBox, preserveAspectRatio, zoomAndPan' + interfaces='SVGSVGElement'> + <attribute name='version' href='struct.html#SVGElementVersionAttribute'/> + <attribute name='baseProfile' href='struct.html#SVGElementBaseProfileAttribute'/> + <attribute name='width' href='struct.html#SVGElementWidthAttribute'/> + <attribute name='height' href='struct.html#SVGElementHeightAttribute'/> + <attribute name='snapshotTime' href='struct.html#SVGElementSnapshotTimeAttribute'/> + <attribute name='playbackOrder' href='struct.html#SVGElementPlaybackOrderAttribute'/> + <attribute name='timelineBegin' href='struct.html#SVGElementTimelineBeginAttribute'/> + <attribute name='syncBehaviorDefault' href='multimedia.html#SyncBehaviorDefaultAttribute'/> + <attribute name='syncToleranceDefault' href='multimedia.html#SyncToleranceDefaultAttribute'/> + </element> + + <element + name='switch' + href='struct.html#SwitchElement' + contentmodel='anyof' + attributecategories='conditional, core, presentation, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of elements that its parent may contain (except <a>'switch'</a>) or character data, in any order.</x:contentmodel> + </element> + + <element + name='tbreak' + href='text.html#tbreakElement' + attributecategories='core, conditional' + interfaces='SVGElement'/> + + <element + name='text' + href='text.html#TextElement' + contentmodel='textoranyof' + elementcategories='descriptive, animation' + elements='discard, handler, tspan, switch, a' + attributecategories='core, conditional, presentation, focus' + attributes='editable, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='x' href='text.html#TextElementXAttribute'/> + <attribute name='y' href='text.html#TextElementYAttribute'/> + <attribute name='rotate' href='text.html#TextElementRotateAttribute'/> + </element> + + <!-- XXX This is probably wrong; it needs to allow tbreak children. --> + <element + name='textArea' + href='text.html#TextAreaElement' + contentmodel='textoranyof' + elementcategories='descriptive, animation' + elements='discard, handler, tspan, switch, a' + attributecategories='core, conditional, presentation, focus' + attributes='editable, focusHighlight, transform' + interfaces='SVGLocatableElement'> + <attribute name='x' href='text.html#TextAreaElementXAttribute'/> + <attribute name='y' href='text.html#TextAreaElementYAttribute'/> + <attribute name='width' href='text.html#TextAreaElementWidthAttribute'/> + <attribute name='height' href='text.html#TextAreaElementHeightAttribute'/> + </element> + + <element + name='title' + href='struct.html#TitleElement' + contentmodel='text' + attributecategories='core, conditional, media presentation' + interfaces='SVGElement'/> + + <element + name='tspan' + href='text.html#TSpanElement' + contentmodel='textoranyof' + elementcategories='descriptive, animation' + elements='discard, handler, tspan, switch, a' + attributecategories='core, conditional, presentation, focus' + attributes='focusHighlight' + interfaces='SVGLocatableElement'/> + + <element + name='use' + href='struct.html#UseElement' + contentmodel='anyof' + elementcategories='animation, descriptive' + elements='discard, handler' + attributecategories='core, conditional, presentation, xlink, focus' + attributes='externalResourcesRequired, focusHighlight, transform' + interfaces='SVGUseElement'> + <attribute name='x' href='struct.html#UseElementXAttribute'/> + <attribute name='y' href='struct.html#UseElementYAttribute'/> + <attribute name='xlink:href' href='struct.html#UseElementHrefAttribute'/> + </element> + + <element + name='video' + href='multimedia.html#VideoElement' + contentmodel='anyof' + elementcategories='descriptive, animation' + elements='discard, handler' + attributecategories='core, media presentation, xlink, conditional, focus, animation timing, animation synchronization' + attributes='focusHighlight, externalResourcesRequired, transform, preserveAspectRatio, initialVisibility' + interfaces='SVGVisualMediaElement'> + <attribute name='x' href='multimedia.html#VideoElementXAttribute'/> + <attribute name='y' href='multimedia.html#VideoElementYAttribute'/> + <attribute name='width' href='multimedia.html#VideoElementWidthAttribute'/> + <attribute name='height' href='multimedia.html#VideoElementHeightAttribute'/> + <attribute name='xlink:href' href='multimedia.html#VideoElementHrefAttribute'/> + <attribute name='type' href='multimedia.html#VideoElementTypeAttribute'/> + <attribute name='transformBehavior' href='multimedia.html#VideoElementTransformBehaviorAttribute'/> + <attribute name='overlay' href='multimedia.html#VideoElementOverlayAttribute'/> + </element> + + + <!-- ... element categories ............................................ --> + + <elementcategory name='animation' href='intro.html#TermAnimationElement' elements='animate, animateColor, animateMotion, animateTransform, set'/> + <elementcategory name='descriptive' href='intro.html#TermDescriptiveElement' elements='desc, title, metadata'/> + <elementcategory name='shape' href='intro.html#TermShapeElement' elements='circle, ellipse, line, path, polygon, polyline, rect'/> + <elementcategory name='structural' href='intro.html#TermStructuralElement' elements='defs, g, use'/> + <elementcategory name='text content block' href='intro.html#TermTextElement' elements='text, textArea'/> + <elementcategory name='gradient' href='intro.html#TermGradientElement' elements='linearGradient, radialGradient'/> + + <!-- ... attributes common to multiple elements ........................ --> + + <!-- attributes common to both glyph and missing-glyph --> + <attribute name='d' elements='glyph, missing-glyph' href='fonts.html#GlyphElementDAttribute'/> + <attribute name='horiz-adv-x' elements='glyph, missing-glyph' href='fonts.html#GlyphElementHorizAdvXAttribute'/> + + <!-- xlink:show and xlink:actuate for all elements supporting the XLink attributes, except a --> + <attribute name='xlink:show' elements='animate, animateColor, animateMotion, animateTransform, animation, audio, discard, font-face-uri, image, mpath, prefetch, script, set, use, video' href='linking.html#XLinkShowAttribute'/> + <attribute name='xlink:actuate' elements='animate, animateColor, animateMotion, animateTransform, animation, audio, discard, font-face-uri, image, mpath, prefetch, script, set, use, video' href='linking.html#XLinkActuateAttribute'/> + + <!-- attribute common to all animation elements --> + <attribute name='xlink:href' elements='animate, animateColor, animateMotion, animateTransform, set' href='animate.html#HrefAttribute'/> + + <!-- attributes common to animation elements, media elements and discard --> + <attribute name='begin' elements='animate, set, animateMotion, animateColor, animateTransform, discard, animation, video, audio' href='animate.html#BeginAttribute'/> + + <!-- attributes common to text content block elements --> + <attribute name='editable' elements='text, textArea' href='text.html#EditableAttribute'/> + + <!-- misc --> + <attribute name='focusHighlight' href='interact.html#FocusHighlightAttribute'/> + <attribute name='contentScriptType' href='script.html#ContentScriptTypeAttribute'/> + <attribute name='externalResourcesRequired' href='struct.html#ExternalResourcesRequiredAttribute'/> + <attribute name='viewBox' href='coords.html#ViewBoxAttribute'/> + <attribute name='preserveAspectRatio' href='coords.html#PreserveAspectRatioAttribute'/> + <attribute name='transform' href='coords.html#TransformAttribute'/> + <attribute name='zoomAndPan' href='interact.html#ZoomAndPanAttribute'/> + + <!-- ... attribute categories .......................................... --> + + <attributecategory + name='conditional' + href='intro.html#TermConditionalAttribute'> + <attribute name='requiredFeatures' href='struct.html#RequiredFeaturesAttribute'/> + <attribute name='requiredFonts' href='struct.html#RequiredFontsAttribute'/> + <attribute name='requiredFormats' href='struct.html#RequiredFormatsAttribute'/> + <attribute name='requiredExtensions' href='struct.html#RequiredExtensionsAttribute'/> + <attribute name='systemLanguage' href='struct.html#SystemLanguageAttribute'/> + </attributecategory> + + <attributecategory + name='core' + href='struct.html#CommonAttributes'> + <attribute name='class' href='struct.html#ClassAttribute'/> + <attribute name='id' href='struct.html#IDAttribute'/> + <attribute name='xml:id' href='struct.html#xmlIDAttribute'/> + <attribute name='xml:base' href='struct.html#XMLBaseAttribute'/> + <attribute name='xml:lang' href='struct.html#XMLLangAttribute'/> + <attribute name='xml:space' href='struct.html#XMLSpaceAttribute'/> + <attribute name='role' href='struct.html#RoleAttribute'/> + <attribute name='rel' href='struct.html#RelAttribute'/> + <attribute name='rev' href='struct.html#RevAttribute'/> + <attribute name='about' href='struct.html#AboutAttribute'/> + <attribute name='content' href='struct.html#ContentAttribute'/> + <attribute name='datatype' href='struct.html#DatatypeAttribute'/> + <attribute name='property' href='struct.html#PropertyAttribute'/> + <attribute name='resource' href='struct.html#ResourceAttribute'/> + <attribute name='typeof' href='struct.html#TypeofAttribute'/> + </attributecategory> + + <attributecategory + name='media presentation' + href='intro.html#TermMediaPresentationAttribute' + presentationattributes='audio-level, buffered-rendering, display, image-rendering, pointer-events, shape-rendering, text-rendering, viewport-fill, viewport-fill-opacity, visibility'/> + + <attributecategory + name='presentation' + href='intro.html#TermPresentationAttribute' + presentationattributes='audio-level, buffered-rendering, color, color-rendering, direction, display, display-align, fill, fill-opacity, fill-rule, font-family, font-size, font-style, font-variant, font-weight, image-rendering, line-increment, pointer-events, shape-rendering, solid-color, solid-opacity, stop-color, stop-opacity, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, text-align, text-anchor, text-rendering, unicode-bidi, vector-effect, viewport-fill, viewport-fill-opacity, visibility'/> + + <attributecategory + name='xlink' + href='intro.html#TermXLinkAttribute' + attributes='xlink:href, xlink:show, xlink:actuate'> + <attribute name='xlink:type' href='struct.html#XLinkTypeAttribute'/> + <attribute name='xlink:role' href='struct.html#XLinkRoleAttribute'/> + <attribute name='xlink:arcrole' href='struct.html#XLinkArcRoleAttribute'/> + <attribute name='xlink:title' href='struct.html#XLinkTitleAttribute'/> + </attributecategory> + + <attributecategory + name='animation attribute target' + href='intro.html#TermAnimationAttributeTargetAttribute'> + <attribute name='attributeType' href='animate.html#AttributeTypeAttribute'/> + <attribute name='attributeName' href='animate.html#AttributeNameAttribute'/> + </attributecategory> + + <attributecategory + name='animation timing' + href='intro.html#TermAnimationTimingAttribute' + attributes='begin'> + <attribute name='dur' href='animate.html#DurAttribute'/> + <attribute name='end' href='animate.html#EndAttribute'/> + <attribute name='min' href='animate.html#MinAttribute'/> + <attribute name='max' href='animate.html#MaxAttribute'/> + <attribute name='restart' href='animate.html#RestartAttribute'/> + <attribute name='repeatCount' href='animate.html#RepeatCountAttribute'/> + <attribute name='repeatDur' href='animate.html#RepeatDurAttribute'/> + <attribute name='fill' href='animate.html#FillAttribute'/> + </attributecategory> + + <attributecategory + name='animation value' + href='intro.html#TermAnimationValueAttribute'> + <attribute name='calcMode' href='animate.html#CalcModeAttribute'/> + <attribute name='values' href='animate.html#ValuesAttribute'/> + <attribute name='keyTimes' href='animate.html#KeyTimesAttribute'/> + <attribute name='keySplines' href='animate.html#KeySplinesAttribute'/> + <attribute name='from' href='animate.html#FromAttribute'/> + <attribute name='to' href='animate.html#ToAttribute'/> + <attribute name='by' href='animate.html#ByAttribute'/> + </attributecategory> + + <attributecategory + name='animation addition' + href='intro.html#TermAnimationAdditionAttribute'> + <attribute name='additive' href='animate.html#AdditiveAttribute'/> + <attribute name='accumulate' href='animate.html#AccumulateAttribute'/> + </attributecategory> + + <attributecategory + name='focus' + href='intro.html#TermFocusAttribute'> + <attribute name='focusable' href='interact.html#FocusableAttribute'/> + <attribute name='nav-next' href='interact.html#NavNextAttribute'/> + <attribute name='nav-prev' href='interact.html#NavPrevAttribute'/> + <attribute name='nav-up' href='interact.html#NavUpAttribute'/> + <attribute name='nav-up-right' href='interact.html#NavUpRightAttribute'/> + <attribute name='nav-right' href='interact.html#NavRightAttribute'/> + <attribute name='nav-down-right' href='interact.html#NavDownRightAttribute'/> + <attribute name='nav-down' href='interact.html#NavDownAttribute'/> + <attribute name='nav-down-left' href='interact.html#NavDownLeftAttribute'/> + <attribute name='nav-left' href='interact.html#NavLeftAttribute'/> + <attribute name='nav-up-left' href='interact.html#NavUpleftAttribute'/> + </attributecategory> + + <!-- ... properties ..................................................... --> + + <property name='audio-level' href='multimedia.html#AudioLevelProperty'/> + <property name='buffered-rendering' href='painting.html#BufferedRenderingProperty'/> + <property name='color' href='painting.html#ColorProperty'/> + <property name='color-rendering' href='painting.html#ColorRenderingProperty'/> + <property name='direction' href='text.html#DirectionProperty'/> + <property name='display' href='painting.html#DisplayProperty'/> + <property name='display-align' href='text.html#DisplayAlignProperty'/> + <property name='fill' href='painting.html#FillProperty'/> + <property name='fill-opacity' href='painting.html#FillOpacityProperty'/> + <property name='fill-rule' href='painting.html#FillRuleProperty'/> + <property name='font-family' href='text.html#FontFamilyProperty'/> + <property name='font-size' href='text.html#FontSizeProperty'/> + <property name='font-style' href='text.html#FontStyleProperty'/> + <property name='font-variant' href='text.html#FontVariantProperty'/> + <property name='font-weight' href='text.html#FontWeightProperty'/> + <property name='image-rendering' href='painting.html#ImageRenderingProperty'/> + <property name='line-increment' href='text.html#LineIncrementProperty'/> + <property name='opacity' href='painting.html#groupOpacity'/> + <property name='pointer-events' href='interact.html#PointerEventsProperty'/> + <property name='shape-rendering' href='painting.html#ShapeRenderingProperty'/> + <property name='solid-color' href='painting.html#SolidColorProperty'/> + <property name='solid-opacity' href='painting.html#SolidOpacityProperty'/> + <property name='stop-color' href='painting.html#StopColorProperty'/> + <property name='stop-opacity' href='painting.html#StopOpacityProperty'/> + <property name='stroke' href='painting.html#StrokeProperty'/> + <property name='stroke-dasharray' href='painting.html#StrokeDasharrayProperty'/> + <property name='stroke-dashoffset' href='painting.html#StrokeDashoffsetProperty'/> + <property name='stroke-linecap' href='painting.html#StrokeLinecapProperty'/> + <property name='stroke-linejoin' href='painting.html#StrokeLinejoinProperty'/> + <property name='stroke-miterlimit' href='painting.html#StrokeMiterlimitProperty'/> + <property name='stroke-opacity' href='painting.html#StrokeOpacityProperty'/> + <property name='stroke-width' href='painting.html#StrokeWidthProperty'/> + <property name='text-align' href='text.html#TextAlignProperty'/> + <property name='text-anchor' href='text.html#TextAnchorProperty'/> + <property name='text-rendering' href='painting.html#TextRenderingProperty'/> + <property name='unicode-bidi' href='text.html#UnicodeBidiProperty'/> + <property name='vector-effect' href='painting.html#NonScalingStroke'/> + <property name='viewport-fill' href='painting.html#viewport-fill-property'/> + <property name='viewport-fill-opacity' href='painting.html#viewport-fill-opacity-property'/> + <property name='visibility' href='painting.html#VisibilityProperty'/> + + <!-- ... interfaces ..................................................... --> + + <interface name='DOMException' href='svgudom.html#dom__DOMException'/> + <interface name='Node' href='svgudom.html#dom__Node'/> + <interface name='Element' href='svgudom.html#dom__Element'/> + <interface name='Document' href='svgudom.html#dom__Document'/> + <interface name='ElementTraversal' href='svgudom.html#dom__ElementTraversal'/> + <interface name='Location' href='svgudom.html#dom__Location'/> + <interface name='Window' href='svgudom.html#dom__Window'/> + + <interface name='AbstractView' href='svgudom.html#views__AbstractView'/> + <interface name='DocumentView' href='svgudom.html#views__DocumentView'/> + + <interface name='EventTarget' href='svgudom.html#events__EventTarget'/> + <interface name='EventListener' href='svgudom.html#events__EventListener'/> + <interface name='Event' href='svgudom.html#events__Event'/> + <interface name='MouseEvent' href='svgudom.html#events__MouseEvent'/> + <interface name='MouseWheelEvent' href='svgudom.html#events__MouseWheelEvent'/> + <interface name='TextEvent' href='svgudom.html#events__TextEvent'/> + <interface name='KeyboardEvent' href='svgudom.html#events__KeyboardEvent'/> + <interface name='UIEvent' href='svgudom.html#events__UIEvent'/> + <interface name='ProgressEvent' href='svgudom.html#events__ProgressEvent'/> + + <interface name='ElementTimeControl' href='svgudom.html#smil__ElementTimeControl'/> + <interface name='TimeEvent' href='svgudom.html#smil__TimeEvent'/> + + <interface name='SVGException' href='svgudom.html#svg__SVGException'/> + <interface name='SVGDocument' href='svgudom.html#svg__SVGDocument'/> + <interface name='SVGUseElement' href='svgudom.html#svg__SVGUseElement'/> + <interface name='SVGElementInstance' href='svgudom.html#svg__SVGElementInstance'/> + <interface name='SVGSVGElement' href='svgudom.html#svg__SVGSVGElement'/> + <interface name='SVGRGBColor' href='svgudom.html#svg__SVGRGBColor'/> + <interface name='SVGRect' href='svgudom.html#svg__SVGRect'/> + <interface name='SVGPoint' href='svgudom.html#svg__SVGPoint'/> + <interface name='SVGPath' href='svgudom.html#svg__SVGPath'/> + <interface name='SVGMatrix' href='svgudom.html#svg__SVGMatrix'/> + <interface name='SVGLocatable' href='svgudom.html#svg__SVGLocatable'/> + <interface name='SVGLocatableElement' href='svgudom.html#svg__SVGLocatableElement'/> + <interface name='TraitAccess' href='svgudom.html#svg__TraitAccess'/> + <interface name='Additional accessing rules' href='svgudom.html#svg__Additional accessing rules'/> + <interface name='SVGElement' href='svgudom.html#svg__SVGElement'/> + <interface name='SVGTimedElement' href='svgudom.html#svg__SVGTimedElement'/> + <interface name='SVGAnimationElement' href='svgudom.html#svg__SVGAnimationElement'/> + <interface name='SVGVisualMediaElement' href='svgudom.html#svg__SVGVisualMediaElement'/> + <interface name='SVGTimer' href='svgudom.html#svg__SVGTimer'/> + <interface name='SVGGlobal' href='svgudom.html#svg__SVGGlobal'/> + <interface name='AsyncStatusCallback' href='svgudom.html#svg__AsyncStatusCallback'/> + <interface name='AsyncURLStatus' href='svgudom.html#svg__AsyncURLStatus'/> + <interface name='EventListenerInitializer2' href='svgudom.html#svg__EventListenerInitializer2'/> + + <!-- ... terms (these will be generated later) .......................... --> + <term name='lacuna value' href='intro.html#TermLacunaValue'/> + <term name='unsupported value' href='intro.html#TermUnsupportedValue'/> + <term name='unsupported' href='intro.html#TermUnsupportedValue'/> + + <!-- ... --> +</definitions> diff --git a/specs/integration/master/definitions.xml b/specs/integration/master/definitions.xml new file mode 100644 --- /dev/null +++ b/specs/integration/master/definitions.xml @@ -0,0 +1,19 @@ +<!-- Definitions for SPECIFICATION. --> + +<definitions xmlns='http://mcc.id.au/ns/local' xmlns:x='http://mcc.id.au/ns/local'> + + <!-- === defined in this specification ================================== --> + + <!-- ... --> + + <term name='referencing mode' href='#TermReferencingMode'/> + <term name='referencing modes' href='#TermReferencingMode'/> + + <!-- === defined in other specifications ================================ --> + + <term name='SVG document fragment' href='http://www.w3.org/TR/SVGTiny12/conform.html#ConformingSVGDocuments'/> + <term name='SVG stand-alone document' href='http://www.w3.org/TR/SVGTiny12/conform.html#ConformingSVGStandAloneFiles'/> + <term name='SVG included document fragment' href='http://www.w3.org/TR/SVGTiny12/conform.html#ConformingSVGIncludedDocuments'/> + <term name='rendering tree' href='http://www.w3.org/TR/SVGTiny12/intro.html#TermRenderingTree'/> + +</definitions> diff --git a/specs/integration/master/publish.xml b/specs/integration/master/publish.xml new file mode 100644 --- /dev/null +++ b/specs/integration/master/publish.xml @@ -0,0 +1,43 @@ +<!-- Publication script for SPECIFICATION. --> +<!-- (This template is for a single page spec.) --> + +<publish-conf xmlns='http://mcc.id.au/ns/local'> + <title>SVG Integration 1.0</title> + <short-title>SVG Integration 1.0</short-title> + <maturity>ED</maturity> + <output use-publish-directory='true' publish-directory='build/publish'/> + + <!-- + Uncomment the publication date when it is time to publish on + http://www.w3.org/TR/. While an Editor's Draft, leave this + commented out and the last commit date will be used as the + document's date. + --> + + <!-- + <publication-date>2013-xx-xx</publication-date> + --> + + <versions> + <cvs href='https://dvcs.w3.org/hg/svg2/specs/integration'/> + <this href='http://www.w3.org/TR/2013/WD-SVGIntegration-2013xxxx'/> + <!-- + <previous href='http://www.w3.org/TR/2013/WD-SVGIntegration-2013xxxx'/> + --> + <latest href='http://www.w3.org/TR/SVGIntegration/'/> + </versions> + + <definitions href='definitions.xml'/> + <definitions href='../../../master/definitions.xml' base='http://www.w3.org/TR/SVG2/'/> + <definitions href='../../../master/definitions-filters.xml' base='http://www.w3.org/TR/2012/WD-filter-effects-20121025/'/> + <definitions href='../../../master/definitions-masking.xml' base='http://www.w3.org/TR/2012/WD-css-masking-20121115/'/> + <definitions href='../../../master/definitions-compositing.xml' base='http://www.w3.org/TR/2012/WD-compositing-20120816/'/> + <definitions href='definitions-SVG11.xml' base='http://www.w3.org/TR/SVG11/'/> + <definitions href='definitions-SVGT12.xml' base='http://www.w3.org/TR/SVGTiny12/'/> + + <resource href='style'/> + <resource href='smiley.svg'/> + <resource href='target.svg'/> + + <index name='Overview'/> +</publish-conf> diff --git a/specs/integration/master/smiley.svg b/specs/integration/master/smiley.svg new file mode 100644 --- /dev/null +++ b/specs/integration/master/smiley.svg @@ -0,0 +1,42 @@ +<svg xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + width="100%" height="100%" viewBox="0 0 400 400"> + + <title>SVG Smiley Face</title> + <metadata>author: schepers, created: 18-01-2009</metadata> + + <script type="text/ecmascript"><![CDATA[ + function Smile() + { + document.getElementById("smile").setAttribute("fill", "black"); + }; + + ]]></script> + + <defs> + <radialGradient id="rg" cx="25%" cy="25%" r="100%" fx="40%" fy="40%"> + <stop stop-color="lightyellow" offset="0%"> + <set attributeName="stop-color" to="lightgreen" begin="face.click" fill="freeze" /> + </stop> + <stop stop-color="yellow" offset="40%"> + <set attributeName="stop-color" to="lime" begin="face.click" fill="freeze" /> + </stop> + <stop stop-color="orange" offset="110%"> + <set attributeName="stop-color" to="green" begin="face.click" fill="freeze" /> + </stop> + </radialGradient> + </defs> + + + <circle id="face" cx="200" cy="200" r="195" fill="url(#rg)" + onclick="Smile()"/> + <a xlink:href="target.svg"> + <ellipse id="left-eye" cx="120" cy="150" rx="18" ry="33" fill="black"/> + <ellipse id="right-eye" cx="280" cy="150" rx="18" ry="33" fill="black"> + <animate id="wink" attributeType="XML" attributeName="ry" values="33; 33; 1; 33; 33" begin="0s" dur="2s" repeatCount="indefinite" /> + </ellipse> + </a> + <path id="smile" stroke-width="10" stroke="black" fill="none" stroke-linecap="round" + d="M120,280 Q200,330 280,280"/> + +</svg> diff --git a/specs/integration/master/style/W3C-ED.css b/specs/integration/master/style/W3C-ED.css new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/W3C-ED.css @@ -0,0 +1,89 @@ + +/* Style for a Working Group Editors' Draft */ + +/* + Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved. + The following software licensing rules apply: + http://www.w3.org/Consortium/Legal/copyright-software */ + +/* $Id: base.css,v 1.25 2006/04/18 08:42:53 bbos Exp $ */ + +body { + padding: 2em 1em 2em 70px; + margin: 0; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; +} +:link { color: #00C; background: transparent } +:visited { color: #609; background: transparent } +a:active { color: #C00; background: transparent } + +a:link img, a:visited img { border-style: none } /* no border on img links */ + +a img { color: white; } /* trick to hide the border in Netscape 4 */ +@media all { /* hide the next rule from Netscape 4 */ + a img { color: inherit; } /* undo the color change above */ +} + +th, td { /* ns 4 */ + font-family: sans-serif; +} + +h1, h2, h3, h4, h5, h6 { text-align: left } +/* background should be transparent, but WebTV has a bug */ +h1, h2, h3 { color: #005A9C; background: white } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif } + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } + +p.copyright { font-size: small } +p.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a[href]:hover { background: #ffa } +} + +pre { margin-left: 2em } +/* +p { + margin-top: 0.6em; + margin-bottom: 0.6em; +} +*/ +dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ +dt { font-weight: bold } + +pre, code { font-family: monospace } /* navigator 4 requires this */ + +ul.toc, ol.toc { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +@media aural { + h1, h2, h3 { stress: 20; richness: 90 } + .hide { speak: none } + p.copyright { volume: x-soft; speech-rate: x-fast } + dt { pause-before: 20% } + pre { speak-punctuation: code } +} + + + +body { + background-image: url(http://www.w3.org/StyleSheets/TR/logo-ED); +} + diff --git a/specs/integration/master/style/W3C-WD.css b/specs/integration/master/style/W3C-WD.css new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/W3C-WD.css @@ -0,0 +1,88 @@ + +/* Style for a public "Working Draft" */ + +/* + Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved. + The following software licensing rules apply: + http://www.w3.org/Consortium/Legal/copyright-software */ + +/* $Id: base.css,v 1.25 2006/04/18 08:42:53 bbos Exp $ */ + +body { + padding: 2em 1em 2em 70px; + margin: 0; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; +} +:link { color: #00C; background: transparent } +:visited { color: #609; background: transparent } +a:active { color: #C00; background: transparent } + +a:link img, a:visited img { border-style: none } /* no border on img links */ + +a img { color: white; } /* trick to hide the border in Netscape 4 */ +@media all { /* hide the next rule from Netscape 4 */ + a img { color: inherit; } /* undo the color change above */ +} + +th, td { /* ns 4 */ + font-family: sans-serif; +} + +h1, h2, h3, h4, h5, h6 { text-align: left } +/* background should be transparent, but WebTV has a bug */ +h1, h2, h3 { color: #005A9C; background: white } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif } + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } + +p.copyright { font-size: small } +p.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a[href]:hover { background: #ffa } +} + +pre { margin-left: 2em } +/* +p { + margin-top: 0.6em; + margin-bottom: 0.6em; +} +*/ +dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ +dt { font-weight: bold } + +pre, code { font-family: monospace } /* navigator 4 requires this */ + +ul.toc, ol.toc { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +@media aural { + h1, h2, h3 { stress: 20; richness: 90 } + .hide { speak: none } + p.copyright { volume: x-soft; speech-rate: x-fast } + dt { pause-before: 20% } + pre { speak-punctuation: code } +} + + + +body { + background-image: url(http://www.w3.org/StyleSheets/TR/logo-WD); +} diff --git a/specs/integration/master/style/default.css b/specs/integration/master/style/default.css new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/default.css @@ -0,0 +1,550 @@ +/* + * Style sheet for the CSS3 specification, + * to be used in addition to http://www.w3.org/StyleSheets/TR/W3C-{WD,PR,REC} + * $Id: default.css,v 1.8 2011-08-18 02:18:14 tatkinsj Exp $ + */ + +@media print { + + /* the following doesn't work for now, + instead we rely on a patched version of html2ps which has this built-in */ + .dlink { display: none } + + /* the following doesn't work for now, + instead we rely on a patched version of html2ps which has this built-in */ + div.navbar { + display: none; + } + + html { margin: 0 !important } + body { font-family: serif } + th, td { font-family: inherit } + a { color: inherit !important } + div.example:before { font-family: serif !important } + pre.example:before { font-family: serif !important } + a:link, a:visited { text-decoration: none !important } + a:link:after, a:visited:after { /* create a cross-ref "see..." */ } +} +@page { + margin: 1.5cm 1.1cm; +} + +/* html body { margin-left: 8.5em } /* Overrides 70px in base.css */ + +body {counter-reset: exampleno figure; max-width: 50em; margin: 0 auto !important; color: #444; } + +/* Pagination */ +h1, h2, h3, h4, h5, h6 { page-break-after: avoid; font-family: inherit } +div.figure, div.sidefigure, pre, table.propdef, table.propdef-extra, +div.example { page-break-inside: avoid } +dt { page-break-after: avoid } + +span.id {float: right; font-weight: bold} + +/* General Structural Markup */ +h2, h3, h5, h6 { margin-top: 3em; } + +h1 + h2 { margin-top: 0; } + +h4 { margin-top: 4em; } + +p, div.note { + text-indent: 0; + margin-bottom: 0; + margin-top: 1em +} + +dd > p:first-child, li > p:first-child, .note > p:first-child { + margin-top: 0 +} + +pre { + text-align: left; /* fixes justification in Mac IE 5 */ + text-indent: 0; /* fixes indent in Mac Netscape 6 */ + margin-top: 1em; + margin-bottom: 1em; + font-size: 90% /*smaller*/; +} + +img { + border-style: none; + color: white; +} +.toc { + text-indent: 0; +} + + +@media all { /* NS < 6 doesn't like borders around inline elements... */ + + body { + line-height: 1.5; + } + + a:link, a:visited { + color: inherit; + text-decoration: underline; + } + + a.logo:link, a.logo:visited { + padding: 0; + border-style: none; + } + + /* Hmm, this seems to confuse many browsers... */ + dl dd { margin: 0 0 1em 2em } + .head dd { margin-bottom: 0; } + ul, ol { margin-left: 0; padding-left: 2em; } + li { margin: 0.25em 2em 0.5em 0; padding-left: 0 } + +} +ul.indexlist { margin-left: 0; /*column-width: 13em; columns: 13em*/ } +ul.indexlist li { margin-left: 0; list-style: none } +ul.indexlist li li { margin-left: 1em } + +/* Examples */ + +.example { + counter-increment: exampleno; +} +div.example:before { + content: "Example"; + content: "Example " counter(exampleno); + min-width: 7.5em; + text-transform: uppercase; +} +pre.example:before { + content: "Example"; + content: "Example " counter(exampleno); + min-width: 7.5em; + text-transform: uppercase; +} +div.example, div.illegal-example, div.html, div.illegal-html, div.xml, +div.illegal-xml, pre.example, pre.illegal-example, pre.html, +pre.illegal-html, pre.xml, pre.illegal-xml { + padding: 0.5em; + margin: 1em 0; + position: relative; + clear: both; +} +pre.example, pre.illegal-example, pre.html, +pre.illegal-html, pre.xml, pre.illegal-xml { + padding-top: 1.5em; +} +pre.illegal-example { color: red } +div.illegal-example { color: red } +div.illegal-example p { color: black } + +div.html { color: #600 } +pre.html { color: #600 } +pre.illegal-html { color: red } +div.illegal-html { color: red } +div.illegal-html p { color: black } +pre.deprecated-html { color: red } +div.deprecated-html { color: red } +div.deprecated-html p { color: black } + +div.xml { color: #600 } +pre.xml { color: #600 } +pre.illegal-xml { color: red } +div.illegal-xml { color: red } +div.illegal-xml p { color: black } + +/* code { font-size: 90% } */ +.css, .property { color: #005a9c } /* inline CSS code (SPAN/CODE) */ +code.css { font-family: inherit; font-size: 100% } +code.html { color: #600 } /* inline HTML */ +code.xml { color: #600 } /* inline XML */ +.property { font: inherit; white-space: nowrap; } /* name of a CSS property (SPAN) */ +.descriptor { } /* name of a CSS descriptor (SPAN) */ +.type { font-style: italic } /* A <type> value for a property */ + +dfn { font-weight: bolder; /*font-size: 1em*/ } + +p.issue, div.issue, p.note, div.note, div.example { + padding: .5em; + border-left-width: .5em; + border-left-style: solid; +} + +/* Open issue / editorial remark; not intended for a final publication */ +p.issue, div.issue { + border-color: #E05252; + background: #FBE9E9; + counter-increment: issue; +} + +p.issue:before, div.issue:before { + content: "Issue " counter(issue); + padding-right: 1em; + text-transform: uppercase; + color: #E05252; +} + +span.issue { color: red; } + +/* Class note is a non-normative note. May be inline or a P or DIV */ +p.note, div.note { + border-color: #52E052; + background: #E9FBE9; +} + +span.note { color: green; } + + +.normref { color: red } +.informref { color: green } + +/* Example box */ +div.example { + border-color: #E0CB52; + background: #FCFAEE; +} + +div.example:before { color: #B9AB2D; } + +/* ToC not indented, but font style shows hierarchy */ +ul.toc {margin: 1em 0; padding: 0; line-height: 1.3; font-weight: bold; text-transform: uppercase; } +ul.toc ul {margin: 0; padding: 0; font-weight: normal; text-transform: none; } +ul.toc ul ul {margin: 0 0 0 2em; font-style: italic; } +ul.toc ul ul ul {margin: 0} +ul.toc > li {margin: 1.5em 0; padding: 0; } +ul.toc ul.toc li { margin: 0.3em 0 0 0; } +ul.toc a { text-decoration: none; } +ul.toc a:hover, ul.toc a:focus { text-decoration: underline; } +/* +ul.toc li li li, ul.toc li li li ul {margin-left: 0; display: inline} +ul.toc li li li ul, ul.toc li li li ul li {margin-left: 0; display: inline} +*/ + +@media all { /* NS4 doesn't align the floats properly :-( */ + + /* Section numbers in a column of their own */ + ul.toc span.secno {margin-right: 1em} /* workaround for Opera6 */ + ul.toc span.secno {float: left; width: 4em; margin-left: -5em} + ul.toc ul ul span.secno { margin-left: -7em; } + /*ul.toc span.secno {text-align: right}*/ + ul.toc li {clear: both} + ul.toc {margin-left: 5em} + /* If we had 'tab', floats would not be needed here: + ul.toc span.secno {tab: 5em right; margin-right: 1em} + ul.toc li {text-indent: 5em hanging} + The second line in case items wrap + */ +} + +ul.index { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +s, del {text-decoration: line-through; color: red} +u, ins {text-decoration: underline; background: #bfa} + +div.figure, div.sidefigure { + text-align: center; + margin: 2.5em 0; +} +div.sidefigure { + float: right; + width: 50%; + margin: 0 0 0.5em 0.5em +} +div.figure img, div.sidefigure img { + display: block; + margin: auto; + max-width: 100% +} +p.caption, caption { + text-align: center; + font-style: italic; + font-size: 90%; +} +p.caption:before { + content: "Figure " counter(figure) ". "; + font-weight: bold; +} +p.caption { + counter-increment: figure; +} + +/* DL list is indented, but figure inside it is not */ +dd { margin-left: 2em } +dd div.figure { margin-left: -2em } + +sup { + vertical-align: super; + font-size: 80% +} + +/* "Equations" (not real MathML, but simple HTML) are put in a +blockquote and may have an equation number. We make sure the +blockquote has enough margin on the right and then put the equation +number there. */ + +blockquote { + margin: 0.5em 4em 0.5em 2em; + text-indent: 0; +} +.eqno { + text-align: right; + float: right; + width: 3em; + margin: 0 -4em 0 0; + font-weight: bold; + /* background: silver; color: black; padding: 0.1em */ +} + +table.equiv-table { border-spacing: 0; margin: 0.5em 0 } +table.equiv-table th, table.equiv-table td { padding: 0.3em } +table.equiv-table th { text-align: left } +/* table.equiv-table th:first-child { text-align: right } */ +table.equiv-table td, table.equiv-table th { border-bottom: thin solid #666 } +table.equiv-table { border-bottom: hidden } +table.equiv-table { empty-cells: show } +table.equiv-table caption { margin: 0.5em 0 0 0 } + +/* Style for table of properties */ +table.proptable { + font-size: small; + border-collapse: collapse; + border-spacing: 0; + text-align: left; + margin: 1em 0; +} + +table.proptable td, table.proptable th { + padding: 0.4em; + text-align: center; +} + +table.proptable tr:hover td { + background: #DEF; +} + + +/* Style for table that defines a property or a descriptor */ +table.propdef, table.propdef-extra, table.descdef { + border-spacing: 0; + padding: 0 1em 0.5em; + width: 100%; + table-layout: fixed; + background: #DEF; + margin: 1.2em 0; + border-left: 0.5em solid #8CCBF2; +} + +/* Since Jan 2008, some CSS modules use <th> instead of <td> in the +first column of a table.propdef. These rules handle both. As of Jan +2008, http://www.w3.org/Style/spec-mark-up still only documents <td> +*/ + +table.propdef td, table.propdef-extra td, table.descdef td, +table.propdef th, table.propdef-extra th, table.descdef th { + padding: 0.5em; + vertical-align: baseline; + border-bottom: 1px solid #bbd7e9; +} +/* +table.propdef dfn, table.propdef-extra dfn, table.descdef dfn { + font-weight: bold; + font-style: normal +} +*/ +table.propdef td:first-child, +table.propdef-extra td:first-child, +table.descdef td:first-child, +table.propdef th:first-child, +table.propdef-extra th:first-child, +table.descdef th:first-child { + font-style: italic; + font-weight: normal; + width: 8.3em; + padding-left: 1em; +} +table.propdef td[colspan]:first-child, +table.propdef-extra td[colspan]:first-child, +table.descdef td[colspan]:first-child, +table.propdef th[colspan]:first-child, +table.propdef-extra th[colspan]:first-child, +table.descdef th[colspan]:first-child { + font-style: inherit +} +table.propdef tr:first-child, +table.propdef-extra tr:first-child, +table.descdef tr:first-child { + +} + +table.propdef > tbody > tr:last-child th, +table.propdef-extra > tbody > tr:last-child th, +table.descdef > tbody > tr:last-child th, +table.propdef > tbody > tr:last-child td, +table.propdef-extra > tbody > tr:last-child td, +table.descdef > tbody > tr:last-child td { + border-bottom: 0; +} + +table.propdef tr:first-child th, +table.propdef-extra tr:first-child th, +table.descdef tr:first-child th, +table.propdef tr:first-child td, +table.propdef-extra tr:first-child td, +table.descdef tr:first-child td { + padding-top: 1em; +} + +/* For when values are extra-complex and need formatting for readability */ +table td.pre { + white-space: pre-wrap; +} + +/* A footnote at the bottom of a propdef */ +table.propdef td.footnote {padding-top: 0.6em; width: auto} +table.propdef td.footnote:before { + content: " "; + display: block; + height: 0.6em; + width: 4em; + border-top: thin solid; +} + +/* table.propdef tr:first-child td { padding-top: 0.1em; padding-bottom: 0.1em } */ + +/* This would replace :first-child for Opera, but it confuses WinIE :-( */ +/* +table.propdef td { width: 8em } +table.propdef td + td { width: auto } +table.propdef tr { background: #005A9C; color: white } +table.propdef tr + tr { background: transparent; color: black } +*/ + +table.proptable td .property { + display: block; + text-align: left; + font-weight: bold; +} + +/* CSS modules typically don't use MUST, SHOULD etc. from RFC 2119, +or, if they do, they don't put them in uppercase. But the following +class is provided in case a spec wants to use RFC 2119 terms in +uppercase in the source. */ + +em.rfc2119 { + text-transform: lowercase; + font-variant: small-caps; + font-style: normal +} + +/* In Profile specs, a table of required features: */ + +table.features th { + background: #00589f; + color: #fff; + text-align: left; + padding: 0.2em 0.2em 0.2em 0.5em; +} +table.features td { + vertical-align: top; + border-bottom: 1px solid #ccc; + padding: 0.3em 0.3em 0.3em 0.7em; +} + + +/* Style for data tables (and properly marked-up proptables) */ + +.data, .proptable { + margin: 1em auto; + border-collapse: collapse; + width: 100%; + border: hidden; +} +.data caption { + width: 100%; + text-align: center; +} + +.data td, .data thx, +.proptable td, .proptable thx { + padding: 0.5em; + text-align: center; + border-top: 1px dotted; +} + +.data thead td:empty { + padding: 0; + border: 0; +} + +.data thead th[scope="row"], +.proptable thead th[scope="row"] { + text-align: right; + color: inherit; +} + +.data thead, +.proptable thead, +.data tbody, +.proptable tbody { + color: inherit; + border-bottom: 1px solid; +} + +.data colgroup { + border-left: 1px solid; +} + +.data tbody th:first-child, +.proptable tbody th:first-child , +.data tbody td[scope="row"]:first-child, +.proptable tbody td[scope="row"]:first-child { + text-align: right; + color: inherit; + border-right: 1px solid; + border-top: 1px dotted; + padding-right: 1em; +} + +.data tbody th[rowspan], +.proptable tbody th[rowspan], +.data tbody td[rowspan], +.proptable tbody td[rowspan]{ + border-left: 1px dotted; +} + +.data tbody th[rowspan]:first-child, +.proptable tbody th[rowspan]:first-child, +.data tbody td[rowspan]:first-child, +.proptable tbody td[rowspan]:first-child{ + border-left: 0; + border-right: 1px dotted; +} + +.complex.data th, +.complex.data td { + border: 1px dotted; +} + + +.data img { + vertical-align: middle; +} + +table.propdef { + table-layout: auto; +} +.propdef th { + font-style: italic; + font-weight: normal; + text-align: left; + width: 3em; +} +dt dfn code { + font-size: inherit; +} + +/* This is mostly to make the list inside the CR exit criteria more compact. */ +ol.inline, ol.inline li {display: inline; padding: 0; margin: 0} +ol.inline {counter-reset: list-item} +ol.inline li {counter-increment: list-item} +ol.inline li:before {content: "(" counter(list-item) ") "; font-weight: bold} diff --git a/specs/integration/master/style/default_no_issues.css b/specs/integration/master/style/default_no_issues.css new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/default_no_issues.css @@ -0,0 +1,11 @@ +/* + * Turns off issues and annotations. + */ + +@import url(default_svg.css); + +p.issue, div.issue, p.annotation, div.annotation { + display:none; +} + + diff --git a/specs/integration/master/style/default_requirements.css b/specs/integration/master/style/default_requirements.css new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/default_requirements.css @@ -0,0 +1,23 @@ +@import url(default_no_issues.css); + +/* Conformance requirement */ + +.requirement { + display: block; + margin-top: 1em; + padding: 0.5em; + border-left-width: 0.5em; + border-left-style: solid; + border-color: #007070; + background: #A0E0E0; +} + +.requirement:before { + content: "Conformance requirement " attr(id); + padding-right: 1em; + color: #007070; +} + +.requirement > p:first-child { + margin-top: 0 +} diff --git a/specs/integration/master/style/default_svg.css b/specs/integration/master/style/default_svg.css new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/default_svg.css @@ -0,0 +1,337 @@ +/* + * Style sheet for the SVG 2 specification, + * to be used in addition to http://www.w3.org/StyleSheets/TR/W3C-{WD,PR,REC} + * References the CSS3 style sheet. + */ + +@import url(default.css); + +/* Copy note for use with annotation. */ +div.annotation { + text-indent: 0; + margin-bottom: 0; + margin-top: 1em +} + +.annotation> p:first-child { + margin-top: 0 +} + +p.annotation, div.annotation { + padding: .5em; + border-left-width: .5em; + border-left-style: solid; +} + +/* Class annotation is list of annotations; not intended for a final publication. */ +p.annotation, div.annotation { + border-color: #C752E0; + background: #F8E9FB; + counter-increment: annotation; +} + +p.annotation:before, div.annotation:before { + content: "Annotation " counter(annotation); + padding-right: 1em; + text-transform: uppercase; + color: #C752E0; +} + +span.annotation { color: purple; } + + +/* Imported from svg-style.css */ +.code-fragment { + color: #A52A2A; + font-weight: bold; + font-size: 90% +} +.element-name, .element-name > a > span, .attr-name, .attr-name > a > span { + font-weight: bold; +} +.element-name, .attr-name { + font-size: 90% +} +.element-name > a, .attr-name > a { + color: black; + font-weight: normal; +} +.element-name, .element-name > a > span { + color: #A52A2A; +} +.attr-name, .attr-name > a > span { + color: #2A2AA5; +} +.attr-value, .prop-value { + font-weight: bold; + font-size: 90% +} + +/* Added to match new style sheet */ +div.element-summary { + border-color: #52A7E0; + background: #E9F4FB; +} + + +div.element-summary { + padding: .5em; + border-left-width: .5em; + border-left-style: solid; + margin-top: 1em; +} + + +/*.element-summary { background: #d9e8ff; padding: 1em; margin-top: 1em }*/ +.element-summary-name { float: right; font-size: 110% } +.element-summary dl, .element-summary dt { margin-top: 0; margin-bottom: 0; } +.element-summary * + dt { margin-top: 0.5em; } +.element-summary dd { margin-top: 0; } +.element-summary ul.no-bullets { list-style: none; margin-left: 0; padding-left: 0 } +.element-summary ul.no-bullets li { padding-left: 2em; text-indent: -2em; } +.expander { color: #888; text-decoration: underline; cursor: pointer; font-size: 85% } +.expander { } +.expander:active { color: #C00 } +.expander:hover { background: #ffa } +.expander:after { content: 'show ยป' } + +.xgrammar { color: #A52A2A; font-family: monospace; font-size: 90% } + +pre.idl, pre.dtd-fragment { color: black; padding: 1em; margin-top: 1em; margin-left: 0; font-size: 1em; overflow: auto; font-size: 14px } +pre.idl { background: #d9e8ff } +pre.idl a:link, pre.idl a:visited { color: black; } + +dl.interface dt { + margin-top: 1em; +} + +dl.interface dt.attribute, +dl.interface dt.constant, +dl.interface dt.operation { + margin-top: 2em; +} + +dl.interface dt.attribute, +dl.interface dt.constant, +dl.interface dt.operation, +dl.interface li.parameter, +dl.interface dt.exception { + font-weight: normal; + display: list-item; +} + +dl.interface dt.attribute.first-child, +dl.interface dt.constant.first-child, +dl.interface dt.operation.first-child, +dl.interface li.parameter.first-child, +dl.interface dt.exception.first-child { + margin-top: 0; +} + +dl.interface dd.attribute, +dl.interface dd.constant, +dl.interface dd.operation, +dl.interface li.parameter, +dl.interface dd.exception { + margin-top: 0.5em; + margin-left: 0; +} + +.idlattr, .idlattr:link, .idlattr:visited { + background: #d9e8ff; + color: black; +} + +ol.parameters { + list-style-type: disc; + padding-left: 0; + margin-left: 0; +} + +var { + font-style: italic; +} + +sub { + font-size: 80%; +} + +dl.definitions > dt, +.adef-list dl > dt { margin-top: 1em; } + +dl.definitions > dt + dt, +.adef-list dl > dt + dt { margin-top: 0; } + +dl.definitions > dd > :first-child, +.adef-list dl > dd > :first-child { margin-top: 0; } + +.adef { font-size: 14px } + + +/* + * New attribute and property styles, to be renamed after all spec updated. + */ + +.attrdef-list-svg2, .propdef-list-svg2 { + +} + +.attrdef-svg2, .propdef-svg2 { + background: #E9F4FB; + overflow: auto; + margin-top: 2px; +} + +.attrdef-svg2 dt, .propdef-svg2 dt { + font-style:italic; + font-weight:normal; + float: left; + clear: left; + width: 8em; + margin: 2px; +} + +.attrdef-svg2 dt:after, .propdef-svg2 dt:after { + content: ":"; +} + +.attrdef-svg2 dd, .propdef-svg2 dd { + float: left; + margin: 2px 0; /* Override default.css */ +} + +.attrdef-values dt, .propdef-values dt { + font-weight: bold; + font-size: 90%; + margin-top: 2px; +} + +/* Display the list of old editors in the Acknowledgements section similarly + to how the current editors appear at the top of the document. */ +ul.old-editor-list { list-style-type: none !important } +.authornote { font-size: 80% } + +/* Override default.css to not capitalize chapters. */ +ul.toc { text-transform: none } + +/* Allow another level of toc. */ +ul.toc ul ul ul { margin: 0 0 0 2.4em; font-style: normal; font-size: 85%; line-height: 1.53 } +ul.toc ul ul ul span.secno { margin-left: -10.6em } + +/* The header/footer with links to next/previous chapter, etc. */ +.header { background: #eee; padding: 0.5em; font-size: 85%; text-align: right } +.header.top { border-top: 1px solid #ccc; margin-bottom: 2em } +.header.bottom { border-bottom: 1px solid #ccc; margin-top: 2em } +.header .namedate { display: block; float: left } + +/* The "Contents" header before a chapter's toc. */ +h2.contents { font-size: inherit; color: black; font-weight: bold; margin: 2em 0 1em 0 } + +/* Don't put space between minitoc entries. */ +#minitoc + ul.toc > li { margin: 0.75em 0 } +#minitoc + ul.toc > li.no-num { margin: 1.5em 0 } + +/* Put more space around the chapter dividers than there is around section + headings. */ +.chapter-divider { margin: 4em 0 } + +/* An indented definition. */ +.definition { margin-left: 2em; margin-top: 1em } + +/* HTML-equivalent math for ATs. */ +div[role="math"] > :first-child ~ * { + position: absolute; + width: 400px; + left: -10000px; + overflow: hidden; +} + +/* A border to be used around images. */ +.bordered { border: 1px solid #888; background-color: white } + +dl.attrdef-list dl { margin-top: 1em } +dl.attrdef-list > dt { font-weight: normal } + +/* Make issue and example counters work correctly. */ +body { counter-reset: exampleno figure issue example; } + +.svg2-requirement table { border-collapse: collapse; width: 100% } +.svg2-requirement table th { font-weight: normal; font-style: italic; padding-right: 1em; white-space: nowrap; width: 1px } +.svg2-requirement tr:first-child td, +.svg2-requirement tr:first-child th { font-weight: bold; font-style: normal; border-top: none } +.svg2-requirement table th, .svg2-requirement table td { text-align: left; vertical-align: baseline; border-top: 1px solid #D398E0; padding: 0.5em } + +table.proptable tbody td:first-child { white-space: nowrap } +table.proptable tbody td .property { display: inline; font-weight: normal } +.proptable thead { border-bottom: 2px solid } +.proptable tbody { border-bottom: none } +.proptable tbody th:first-child, +.proptable tbody td[scope="row"]:first-child { + border-right: 2px solid; + border-top: 1px solid silver; +} +.proptable tbody td { + border-top: 1px solid silver; +} +.proptable tbody th + td { + min-width: 15em; +} + +table.attrtable tbody td:first-child { white-space: normal } +.attrtable tbody td, .attrtable tbody th { vertical-align: baseline } +.attrtable thead th:first-child + th, .attrtable tbody th + td { text-align: left } + +table > caption { caption-side: bottom } + +table.PathDataTable { border-spacing: 2px; border-style: outset; border-width: 1px } +table.PathDataTable td, +table.PathDataTable th { padding: 5px; border-style: inset; border-width: 1px } + +.colorpatch { width: 14px; height: 14px; border: 1px solid black; } + +.eltdef { border-left: 0.5em solid #52A7E0 !important; background: #E9F4FB !important; } +.eltdef td > p:first-child { margin-top: 0 } +.eltdef th { white-space: nowrap } +.eltdef pre.idl { margin: 0; padding: 0; background: none } + +/* Attribute definition tables */ +table.propdef.attrdef { border-left-color: #888; border-left-width: 0; background-color: #eee; font-size: 90% } +table.propdef.attrdef th, table.propdef.attrdef td { border-bottom-color: #ccc } + +table.propdef.attrdef th:first-child, +table.propdef.attrdef td:first-child { width: 16em; padding-left: 0 !important } + +table.propdef.attrdef th:first-child + th, +table.propdef.attrdef td:first-child + td { width: auto } + +table.propdef.attrdef th:first-child + th + th, +table.propdef.attrdef td:first-child + td + td { width: 6em } + +table.propdef.attrdef th:first-child + th + th + th, +table.propdef.attrdef td:first-child + td + td + td { width: 6em; padding-right: 0 !important } + +/* HTML5-like switch statements. */ +dl.switch > dd > ol.only { + margin-left: 0; +} +dl.switch > dd > ol.algorithm { + margin-left: -2em; +} +dl.switch { + padding-left: 2em; +} +dl.switch > dt { + text-indent: -1.5em; + margin-top: 1em; +} +dl.switch > dt + dt { + margin-top: 0; +} +dl.switch > dt:before { + content: '\21AA'; + padding: 0 0.5em 0 0; + display: inline-block; + width: 1em; + text-align: right; + line-height: 0.5em; +} diff --git a/specs/integration/master/style/expanders.js b/specs/integration/master/style/expanders.js new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/expanders.js @@ -0,0 +1,32 @@ +function expand(e) { + e = e.parentNode; + e.parentNode.removeAttribute('class'); + e.style.display = "none"; + e.nextSibling.style.display = "inline"; +} + +(function() { + var i, a = [], e0, e1p, e1, e2, l = document.getElementsByTagName('span'); + for (i = 0; i != l.length; i++) { + e0 = l[i]; + if (e0.getAttribute('class') == 'expanding') { + a.push(e0); + } + } + for (i = 0; i != a.length; i++) { + e0 = a[i]; + e1 = document.createElement('span'); + e1.setAttribute('class', 'expander'); + e1.setAttribute('onclick', 'expand(event.target)'); + e1p = document.createElement('span'); + e1p.textContent = ' '; + e1p.appendChild(e1); + e2 = document.createElement('span'); + e2.style.display = 'none'; + while (e0.firstChild) { + e2.appendChild(e0.firstChild); + } + e0.appendChild(e1p); + e0.appendChild(e2); + } +})(); diff --git a/specs/integration/master/style/link-fixup.js b/specs/integration/master/style/link-fixup.js new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/link-fixup.js @@ -0,0 +1,9 @@ +var local = location.protocol == "file:"; +if (local) { + for (n = document.head.firstChild; n; n = n.nextSibling) { + if (n.nodeName.toLowerCase() == "link" && + n.getAttribute("href").indexOf("//") == 0) { + n.href = "https:" + n.getAttribute("href"); + } + } +} diff --git a/specs/integration/master/style/load-mathjax.js b/specs/integration/master/style/load-mathjax.js new file mode 100644 --- /dev/null +++ b/specs/integration/master/style/load-mathjax.js @@ -0,0 +1,4 @@ +// If there were an "MML_SVG" config we should use that, to avoid the overhead of looking for TeX-style math. +var n = document.createElement("script"); +n.src = (local ? "https:" : location.protocol) + "//d3eoax9i5htok0.cloudfront.net/mathjax/2.0-latest/MathJax.js?config=TeX-AMS-MML_SVG"; +document.head.appendChild(n); diff --git a/specs/integration/master/target.svg b/specs/integration/master/target.svg new file mode 100644 --- /dev/null +++ b/specs/integration/master/target.svg @@ -0,0 +1,11 @@ +<svg xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + width="100%" height="100%" viewBox="0 0 400 400"> + + <title>SVG Rounded Rectangle</title> + + <a xlink:href="smiley.svg"> + <rect x="30" y="30" width="340" height="340" rx="40" ry="40" fill="cornflowerblue" stroke="blue" stroke-width="20" /> + </a> + +</svg>
Received on Saturday, 6 April 2013 05:42:04 UTC