Migrate SVG Integration from CVS.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/Makefile Sat Apr 06 16:38:50 2013 +1100
@@ -0,0 +1,1 @@
+include ../../../svg2-tools/spec.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/Overview.html Sat Apr 06 16:38:50 2013 +1100
@@ -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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/definitions-SVG11.xml Sat Apr 06 16:38:50 2013 +1100
@@ -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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/definitions-SVGT12.xml Sat Apr 06 16:38:50 2013 +1100
@@ -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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/definitions.xml Sat Apr 06 16:38:50 2013 +1100
@@ -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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/publish.xml Sat Apr 06 16:38:50 2013 +1100
@@ -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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/smiley.svg Sat Apr 06 16:38:50 2013 +1100
@@ -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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/W3C-ED.css Sat Apr 06 16:38:50 2013 +1100
@@ -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);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/W3C-WD.css Sat Apr 06 16:38:50 2013 +1100
@@ -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);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/default.css Sat Apr 06 16:38:50 2013 +1100
@@ -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}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/default_no_issues.css Sat Apr 06 16:38:50 2013 +1100
@@ -0,0 +1,11 @@
+/*
+ * Turns off issues and annotations.
+ */
+
+@import url(default_svg.css);
+
+p.issue, div.issue, p.annotation, div.annotation {
+ display:none;
+}
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/default_requirements.css Sat Apr 06 16:38:50 2013 +1100
@@ -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
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/default_svg.css Sat Apr 06 16:38:50 2013 +1100
@@ -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;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/expanders.js Sat Apr 06 16:38:50 2013 +1100
@@ -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);
+ }
+})();
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/link-fixup.js Sat Apr 06 16:38:50 2013 +1100
@@ -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");
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/style/load-mathjax.js Sat Apr 06 16:38:50 2013 +1100
@@ -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);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/integration/master/target.svg Sat Apr 06 16:38:50 2013 +1100
@@ -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>