Document Type Definition – SVG 1.1 (Second Edition) (original) (raw)
Appendix A: Document Type Definition
Contents
- A.1 Introduction
- A.2 Modularization
- A.3 SVG 1.1 module definitions and DTD implementations
- A.3.1 Modular Framework Module
- A.3.2 Datatypes Module
- A.3.3 Qualified Name Module
- A.3.4 Core Attribute Module
- A.3.5 Container Attribute Module
- A.3.6 Viewport Attribute Module
- A.3.7 Paint Attribute Module
- A.3.8 Basic Paint Attribute Module
- A.3.9 Paint Opacity Attribute Module
- A.3.10 Graphics Attribute Module
- A.3.11 Basic Graphics Attribute Module
- A.3.12 Document Events Attribute Module
- A.3.13 Graphical Element Events Attribute Module
- A.3.14 Animation Events Attribute Module
- A.3.15 XLink Attribute Module
- A.3.16 External Resources Attribute Module
- A.3.17 Structure Module
- A.3.18 Basic Structure Module
- A.3.19 Conditional Processing Module
- A.3.20 Image Module
- A.3.21 Style Module
- A.3.22 Shape Module
- A.3.23 Text Module
- A.3.24 Basic Text Module
- A.3.25 Marker Module
- A.3.26 Color Profile Module
- A.3.27 Gradient Module
- A.3.28 Pattern Module
- A.3.29 Clip Module
- A.3.30 Basic Clip Module
- A.3.31 Mask Module
- A.3.32 Filter Module
- A.3.33 Basic Filter Module
- A.3.34 Cursor Module
- A.3.35 Hyperlinking Module
- A.3.36 View Module
- A.3.37 Scripting Module
- A.3.38 Animation Module
- A.3.39 Font Module
- A.3.40 Basic Font Module
- A.3.41 Extensibility Module
- A.4 SVG 1.1 Document Type Definition
This appendix is normative.
A.1 Introduction
This appendix defines a DTD for SVG 1.1, which is used as part of determining whether a given document or document fragment is conforming. See Conformance Criteriafor details on how the DTD is to be used in this regard. Note in particular that simply validating a given XML document against this DTD cannot definitively, by itself, determine conformance to this specification.
If errors are found in this DTD, then they will be listed in the SVG 1.1 Second Edition errata. A dated version of the flattened DTD will always be available fromhttp://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20110816.dtd.
A.2 Modularization
The modularization of SVG included here is a decomposition ofSVG 1.0[SVG10] and errata into a collection of abstract modules that provide specific units of functionality. These modules may be combined with each other and with modules defined in other specifications (such as XHTML) to create SVG subset and extension document types that qualify as members of the SVG family of document types. SeeConformance for a description of SVG family documents, andAn XHTML + MathML + SVG Profile[XHTMLplusMathMLplusSVG] for a profile that combines XHTML, MathML and SVG.
Each major section of the SVG specification corresponds to a module named after that section, e.g. "Text Module" or "Basic Structure Module". A module without the "Basic" prefix implies that the module includes the complete set of elements and attributes, with no restrictions, from the corresponding section of the specification. If there is a need to provide a subset of the functionality of the complete module, then a Basic module is created with the "Basic" prefix added to the name of the complete module. For example, the "Basic Text Module" is a subset of the "Text Module".
It is an error for a profile of SVG 1.1 to include both the complete module and its basic subset (e.g. the "Text Module" and the "Basic Text Module").
A.2.1 Element and attribute collections
Most modules define a named collection of elements or attributes. These collections are used as a shorthand when describing the set of attributes allowed on a particular element (e.g. the "Style" attribute collection) or the set of elements allowed as children of a particular element (e.g. the "Shape" element collection). All collections have names that begin with an uppercase character.
When defining a profile, it is assumed that all the element and attribute collections are defined to be empty. That way, a module can redefine the collection as it is included in the profile, adding elements or attributes to make them available within the profile. Therefore, it is not a mistake to refer to an element or attribute collection from a module that is not included in the profile, it simply means that collection is empty.
The exception to this is the collection Presentation.attrib, which is the union of all the presentation attribute collections (i.e. all the attribute collections with the string "Presentation" in their name). Presentation.attrib is not defined in any module, but it exists in every profile.
A subset module (i.e. a Basic module) may define a different named collection from a superset module. Since it is an error to include a subset and superset module of the same group in a profile, all attribute and element collections will either be defined once by the module that includes them, or will have their default empty value (again, with the exception of Presentation.attrib which is not defined by any module).
A.2.2 Profiling the SVG specification
The modularization of SVG 1.1 allows profiles to be described by listing the SVG modules they allow and possibly a small number of restrictions or extensions on the elements provided by those modules.
The "Full" profile of SVG 1.1 is the collection of all the complete modules listed in this specification (i.e., every module that is not a subset module).
When applied to conformance, the unqualified term "SVG" implies the "Full" profile of SVG 1.1 defined by this specification. If an implementation does not implement the Full profile, it must state either the profile to which it conforms, or that it implements a subset of SVG.
A.2.3 Practical considerations
DTD-based modularization has proven to be an unwieldy method of defining composable XML languages, due to the inherent inability to describe certain complex content models in DTDs as well as their being agnostic with respect to XML namespaces. While the SVG 1.1 DTD is provided in a modularized form, it is recommended that alternate technologies such as Namespace-based Validation Dispatch Language [NVDL] be used to accomplish XML language composition instead.
A.3 SVG 1.1 module definitions and DTD implementations
This section contains the formal definition of each of the SVG abstract modules as a DTD module. Any element and attribute collections defined by the module are also listed.
A.3.1 Modular Framework Module
<![%svg-datatypes.module;[ %svg-datatypes.mod;]]>
<![%svg-qname.module;[ %svg-qname.mod;]]>
<![%svg-model.module;[
%svg-model.mod;]]>
<![%svg-attribs.module;[
%svg-attribs.mod;]]>
A.3.2 Datatypes Module
A.3.3 Qualified Name Module
<![%SVG.prefixed;[ ]]>
<![%SVG.prefixed;[ <!ENTITY % NS.decl.attrib "xmlns:%SVG.prefix; %URI.datatype; #FIXED '%SVG.xmlns;' %XLINK.xmlns.attrib; %SVG.xmlns.extra.attrib;"
]]> <!ENTITY % NS.decl.attrib "%XLINK.xmlns.attrib; %SVG.xmlns.extra.attrib;"
<![%SVG.prefixed;[ <!ENTITY % SVG.xmlns.attrib "%NS.decl.attrib;"
]]> <!ENTITY % SVG.xmlns.attrib "xmlns %URI.datatype; #FIXED '%SVG.xmlns;' %XLINK.xmlns.attrib;"
A.3.4 Core Attribute Module
The Core Attribute Module defines the attribute collection Core.attrib that is the core set of attributes that can be present on any element.
Collection name | Attributes in collection |
---|---|
Core.attrib | id, xml:base, xml:lang, xml:space |
A.3.5 Container Attribute Module
The Container Attribute Module defines the Container.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
Container.attrib | enable-background |
A.3.6 Viewport Attribute Module
The Container Attribute Module defines the Container.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
Viewport.attrib | clip, overflow |
A.3.7 Paint Attribute Module
The Paint Attribute Module defines the Paint.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
Paint.attrib | color, fill, fill-rule, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-width, color-interpolation, color-rendering |
A.3.8 Basic Paint Attribute Module
The Basic Paint Attribute Module defines the Paint.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
Paint.attrib | color, fill, fill-rule, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-width, color-rendering |
A.3.9 Paint Opacity Attribute Module
The Paint Opacity Attribute Module defines the Opacity.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
Opacity.attrib | opacity, stroke-opacity, fill-opacity |
A.3.10 Graphics Attribute Module
The Graphics Attribute Module defines the Graphics.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
Graphics.attrib | display, image-rendering, pointer-events, shape-rendering, text-rendering, visibility |
A.3.11 Basic Graphics Attribute Module
The Basic Graphics Attribute Module defines the Graphics.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
Graphics.attrib | display, visibility |
A.3.12 Document Events Attribute Module
The Document Events Attribute Module defines the DocumentEvents.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
DocumentEvents.attrib | onunload, onabort, onerror, onresize, onscroll, onzoom |
A.3.13 Graphical Element Events Attribute Module
The Graphical Events Attribute Module defines the GraphicalEvents.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
GraphicalEvents.attrib | onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onload |
A.3.14 Animation Events Attribute Module
The Animation Events Attribute Module defines the AnimationEvents.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
AnimationEvents.attrib | onbegin, onend, onrepeat, onload |
A.3.15 XLink Attribute Module
The XLink Attribute Module defines the XLink.attrib, XLinkRequired.attrib, XLinkEmbed.attrib and XLinkReplace.attrib attribute collections. These collections differ only in whether the ‘xlink:href’attribute is required or what the default value for the ‘xlink:show’attribute is.
Collection name | Attributes in collection |
---|---|
XLink.attrib | xlink:type, xlink:href, xlink:role, xlink:arcrole, xlink:title, xlink:show, xlink:actuate |
XLinkRequired.attrib | xlink:type, xlink:href, xlink:role, xlink:arcrole, xlink:title, xlink:show, xlink:actuate |
XLinkEmbed.attrib | xlink:type, xlink:href, xlink:role, xlink:arcrole, xlink:title, xlink:show, xlink:actuate |
XLinkReplace.attrib | xlink:type, xlink:href, xlink:role, xlink:arcrole, xlink:title, xlink:show, xlink:actuate |
A.3.16 External Resources Attribute Module
The External Resources Attribute Module defines the External.attrib attribute collection.
Collection name | Attributes in collection |
---|---|
External.attrib | externalResourcesRequired |
A.3.17 Structure Module
The Structure Module defines the Description.class, Structure.class and Use.class element collections.
Collection name | Elements in collection |
---|---|
Description.class | desc, title, metadata |
Use.class | use |
Structure.class | svg, g, defs, symbol, Use.class |
<![%SVG.svg.element;[ <!ENTITY % SVG.svg.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.svg.extra.content; )*"
]]>
<![%SVG.svg.attlist;[ <!ATTLIST %SVG.svg.qname; %SVG.xmlns.attrib; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.DocumentEvents.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #IMPLIED height %Length.datatype; #IMPLIED viewBox %ViewBoxSpec.datatype; #IMPLIED preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet' zoomAndPan ( disable | magnify ) 'magnify' version %Number.datatype; #FIXED '1.1' baseProfile %Text.datatype; #IMPLIED contentScriptType %ContentType.datatype; 'application/ecmascript' contentStyleType %ContentType.datatype; 'text/css'
]]>
<![%SVG.g.element;[ <!ENTITY % SVG.g.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.g.extra.content; )*"
]]>
<![%SVG.g.attlist;[ <!ATTLIST %SVG.g.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.defs.element;[ <!ENTITY % SVG.defs.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.defs.extra.content; )*"
]]>
<![%SVG.defs.attlist;[ <!ATTLIST %SVG.defs.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.desc.element;[ <!ENTITY % SVG.desc.content "( #PCDATA %SVG.desc.extra.content; )*"
]]>
<![%SVG.desc.attlist;[ <!ATTLIST %SVG.desc.qname; %SVG.Core.attrib; %SVG.Style.attrib;
]]>
<![%SVG.title.element;[ <!ENTITY % SVG.title.content "( #PCDATA %SVG.title.extra.content; )*"
]]>
<![%SVG.title.attlist;[ <!ATTLIST %SVG.title.qname; %SVG.Core.attrib; %SVG.Style.attrib;
]]>
<![%SVG.metadata.element;[ <!ENTITY % SVG.metadata.content "( #PCDATA %SVG.metadata.extra.content; )*"
]]>
<![%SVG.metadata.attlist;[ <!ATTLIST %SVG.metadata.qname; %SVG.Core.attrib;
]]>
<![%SVG.symbol.element;[ <!ENTITY % SVG.symbol.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.symbol.extra.content; )*"
]]>
<![%SVG.symbol.attlist;[ <!ATTLIST %SVG.symbol.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; viewBox %ViewBoxSpec.datatype; #IMPLIED preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
]]>
<![%SVG.use.element;[ <!ENTITY % SVG.use.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.use.extra.content; )*"
]]>
<![%SVG.use.attlist;[ <!ATTLIST %SVG.use.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.XLinkEmbed.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #IMPLIED height %Length.datatype; #IMPLIED transform %TransformList.datatype; #IMPLIED
]]>
A.3.18 Basic Structure Module
The Basic Structure Module defines the Description.class, Structure.class and Use.class element collections.
Collection name | Elements in collection |
---|---|
Description.class | desc, title, metadata |
Use.class | use |
Structure.class | svg, g, defs, Use.class |
<![%SVG.svg.element;[ <!ENTITY % SVG.svg.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.svg.extra.content; )*"
]]>
<![%SVG.svg.attlist;[ <!ATTLIST %SVG.svg.qname; %SVG.xmlns.attrib; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.DocumentEvents.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #IMPLIED height %Length.datatype; #IMPLIED viewBox %ViewBoxSpec.datatype; #IMPLIED preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet' zoomAndPan ( disable | magnify ) 'magnify' version %Number.datatype; #FIXED '1.1' baseProfile %Text.datatype; #IMPLIED
]]>
<![%SVG.g.element;[ <!ENTITY % SVG.g.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.g.extra.content; )*"
]]>
<![%SVG.g.attlist;[ <!ATTLIST %SVG.g.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.defs.element;[ <!ENTITY % SVG.defs.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.defs.extra.content; )*"
]]>
<![%SVG.defs.attlist;[ <!ATTLIST %SVG.defs.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.desc.element;[ <!ENTITY % SVG.desc.content "( #PCDATA %SVG.desc.extra.content; )*"
]]>
<![%SVG.desc.attlist;[ <!ATTLIST %SVG.desc.qname; %SVG.Core.attrib; %SVG.Style.attrib;
]]>
<![%SVG.title.element;[ <!ENTITY % SVG.title.content "( #PCDATA %SVG.title.extra.content; )*"
]]>
<![%SVG.title.attlist;[ <!ATTLIST %SVG.title.qname; %SVG.Core.attrib; %SVG.Style.attrib;
]]>
<![%SVG.metadata.element;[ <!ENTITY % SVG.metadata.content "( #PCDATA %SVG.metadata.extra.content; )*"
]]>
<![%SVG.metadata.attlist;[ <!ATTLIST %SVG.metadata.qname; %SVG.Core.attrib;
]]>
<![%SVG.use.element;[ <!ENTITY % SVG.use.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.use.extra.content; )*"
]]>
<![%SVG.use.attlist;[ <!ATTLIST %SVG.use.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.XLinkEmbed.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #IMPLIED height %Length.datatype; #IMPLIED transform %TransformList.datatype; #IMPLIED
]]>
A.3.19 Conditional Processing Module
The Conditional Processing Module defines the Conditional.class element collection and the Conditional.attrib attribute collection.
Collection name | Elements in collection |
---|---|
Conditional.class | switch |
Collection name | Attributes in collection |
---|---|
Conditional.attrib | requiredFeatures, requiredExtensions, systemLanguage |
<![%SVG.switch.element;[ <!ENTITY % SVG.switch.content "( %SVG.Description.class; | %SVG.svg.qname; | %SVG.g.qname; | %SVG.use.qname; | %SVG.text.qname; | %SVG.Animation.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Shape.class; %SVG.Hyperlink.class; %SVG.Extensibility.class; %SVG.switch.extra.content; )*"
]]>
<![%SVG.switch.attlist;[ <!ATTLIST %SVG.switch.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; transform %TransformList.datatype; #IMPLIED
]]>
A.3.20 Image Module
The Image Module defines the Image.class element collection.
Collection name | Elements in collection |
---|---|
Image.class | image |
<![%SVG.image.element;[ <!ENTITY % SVG.image.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.image.extra.content; )*"
]]>
<![%SVG.image.attlist;[ <!ATTLIST %SVG.image.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.XLinkEmbed.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #REQUIRED height %Length.datatype; #REQUIRED preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet' transform %TransformList.datatype; #IMPLIED
]]>
A.3.21 Style Module
The Style Module defines the Style.class element collection and the Style.attrib attribute collection.
Collection name | Elements in collection |
---|---|
Style.class | style |
Collection name | Attributes in collection |
---|---|
Style.attrib | style, class |
<![%SVG.style.element;[ <!ENTITY % SVG.style.content "( #PCDATA %SVG.style.extra.content; )*"
]]>
<![%SVG.style.attlist;[ <!ATTLIST %SVG.style.qname; xml:space ( preserve ) #FIXED 'preserve' %SVG.id.attrib; %SVG.base.attrib; %SVG.lang.attrib; %SVG.Core.extra.attrib; type %ContentType.datatype; #REQUIRED media %MediaDesc.datatype; #IMPLIED title %Text.datatype; #IMPLIED
]]>
A.3.22 Shape Module
The Shape Module defines the Shape.class element collection.
Collection name | Elements in collection |
---|---|
Shape.class | rect, circle, line, polyline, polygon, ellipse, path |
<![%SVG.path.element;[ <!ENTITY % SVG.path.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.path.extra.content; )*"
]]>
<![%SVG.path.attlist;[ <!ATTLIST %SVG.path.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; d %PathData.datatype; #REQUIRED pathLength %Number.datatype; #IMPLIED transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.rect.element;[ <!ENTITY % SVG.rect.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.rect.extra.content; )*"
]]>
<![%SVG.rect.attlist;[ <!ATTLIST %SVG.rect.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #REQUIRED height %Length.datatype; #REQUIRED rx %Length.datatype; #IMPLIED ry %Length.datatype; #IMPLIED transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.circle.element;[ <!ENTITY % SVG.circle.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.circle.extra.content; )*"
]]>
<![%SVG.circle.attlist;[ <!ATTLIST %SVG.circle.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; cx %Coordinate.datatype; #IMPLIED cy %Coordinate.datatype; #IMPLIED r %Length.datatype; #REQUIRED transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.line.element;[ <!ENTITY % SVG.line.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.line.extra.content; )*"
]]>
<![%SVG.line.attlist;[ <!ATTLIST %SVG.line.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; x1 %Coordinate.datatype; #IMPLIED y1 %Coordinate.datatype; #IMPLIED x2 %Coordinate.datatype; #IMPLIED y2 %Coordinate.datatype; #IMPLIED transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.ellipse.element;[ <!ENTITY % SVG.ellipse.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.ellipse.extra.content; )*"
]]>
<![%SVG.ellipse.attlist;[ <!ATTLIST %SVG.ellipse.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; cx %Coordinate.datatype; #IMPLIED cy %Coordinate.datatype; #IMPLIED rx %Length.datatype; #REQUIRED ry %Length.datatype; #REQUIRED transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.polyline.element;[ <!ENTITY % SVG.polyline.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.polyline.extra.content; )*"
]]>
<![%SVG.polyline.attlist;[ <!ATTLIST %SVG.polyline.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; points %Points.datatype; #REQUIRED transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.polygon.element;[ <!ENTITY % SVG.polygon.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.polygon.extra.content; )*"
]]>
<![%SVG.polygon.attlist;[ <!ATTLIST %SVG.polygon.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; points %Points.datatype; #REQUIRED transform %TransformList.datatype; #IMPLIED
]]>
A.3.23 Text Module
The Text Module defines the Text.class and TextContent.class element collections and the Text.attrib, TextContent.attrib and Font.attrib attribute sets.
Collection name | Elements in collection |
---|---|
Text.class | text, altGlyphDef |
TextContent.class | tspan, tref, textPath, altGlyph |
Collection name | Attributes in collection |
---|---|
Text.attrib | writing-mode |
TextContent.attrib | alignment-baseline, baseline-shift, direction, dominant-baseline, glyph-orientation-horizontal, glyph-orientation-vertical, kerning, letter-spacing, text-anchor, text-decoration, unicode-bidi, word-spacing |
Font.attrib | font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight |
<![%SVG.text.element;[ <!ENTITY % SVG.text.content "( #PCDATA | %SVG.Description.class; | %SVG.Animation.class; %SVG.TextContent.class; %SVG.Hyperlink.class; %SVG.text.extra.content; )*"
]]>
<![%SVG.text.attlist;[ <!ATTLIST %SVG.text.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; x %Coordinates.datatype; #IMPLIED y %Coordinates.datatype; #IMPLIED dx %Lengths.datatype; #IMPLIED dy %Lengths.datatype; #IMPLIED rotate %Numbers.datatype; #IMPLIED textLength %Length.datatype; #IMPLIED lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED transform %TransformList.datatype; #IMPLIED
]]>
<![%SVG.tspan.element;[ <!ENTITY % SVG.tspan.content "( #PCDATA | %SVG.tspan.qname; | %SVG.tref.qname; | %SVG.altGlyph.qname; | %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; | %SVG.Description.class; %SVG.Hyperlink.class; %SVG.tspan.extra.content; )*"
]]>
<![%SVG.tspan.attlist;[ <!ATTLIST %SVG.tspan.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; x %Coordinates.datatype; #IMPLIED y %Coordinates.datatype; #IMPLIED dx %Lengths.datatype; #IMPLIED dy %Lengths.datatype; #IMPLIED rotate %Numbers.datatype; #IMPLIED textLength %Length.datatype; #IMPLIED lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
]]>
<![%SVG.tref.element;[ <!ENTITY % SVG.tref.content "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; | %SVG.Description.class; %SVG.tref.extra.content; )*"
]]>
<![%SVG.tref.attlist;[ <!ATTLIST %SVG.tref.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.XLinkRequired.attrib; %SVG.External.attrib; x %Coordinates.datatype; #IMPLIED y %Coordinates.datatype; #IMPLIED dx %Lengths.datatype; #IMPLIED dy %Lengths.datatype; #IMPLIED rotate %Numbers.datatype; #IMPLIED textLength %Length.datatype; #IMPLIED lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
]]>
<![%SVG.textPath.element;[ <!ENTITY % SVG.textPath.content "( #PCDATA | %SVG.tspan.qname; | %SVG.tref.qname; | %SVG.altGlyph.qname; | %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; | %SVG.Description.class; %SVG.Hyperlink.class; %SVG.textPath.extra.content; )*"
]]>
<![%SVG.textPath.attlist;[ <!ATTLIST %SVG.textPath.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.XLinkRequired.attrib; %SVG.External.attrib; startOffset %Length.datatype; #IMPLIED textLength %Length.datatype; #IMPLIED lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED method ( align | stretch ) #IMPLIED spacing ( auto | exact ) #IMPLIED
]]>
<![%SVG.altGlyph.element;[ <!ENTITY % SVG.altGlyph.content "( #PCDATA %SVG.altGlyph.extra.content; )*"
]]>
<![%SVG.altGlyph.attlist;[ <!ATTLIST %SVG.altGlyph.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.XLink.attrib; %SVG.External.attrib; x %Coordinates.datatype; #IMPLIED y %Coordinates.datatype; #IMPLIED dx %Lengths.datatype; #IMPLIED dy %Lengths.datatype; #IMPLIED glyphRef CDATA #IMPLIED format CDATA #IMPLIED rotate %Numbers.datatype; #IMPLIED
]]>
<![%SVG.altGlyphDef.element;[ <!ENTITY % SVG.altGlyphDef.content "(( %SVG.glyphRef.qname;+ | %SVG.altGlyphItem.qname;+ ) %SVG.altGlyphDef.extra.content; )"
]]>
<![%SVG.altGlyphDef.attlist;[ <!ATTLIST %SVG.altGlyphDef.qname; %SVG.Core.attrib;
]]>
<![%SVG.altGlyphItem.element;[ <!ENTITY % SVG.altGlyphItem.content "( %SVG.glyphRef.qname;+ %SVG.altGlyphItem.extra.content; )"
]]>
<![%SVG.altGlyphItem.attlist;[ <!ATTLIST %SVG.altGlyphItem.qname; %SVG.Core.attrib;
]]>
<![%SVG.glyphRef.element;[
]]><![%SVG.glyphRef.attlist;[ <!ATTLIST %SVG.glyphRef.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.XLink.attrib; x %Number.datatype; #IMPLIED y %Number.datatype; #IMPLIED dx %Number.datatype; #IMPLIED dy %Number.datatype; #IMPLIED glyphRef CDATA #IMPLIED format CDATA #IMPLIED
]]>
A.3.24 Basic Text Module
The Basic Text Module defines the Text.class and TextContent.class element collections and the TextContent.attrib and Font.attrib attribute sets.
Collection name | Elements in collection |
---|---|
Text.class | text |
TextContent.class | (empty) |
Collection name | Attributes in collection |
---|---|
TextContent.attrib | text-anchor |
Font.attrib | font-family, font-size, font-style, font-weight |
<![%SVG.text.element;[ <!ENTITY % SVG.text.content "( #PCDATA | %SVG.Description.class; | %SVG.Animation.class; %SVG.Hyperlink.class; %SVG.text.extra.content; )*"
]]>
<![%SVG.text.attlist;[ <!ATTLIST %SVG.text.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; x %Coordinates.datatype; #IMPLIED y %Coordinates.datatype; #IMPLIED rotate %Numbers.datatype; #IMPLIED transform %TransformList.datatype; #IMPLIED
]]>
A.3.25 Marker Module
The Marker Module defines the Marker.class element collection and the Marker.attrib attribute set.
Collection name | Elements in collection |
---|---|
Marker.class | marker |
Collection name | Attributes in collection |
---|---|
Marker.attrib | marker-start, marker-mid, marker-end |
<![%SVG.marker.element;[ <!ENTITY % SVG.marker.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.marker.extra.content; )*"
]]>
<![%SVG.marker.attlist;[ <!ATTLIST %SVG.marker.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.External.attrib; refX %Coordinate.datatype; #IMPLIED refY %Coordinate.datatype; #IMPLIED markerUnits ( strokeWidth | userSpaceOnUse ) #IMPLIED markerWidth %Length.datatype; #IMPLIED markerHeight %Length.datatype; #IMPLIED orient CDATA #IMPLIED viewBox %ViewBoxSpec.datatype; #IMPLIED preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
]]>
A.3.26 Color Profile Module
The Color Profile Module defines the ColorProfile.class element collection.
Collection name | Elements in collection |
---|---|
ColorProfile.class | color-profile |
<![%SVG.color-profile.element;[ <!ENTITY % SVG.color-profile.content "( %SVG.Description.class; %SVG.color-profile.extra.content; )*"
]]>
<![%SVG.color-profile.attlist;[ <!ATTLIST %SVG.color-profile.qname; %SVG.Core.attrib; %SVG.XLink.attrib; local CDATA #IMPLIED name CDATA #REQUIRED rendering-intent ( auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric ) 'auto'
]]>
A.3.27 Gradient Module
The Gradient Module defines the Gradient.class element collection and the Gradient.attrib attribute set.
Collection name | Elements in collection |
---|---|
Gradient.class | linearGradient, radialGradient |
Collection name | Attributes in collection |
---|---|
Gradient.attrib | stop-color, stop-opacity |
<![%SVG.linearGradient.element;[ <!ENTITY % SVG.linearGradient.content "( %SVG.Description.class; | %SVG.stop.qname; | %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateTransform.qname; %SVG.linearGradient.extra.content; )*"
]]>
<![%SVG.linearGradient.attlist;[ <!ATTLIST %SVG.linearGradient.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.XLink.attrib; %SVG.External.attrib; x1 %Coordinate.datatype; #IMPLIED y1 %Coordinate.datatype; #IMPLIED x2 %Coordinate.datatype; #IMPLIED y2 %Coordinate.datatype; #IMPLIED gradientUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED gradientTransform %TransformList.datatype; #IMPLIED spreadMethod ( pad | reflect | repeat ) #IMPLIED
]]>
<![%SVG.radialGradient.element;[ <!ENTITY % SVG.radialGradient.content "( %SVG.Description.class; | %SVG.stop.qname; | %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateTransform.qname; %SVG.radialGradient.extra.content; )*"
]]>
<![%SVG.radialGradient.attlist;[ <!ATTLIST %SVG.radialGradient.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.XLink.attrib; %SVG.External.attrib; cx %Coordinate.datatype; #IMPLIED cy %Coordinate.datatype; #IMPLIED r %Length.datatype; #IMPLIED fx %Coordinate.datatype; #IMPLIED fy %Coordinate.datatype; #IMPLIED gradientUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED gradientTransform %TransformList.datatype; #IMPLIED spreadMethod ( pad | reflect | repeat ) #IMPLIED
]]>
<![%SVG.stop.element;[ <!ENTITY % SVG.stop.content "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; %SVG.stop.extra.content; )*"
]]>
<![%SVG.stop.attlist;[ <!ATTLIST %SVG.stop.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; offset %NumberOrPercentage.datatype; #REQUIRED
]]>
A.3.28 Pattern Module
The Pattern Module defines the Pattern.class element collection.
Collection name | Elements in collection |
---|---|
Pattern.class | pattern |
<![%SVG.pattern.element;[ <!ENTITY % SVG.pattern.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.pattern.extra.content; )*"
]]>
<![%SVG.pattern.attlist;[ <!ATTLIST %SVG.pattern.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.XLink.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #IMPLIED height %Length.datatype; #IMPLIED patternUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED patternContentUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED patternTransform %TransformList.datatype; #IMPLIED viewBox %ViewBoxSpec.datatype; #IMPLIED preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
]]>
A.3.29 Clip Module
The Clip Module defines the Clip.class element collection and the Clip.attrib attribute collection.
Collection name | Elements in collection |
---|---|
Clip.class | clipPath |
Collection name | Attributes in collection |
---|---|
Clip.attrib | clip-path, clip-rule |
<![%SVG.clipPath.element;[ <!ENTITY % SVG.clipPath.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Use.class; %SVG.Shape.class; | %SVG.text.qname; %SVG.clipPath.extra.content; )*"
]]>
<![%SVG.clipPath.attlist;[ <!ATTLIST %SVG.clipPath.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.External.attrib; transform %TransformList.datatype; #IMPLIED clipPathUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
]]>
A.3.30 Basic Clip Module
The Basic Clip Module defines the Clip.class element collection and the Clip.attrib attribute collection.
Collection name | Elements in collection |
---|---|
Clip.class | clipPath |
Collection name | Attributes in collection |
---|---|
Clip.attrib | clip-path, clip-rule |
<![%SVG.clipPath.element;[ <!ENTITY % SVG.clipPath.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Use.class; %SVG.Shape.class; | %SVG.text.qname; %SVG.clipPath.extra.content; )*"
]]>
<![%SVG.clipPath.attlist;[ <!ATTLIST %SVG.clipPath.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.External.attrib; transform %TransformList.datatype; #IMPLIED clipPathUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
]]>
A.3.31 Mask Module
The Mask Module defines the Mask.class element collection and the Mask.attrib attribute collection.
Collection name | Elements in collection |
---|---|
Mask.class | mask |
Collection name | Attributes in collection |
---|---|
Mask.attrib | mask |
<![%SVG.mask.element;[ <!ENTITY % SVG.mask.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.mask.extra.content; )*"
]]>
<![%SVG.mask.attlist;[ <!ATTLIST %SVG.mask.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #IMPLIED height %Length.datatype; #IMPLIED maskUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED maskContentUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
]]>
A.3.32 Filter Module
The Filter Module defines the Filter.class and FilterPrimitive.class element collections and the Filter.attrib, FilterColor.attrib, FilterPrimitive.attrib and FilterPrimitiveWithIn.attrib attribute collections.
Collection name | Elements in collection |
---|---|
Filter.class | filter |
FilterPrimitive.class | feBlend, feFlood, feColorMatrix, feComponentTransfer, feComposite, feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feGaussianBlur, feImage, feMerge, feMorphology, feOffset, feSpecularLighting, feTile, feTurbulence |
Collection name | Attributes in collection |
---|---|
Filter.attrib | filter |
FilterColor.attrib | color-interpolation-filters |
FilterPrimitive.attrib | x, y, width, height, result |
FilterPrimitiveWithIn.attrib | FilterPrimitive.attrib, in |
<![%SVG.filter.element;[ <!ENTITY % SVG.filter.content "( %SVG.Description.class; | %SVG.animate.qname; | %SVG.set.qname; %SVG.FilterPrimitive.class; %SVG.filter.extra.content; )*"
]]>
<![%SVG.filter.attlist;[ <!ATTLIST %SVG.filter.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.XLink.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #IMPLIED height %Length.datatype; #IMPLIED filterRes %NumberOptionalNumber.datatype; #IMPLIED filterUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED primitiveUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
]]>
<![%SVG.feBlend.element;[ <!ENTITY % SVG.feBlend.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feBlend.extra.content; )*"
]]>
<![%SVG.feBlend.attlist;[ <!ATTLIST %SVG.feBlend.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; in2 CDATA #REQUIRED mode ( normal | multiply | screen | darken | lighten ) 'normal'
]]>
<![%SVG.feColorMatrix.element;[ <!ENTITY % SVG.feColorMatrix.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feColorMatrix.extra.content; )*"
]]>
<![%SVG.feColorMatrix.attlist;[ <!ATTLIST %SVG.feColorMatrix.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; type ( matrix | saturate | hueRotate | luminanceToAlpha ) 'matrix' values CDATA #IMPLIED
]]>
<![%SVG.feComponentTransfer.element;[ <!ENTITY % SVG.feComponentTransfer.content "( %SVG.feFuncR.qname;?, %SVG.feFuncG.qname;?, %SVG.feFuncB.qname;?, %SVG.feFuncA.qname;? %SVG.feComponentTransfer.extra.content; )"
]]>
<![%SVG.feComponentTransfer.attlist;[ <!ATTLIST %SVG.feComponentTransfer.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib;
]]>
<![%SVG.feComposite.element;[ <!ENTITY % SVG.feComposite.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feComposite.extra.content; )*"
]]>
<![%SVG.feComposite.attlist;[ <!ATTLIST %SVG.feComposite.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; in2 CDATA #REQUIRED operator ( over | in | out | atop | xor | arithmetic ) 'over' k1 %Number.datatype; #IMPLIED k2 %Number.datatype; #IMPLIED k3 %Number.datatype; #IMPLIED k4 %Number.datatype; #IMPLIED
]]>
<![%SVG.feConvolveMatrix.element;[ <!ENTITY % SVG.feConvolveMatrix.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feConvolveMatrix.extra.content; )*"
]]>
<![%SVG.feConvolveMatrix.attlist;[ <!ATTLIST %SVG.feConvolveMatrix.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; order %NumberOptionalNumber.datatype; #IMPLIED kernelMatrix CDATA #REQUIRED divisor %Number.datatype; #IMPLIED bias %Number.datatype; #IMPLIED targetX %Integer.datatype; #IMPLIED targetY %Integer.datatype; #IMPLIED edgeMode ( duplicate | wrap | none ) 'duplicate' kernelUnitLength %NumberOptionalNumber.datatype; #IMPLIED preserveAlpha %Boolean.datatype; #IMPLIED
]]>
<![%SVG.feDiffuseLighting.element;[ <!ENTITY % SVG.feDiffuseLighting.content "(( %SVG.feDistantLight.qname; | %SVG.fePointLight.qname; | %SVG.feSpotLight.qname; ), ( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; %SVG.feDiffuseLighting.extra.content; )*)"
]]>
<![%SVG.feDiffuseLighting.attlist;[ <!ATTLIST %SVG.feDiffuseLighting.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; surfaceScale %Number.datatype; #IMPLIED diffuseConstant %Number.datatype; #IMPLIED kernelUnitLength %NumberOptionalNumber.datatype; #IMPLIED
]]>
<![%SVG.feDisplacementMap.element;[ <!ENTITY % SVG.feDisplacementMap.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feDisplacementMap.extra.content; )*"
]]>
<![%SVG.feDisplacementMap.attlist;[ <!ATTLIST %SVG.feDisplacementMap.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; in2 CDATA #REQUIRED scale %Number.datatype; #IMPLIED xChannelSelector ( R | G | B | A ) 'A' yChannelSelector ( R | G | B | A ) 'A'
]]>
<![%SVG.feFlood.element;[ <!ENTITY % SVG.feFlood.content "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; %SVG.feFlood.extra.content; )*"
]]>
<![%SVG.feFlood.attlist;[ <!ATTLIST %SVG.feFlood.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitive.attrib;
]]>
<![%SVG.feGaussianBlur.element;[ <!ENTITY % SVG.feGaussianBlur.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feGaussianBlur.extra.content; )*"
]]>
<![%SVG.feGaussianBlur.attlist;[ <!ATTLIST %SVG.feGaussianBlur.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; stdDeviation %NumberOptionalNumber.datatype; #IMPLIED
]]>
<![%SVG.feImage.element;[ <!ENTITY % SVG.feImage.content "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateTransform.qname; %SVG.feImage.extra.content; )*"
]]>
<![%SVG.feImage.attlist;[ <!ATTLIST %SVG.feImage.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitive.attrib; %SVG.XLinkEmbed.attrib; %SVG.External.attrib; preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
]]>
<![%SVG.feMerge.element;[ <!ENTITY % SVG.feMerge.content "( %SVG.feMergeNode.qname; %SVG.feMerge.extra.content; )*"
]]>
<![%SVG.feMerge.attlist;[ <!ATTLIST %SVG.feMerge.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitive.attrib;
]]>
<![%SVG.feMergeNode.element;[ <!ENTITY % SVG.feMergeNode.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feMergeNode.extra.content; )*"
]]>
<![%SVG.feMergeNode.attlist;[ <!ATTLIST %SVG.feMergeNode.qname; %SVG.Core.attrib; in CDATA #IMPLIED
]]>
<![%SVG.feMorphology.element;[ <!ENTITY % SVG.feMorphology.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feMorphology.extra.content; )*"
]]>
<![%SVG.feMorphology.attlist;[ <!ATTLIST %SVG.feMorphology.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; operator ( erode | dilate ) 'erode' radius %NumberOptionalNumber.datatype; #IMPLIED
]]>
<![%SVG.feOffset.element;[ <!ENTITY % SVG.feOffset.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feOffset.extra.content; )*"
]]>
<![%SVG.feOffset.attlist;[ <!ATTLIST %SVG.feOffset.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; dx %Number.datatype; #IMPLIED dy %Number.datatype; #IMPLIED
]]>
<![%SVG.feSpecularLighting.element;[ <!ENTITY % SVG.feSpecularLighting.content "(( %SVG.feDistantLight.qname; | %SVG.fePointLight.qname; | %SVG.feSpotLight.qname; ), ( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; %SVG.feSpecularLighting.extra.content; )*)"
]]>
<![%SVG.feSpecularLighting.attlist;[ <!ATTLIST %SVG.feSpecularLighting.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; surfaceScale %Number.datatype; #IMPLIED specularConstant %Number.datatype; #IMPLIED specularExponent %Number.datatype; #IMPLIED kernelUnitLength %NumberOptionalNumber.datatype; #IMPLIED
]]>
<![%SVG.feTile.element;[ <!ENTITY % SVG.feTile.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feTile.extra.content; )*"
]]>
<![%SVG.feTile.attlist;[ <!ATTLIST %SVG.feTile.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib;
]]>
<![%SVG.feTurbulence.element;[ <!ENTITY % SVG.feTurbulence.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feTurbulence.extra.content; )*"
]]>
<![%SVG.feTurbulence.attlist;[ <!ATTLIST %SVG.feTurbulence.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitive.attrib; baseFrequency %NumberOptionalNumber.datatype; #IMPLIED numOctaves %Integer.datatype; #IMPLIED seed %Number.datatype; #IMPLIED stitchTiles ( stitch | noStitch ) 'noStitch' type ( fractalNoise | turbulence ) 'turbulence'
]]>
<![%SVG.feDistantLight.element;[ <!ENTITY % SVG.feDistantLight.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feDistantLight.extra.content; )*"
]]>
<![%SVG.feDistantLight.attlist;[ <!ATTLIST %SVG.feDistantLight.qname; %SVG.Core.attrib; azimuth %Number.datatype; #IMPLIED elevation %Number.datatype; #IMPLIED
]]>
<![%SVG.fePointLight.element;[ <!ENTITY % SVG.fePointLight.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.fePointLight.extra.content; )*"
]]>
<![%SVG.fePointLight.attlist;[ <!ATTLIST %SVG.fePointLight.qname; %SVG.Core.attrib; x %Number.datatype; #IMPLIED y %Number.datatype; #IMPLIED z %Number.datatype; #IMPLIED
]]>
<![%SVG.feSpotLight.element;[ <!ENTITY % SVG.feSpotLight.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feSpotLight.extra.content; )*"
]]>
<![%SVG.feSpotLight.attlist;[ <!ATTLIST %SVG.feSpotLight.qname; %SVG.Core.attrib; x %Number.datatype; #IMPLIED y %Number.datatype; #IMPLIED z %Number.datatype; #IMPLIED pointsAtX %Number.datatype; #IMPLIED pointsAtY %Number.datatype; #IMPLIED pointsAtZ %Number.datatype; #IMPLIED specularExponent %Number.datatype; #IMPLIED limitingConeAngle %Number.datatype; #IMPLIED
]]>
<![%SVG.feFuncR.element;[ <!ENTITY % SVG.feFuncR.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feFuncR.extra.content; )*"
]]>
<![%SVG.feFuncR.attlist;[ <!ATTLIST %SVG.feFuncR.qname; %SVG.Core.attrib; type ( identity | table | discrete | linear | gamma ) #REQUIRED tableValues CDATA #IMPLIED slope %Number.datatype; #IMPLIED intercept %Number.datatype; #IMPLIED amplitude %Number.datatype; #IMPLIED exponent %Number.datatype; #IMPLIED offset %Number.datatype; #IMPLIED
]]>
<![%SVG.feFuncG.element;[ <!ENTITY % SVG.feFuncG.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feFuncG.extra.content; )*"
]]>
<![%SVG.feFuncG.attlist;[ <!ATTLIST %SVG.feFuncG.qname; %SVG.Core.attrib; type ( identity | table | discrete | linear | gamma ) #REQUIRED tableValues CDATA #IMPLIED slope %Number.datatype; #IMPLIED intercept %Number.datatype; #IMPLIED amplitude %Number.datatype; #IMPLIED exponent %Number.datatype; #IMPLIED offset %Number.datatype; #IMPLIED
]]>
<![%SVG.feFuncB.element;[ <!ENTITY % SVG.feFuncB.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feFuncB.extra.content; )*"
]]>
<![%SVG.feFuncB.attlist;[ <!ATTLIST %SVG.feFuncB.qname; %SVG.Core.attrib; type ( identity | table | discrete | linear | gamma ) #REQUIRED tableValues CDATA #IMPLIED slope %Number.datatype; #IMPLIED intercept %Number.datatype; #IMPLIED amplitude %Number.datatype; #IMPLIED exponent %Number.datatype; #IMPLIED offset %Number.datatype; #IMPLIED
]]>
<![%SVG.feFuncA.element;[ <!ENTITY % SVG.feFuncA.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feFuncA.extra.content; )*"
]]>
<![%SVG.feFuncA.attlist;[ <!ATTLIST %SVG.feFuncA.qname; %SVG.Core.attrib; type ( identity | table | discrete | linear | gamma ) #REQUIRED tableValues CDATA #IMPLIED slope %Number.datatype; #IMPLIED intercept %Number.datatype; #IMPLIED amplitude %Number.datatype; #IMPLIED exponent %Number.datatype; #IMPLIED offset %Number.datatype; #IMPLIED
]]>
A.3.33 Basic Filter Module
The Basic Filter Module defines the Filter.class and FilterPrimitive.class element collections and the Filter.attrib, FilterColor.attrib, FilterPrimitive.attrib and FilterPrimitiveWithIn.attrib attribute collections.
Collection name | Elements in collection |
---|---|
Filter.class | filter |
FilterPrimitive.class | feBlend, feFlood, feColorMatrix, feComponentTransfer, feComposite, feGaussianBlur, feImage, feMerge, feOffset, feTile |
Collection name | Attributes in collection |
---|---|
Filter.attrib | filter |
FilterColor.attrib | color-interpolation-filters |
FilterPrimitive.attrib | x, y, width, height, result |
FilterPrimitiveWithIn.attrib | FilterPrimitive.attrib, in |
<![%SVG.filter.element;[ <!ENTITY % SVG.filter.content "( %SVG.Description.class; | %SVG.animate.qname; | %SVG.set.qname; %SVG.FilterPrimitive.class; %SVG.filter.extra.content; )*"
]]>
<![%SVG.filter.attlist;[ <!ATTLIST %SVG.filter.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.XLink.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #IMPLIED height %Length.datatype; #IMPLIED filterRes %NumberOptionalNumber.datatype; #IMPLIED filterUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED primitiveUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
]]>
<![%SVG.feBlend.element;[ <!ENTITY % SVG.feBlend.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feBlend.extra.content; )*"
]]>
<![%SVG.feBlend.attlist;[ <!ATTLIST %SVG.feBlend.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; in2 CDATA #REQUIRED mode ( normal | multiply | screen | darken | lighten ) 'normal'
]]>
<![%SVG.feColorMatrix.element;[ <!ENTITY % SVG.feColorMatrix.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feColorMatrix.extra.content; )*"
]]>
<![%SVG.feColorMatrix.attlist;[ <!ATTLIST %SVG.feColorMatrix.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; type ( matrix | saturate | hueRotate | luminanceToAlpha ) 'matrix' values CDATA #IMPLIED
]]>
<![%SVG.feComponentTransfer.element;[ <!ENTITY % SVG.feComponentTransfer.content "( %SVG.feFuncR.qname;?, %SVG.feFuncG.qname;?, %SVG.feFuncB.qname;?, %SVG.feFuncA.qname;? %SVG.feComponentTransfer.extra.content; )"
]]>
<![%SVG.feComponentTransfer.attlist;[ <!ATTLIST %SVG.feComponentTransfer.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib;
]]>
<![%SVG.feComposite.element;[ <!ENTITY % SVG.feComposite.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feComposite.extra.content; )*"
]]>
<![%SVG.feComposite.attlist;[ <!ATTLIST %SVG.feComposite.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitiveWithIn.attrib; in2 CDATA #REQUIRED operator ( over | in | out | atop | xor | arithmetic ) 'over' k1 %Number.datatype; #IMPLIED k2 %Number.datatype; #IMPLIED k3 %Number.datatype; #IMPLIED k4 %Number.datatype; #IMPLIED
]]>
<![%SVG.feFlood.element;[ <!ENTITY % SVG.feFlood.content "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; %SVG.feFlood.extra.content; )*"
]]>
<![%SVG.feFlood.attlist;[ <!ATTLIST %SVG.feFlood.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Color.attrib; %SVG.FilterColor.attrib; %SVG.FilterPrimitive.attrib; flood-color %SVGColor.datatype; #IMPLIED flood-opacity %OpacityValue.datatype; #IMPLIED
]]>
<![%SVG.feGaussianBlur.element;[ <!ENTITY % SVG.feGaussianBlur.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feGaussianBlur.extra.content; )*"
]]>
<![%SVG.feGaussianBlur.attlist;[ <!ATTLIST %SVG.feGaussianBlur.qname; %SVG.Core.attrib; %SVG.FilterColor.attrib; %SVG.FilterPrimitiveWithIn.attrib; stdDeviation %NumberOptionalNumber.datatype; #IMPLIED
]]>
<![%SVG.feImage.element;[ <!ENTITY % SVG.feImage.content "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateTransform.qname; %SVG.feImage.extra.content; )*"
]]>
<![%SVG.feImage.attlist;[ <!ATTLIST %SVG.feImage.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.FilterPrimitive.attrib; %SVG.XLinkEmbed.attrib; %SVG.External.attrib; preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
]]>
<![%SVG.feMerge.element;[ <!ENTITY % SVG.feMerge.content "( %SVG.feMergeNode.qname; %SVG.feMerge.extra.content; )*"
]]>
<![%SVG.feMerge.attlist;[ <!ATTLIST %SVG.feMerge.qname; %SVG.Core.attrib; %SVG.FilterColor.attrib; %SVG.FilterPrimitive.attrib;
]]>
<![%SVG.feMergeNode.element;[ <!ENTITY % SVG.feMergeNode.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feMergeNode.extra.content; )*"
]]>
<![%SVG.feMergeNode.attlist;[ <!ATTLIST %SVG.feMergeNode.qname; %SVG.Core.attrib; in CDATA #IMPLIED
]]>
<![%SVG.feOffset.element;[ <!ENTITY % SVG.feOffset.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feOffset.extra.content; )*"
]]>
<![%SVG.feOffset.attlist;[ <!ATTLIST %SVG.feOffset.qname; %SVG.Core.attrib; %SVG.FilterColor.attrib; %SVG.FilterPrimitiveWithIn.attrib; dx %Number.datatype; #IMPLIED dy %Number.datatype; #IMPLIED
]]>
<![%SVG.feTile.element;[ <!ENTITY % SVG.feTile.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feTile.extra.content; )*"
]]>
<![%SVG.feTile.attlist;[ <!ATTLIST %SVG.feTile.qname; %SVG.Core.attrib; %SVG.FilterColor.attrib; %SVG.FilterPrimitiveWithIn.attrib;
]]>
<![%SVG.feFuncR.element;[ <!ENTITY % SVG.feFuncR.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feFuncR.extra.content; )*"
]]>
<![%SVG.feFuncR.attlist;[ <!ATTLIST %SVG.feFuncR.qname; %SVG.Core.attrib; type ( identity | table | discrete | linear | gamma ) #REQUIRED tableValues CDATA #IMPLIED slope %Number.datatype; #IMPLIED intercept %Number.datatype; #IMPLIED amplitude %Number.datatype; #IMPLIED exponent %Number.datatype; #IMPLIED offset %Number.datatype; #IMPLIED
]]>
<![%SVG.feFuncG.element;[ <!ENTITY % SVG.feFuncG.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feFuncG.extra.content; )*"
]]>
<![%SVG.feFuncG.attlist;[ <!ATTLIST %SVG.feFuncG.qname; %SVG.Core.attrib; type ( identity | table | discrete | linear | gamma ) #REQUIRED tableValues CDATA #IMPLIED slope %Number.datatype; #IMPLIED intercept %Number.datatype; #IMPLIED amplitude %Number.datatype; #IMPLIED exponent %Number.datatype; #IMPLIED offset %Number.datatype; #IMPLIED
]]>
<![%SVG.feFuncB.element;[ <!ENTITY % SVG.feFuncB.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feFuncB.extra.content; )*"
]]>
<![%SVG.feFuncB.attlist;[ <!ATTLIST %SVG.feFuncB.qname; %SVG.Core.attrib; type ( identity | table | discrete | linear | gamma ) #REQUIRED tableValues CDATA #IMPLIED slope %Number.datatype; #IMPLIED intercept %Number.datatype; #IMPLIED amplitude %Number.datatype; #IMPLIED exponent %Number.datatype; #IMPLIED offset %Number.datatype; #IMPLIED
]]>
<![%SVG.feFuncA.element;[ <!ENTITY % SVG.feFuncA.content "( %SVG.animate.qname; | %SVG.set.qname; %SVG.feFuncA.extra.content; )*"
]]>
<![%SVG.feFuncA.attlist;[ <!ATTLIST %SVG.feFuncA.qname; %SVG.Core.attrib; type ( identity | table | discrete | linear | gamma ) #REQUIRED tableValues CDATA #IMPLIED slope %Number.datatype; #IMPLIED intercept %Number.datatype; #IMPLIED amplitude %Number.datatype; #IMPLIED exponent %Number.datatype; #IMPLIED offset %Number.datatype; #IMPLIED
]]>
A.3.34 Cursor Module
The Cursor Module defines the Cursor.class element collection and the Cursor.attrib attribute collection.
Collection name | Elements in collection |
---|---|
Cursor.class | cursor |
Collection name | Elements in collection |
---|---|
Cursor.attrib | cursor |
<![%SVG.cursor.element;[ <!ENTITY % SVG.cursor.content "( %SVG.Description.class; %SVG.cursor.extra.content; )*"
]]>
<![%SVG.cursor.attlist;[ <!ATTLIST %SVG.cursor.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.XLinkRequired.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED
]]>
A.3.35 Hyperlinking Module
The Hyperlinking Module defines the Hyperlink.class element collection.
Collection name | Elements in collection |
---|---|
Hyperlink.class | a |
<![%SVG.a.element;[ <!ENTITY % SVG.a.content "( #PCDATA | %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.a.extra.content; )*"
]]>
<![%SVG.a.attlist;[ <!ATTLIST %SVG.a.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.XLinkReplace.attrib; %SVG.External.attrib; transform %TransformList.datatype; #IMPLIED target %LinkTarget.datatype; #IMPLIED
]]>
A.3.36 View Module
The View Module defines the View.class element collection.
Collection name | Elements in collection |
---|---|
View.class | view |
<![%SVG.view.element;[ <!ENTITY % SVG.view.content "( %SVG.Description.class; %SVG.view.extra.content; )*"
]]>
<![%SVG.view.attlist;[ <!ATTLIST %SVG.view.qname; %SVG.Core.attrib; %SVG.External.attrib; viewBox %ViewBoxSpec.datatype; #IMPLIED preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet' zoomAndPan ( disable | magnify ) 'magnify' viewTarget CDATA #IMPLIED
]]>
A.3.37 Scripting Module
The Script Module defines the Script.class element collection.
Collection name | Elements in collection |
---|---|
Script.class | script |
<![%SVG.script.element;[ <!ENTITY % SVG.script.content "( #PCDATA %SVG.script.extra.content; )*"
]]>
<![%SVG.script.attlist;[ <!ATTLIST %SVG.script.qname; %SVG.Core.attrib; %SVG.XLink.attrib; %SVG.External.attrib; type %ContentType.datatype; #REQUIRED
]]>
A.3.38 Animation Module
The Animation Module defines the Animation.class element collection and the Animation.attrib, AnimationAttribute.attrib, AnimationTiming.attrib, AnimationValue.attrib and AnimationAddtion.attrib attribute collections.
Collection name | Elements in collection |
---|---|
Animation.class | animate, animateColor, animateTransform, animateMotion, set |
Collection name | Attributes in collection |
---|---|
Animation.attrib | XLink.attrib |
AnimationAttribute.attrib | attributeName, attributeType |
AnimationTiming.attrib | begin, dur, end, min, max, restart, repeatCount, repeatDur, fill |
AnimationValue.attrib | calcMode, values, keyTimes, keySplines, from, to, by |
AnimationAddition.attrib | additive, accumulate |
<![%SVG.animate.element;[ <!ENTITY % SVG.animate.content "( %SVG.Description.class; %SVG.animate.extra.content; )*"
]]>
<![%SVG.animate.attlist;[ <!ATTLIST %SVG.animate.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.AnimationEvents.attrib; %SVG.External.attrib; %SVG.Animation.attrib; %SVG.AnimationAttribute.attrib; %SVG.AnimationTiming.attrib; %SVG.AnimationValue.attrib; %SVG.AnimationAddtion.attrib;
]]>
<![%SVG.set.element;[ <!ENTITY % SVG.set.content "( %SVG.Description.class; %SVG.set.extra.content; )*"
]]>
<![%SVG.set.attlist;[ <!ATTLIST %SVG.set.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.AnimationEvents.attrib; %SVG.External.attrib; %SVG.Animation.attrib; %SVG.AnimationAttribute.attrib; %SVG.AnimationTiming.attrib; to CDATA #IMPLIED
]]>
<![%SVG.animateMotion.element;[ <!ENTITY % SVG.animateMotion.content "( ( %SVG.mpath.qname;, ( %SVG.Description.class; %SVG.animateMotion.extra.content; )* ) | ( ( %SVG.Description.class; %SVG.animateMotion.extra.content; )+, %SVG.mpath.qname;, ( ( %SVG.Description.class; %SVG.animateMotion.extra.content; )* )? ) )"
]]>
<![%SVG.animateMotion.attlist;[ <!ATTLIST %SVG.animateMotion.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.AnimationEvents.attrib; %SVG.External.attrib; %SVG.Animation.attrib; %SVG.AnimationTiming.attrib; %SVG.AnimationAddtion.attrib; calcMode ( discrete | linear | paced | spline ) 'paced' values CDATA #IMPLIED keyTimes CDATA #IMPLIED keySplines CDATA #IMPLIED from CDATA #IMPLIED to CDATA #IMPLIED by CDATA #IMPLIED path CDATA #IMPLIED keyPoints CDATA #IMPLIED rotate CDATA #IMPLIED origin CDATA #IMPLIED
]]>
<![%SVG.animateColor.element;[ <!ENTITY % SVG.animateColor.content "( %SVG.Description.class; %SVG.animateColor.extra.content; )*"
]]>
<![%SVG.animateColor.attlist;[ <!ATTLIST %SVG.animateColor.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.AnimationEvents.attrib; %SVG.External.attrib; %SVG.Animation.attrib; %SVG.AnimationAttribute.attrib; %SVG.AnimationTiming.attrib; %SVG.AnimationValue.attrib; %SVG.AnimationAddtion.attrib;
]]>
<![%SVG.animateTransform.element;[ <!ENTITY % SVG.animateTransform.content "( %SVG.Description.class; %SVG.animateTransform.extra.content; )*"
]]>
<![%SVG.animateTransform.attlist;[ <!ATTLIST %SVG.animateTransform.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.AnimationEvents.attrib; %SVG.External.attrib; %SVG.Animation.attrib; %SVG.AnimationAttribute.attrib; %SVG.AnimationTiming.attrib; %SVG.AnimationValue.attrib; %SVG.AnimationAddtion.attrib; type ( translate | scale | rotate | skewX | skewY ) 'translate'
]]>
<![%SVG.mpath.element;[ <!ENTITY % SVG.mpath.content "( %SVG.Description.class; %SVG.mpath.extra.content; )*"
]]>
<![%SVG.mpath.attlist;[ <!ATTLIST %SVG.mpath.qname; %SVG.Core.attrib; %SVG.XLinkRequired.attrib; %SVG.External.attrib;
]]>
A.3.39 Font Module
The Font Module defines the Font.class element collection.
Collection name | Elements in collection |
---|---|
Font.class | font, font-face |
<![%SVG.font.element;[ <!ENTITY % SVG.font.content "( %SVG.Description.class; | %SVG.font-face.qname; | %SVG.missing-glyph.qname; | %SVG.glyph.qname; | %SVG.hkern.qname; | %SVG.vkern.qname; %SVG.font.extra.content; )*"
]]>
<![%SVG.font.attlist;[ <!ATTLIST %SVG.font.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.External.attrib; horiz-origin-x %Number.datatype; #IMPLIED horiz-origin-y %Number.datatype; #IMPLIED horiz-adv-x %Number.datatype; #REQUIRED vert-origin-x %Number.datatype; #IMPLIED vert-origin-y %Number.datatype; #IMPLIED vert-adv-y %Number.datatype; #IMPLIED
]]>
<![%SVG.font-face.element;[ <!ENTITY % SVG.font-face.content "( ( %SVG.font-face-src.qname;, ( %SVG.Description.class; %SVG.font-face.extra.content; )* ) | ( ( %SVG.Description.class; %SVG.font-face.extra.content; )+, %SVG.font-face-src.qname;, ( ( %SVG.Description.class; %SVG.font-face.extra.content; )* )? ) )"
]]>
<![%SVG.font-face.attlist;[ <!ATTLIST %SVG.font-face.qname; %SVG.Core.attrib; font-family CDATA #IMPLIED font-style CDATA #IMPLIED font-variant CDATA #IMPLIED font-weight CDATA #IMPLIED font-stretch CDATA #IMPLIED font-size CDATA #IMPLIED unicode-range CDATA #IMPLIED units-per-em %Number.datatype; #IMPLIED panose-1 CDATA #IMPLIED stemv %Number.datatype; #IMPLIED stemh %Number.datatype; #IMPLIED slope %Number.datatype; #IMPLIED cap-height %Number.datatype; #IMPLIED x-height %Number.datatype; #IMPLIED accent-height %Number.datatype; #IMPLIED ascent %Number.datatype; #IMPLIED descent %Number.datatype; #IMPLIED widths CDATA #IMPLIED bbox CDATA #IMPLIED ideographic %Number.datatype; #IMPLIED alphabetic %Number.datatype; #IMPLIED mathematical %Number.datatype; #IMPLIED hanging %Number.datatype; #IMPLIED v-ideographic %Number.datatype; #IMPLIED v-alphabetic %Number.datatype; #IMPLIED v-mathematical %Number.datatype; #IMPLIED v-hanging %Number.datatype; #IMPLIED underline-position %Number.datatype; #IMPLIED underline-thickness %Number.datatype; #IMPLIED strikethrough-position %Number.datatype; #IMPLIED strikethrough-thickness %Number.datatype; #IMPLIED overline-position %Number.datatype; #IMPLIED overline-thickness %Number.datatype; #IMPLIED
]]>
<![%SVG.glyph.element;[ <!ENTITY % SVG.glyph.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.glyph.extra.content; )*"
]]>
<![%SVG.glyph.attlist;[ <!ATTLIST %SVG.glyph.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; unicode CDATA #IMPLIED glyph-name CDATA #IMPLIED d %PathData.datatype; #IMPLIED orientation CDATA #IMPLIED arabic-form CDATA #IMPLIED lang %LanguageCodes.datatype; #IMPLIED horiz-adv-x %Number.datatype; #IMPLIED vert-origin-x %Number.datatype; #IMPLIED vert-origin-y %Number.datatype; #IMPLIED vert-adv-y %Number.datatype; #IMPLIED
]]>
<![%SVG.missing-glyph.element;[ <!ENTITY % SVG.missing-glyph.content "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.ColorProfile.class; %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class; %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class; %SVG.Font.class; %SVG.Extensibility.class; %SVG.missing-glyph.extra.content; )*"
]]>
<![%SVG.missing-glyph.attlist;[ <!ATTLIST %SVG.missing-glyph.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; d %PathData.datatype; #IMPLIED horiz-adv-x %Number.datatype; #IMPLIED vert-origin-x %Number.datatype; #IMPLIED vert-origin-y %Number.datatype; #IMPLIED vert-adv-y %Number.datatype; #IMPLIED
]]>
<![%SVG.hkern.element;[
]]><![%SVG.hkern.attlist;[ <!ATTLIST %SVG.hkern.qname; %SVG.Core.attrib; u1 CDATA #IMPLIED g1 CDATA #IMPLIED u2 CDATA #IMPLIED g2 CDATA #IMPLIED k %Number.datatype; #REQUIRED
]]>
<![%SVG.vkern.element;[
]]><![%SVG.vkern.attlist;[ <!ATTLIST %SVG.vkern.qname; %SVG.Core.attrib; u1 CDATA #IMPLIED g1 CDATA #IMPLIED u2 CDATA #IMPLIED g2 CDATA #IMPLIED k %Number.datatype; #REQUIRED
]]>
<![%SVG.font-face-src.element;[ <!ENTITY % SVG.font-face-src.content "( %SVG.font-face-uri.qname; | %SVG.font-face-name.qname; %SVG.font-face-src.extra.content; )+"
]]>
<![%SVG.font-face-src.attlist;[ <!ATTLIST %SVG.font-face-src.qname; %SVG.Core.attrib;
]]>
<![%SVG.font-face-uri.element;[ <!ENTITY % SVG.font-face-uri.content "( %SVG.font-face-format.qname; %SVG.font-face-uri.extra.content; )*"
]]>
<![%SVG.font-face-uri.attlist;[ <!ATTLIST %SVG.font-face-uri.qname; %SVG.Core.attrib; %SVG.XLinkRequired.attrib;
]]>
<![%SVG.font-face-format.element;[
]]><![%SVG.font-face-format.attlist;[ <!ATTLIST %SVG.font-face-format.qname; %SVG.Core.attrib; string CDATA #IMPLIED
]]>
<![%SVG.font-face-name.element;[
]]><![%SVG.font-face-name.attlist;[ <!ATTLIST %SVG.font-face-name.qname; %SVG.Core.attrib; name CDATA #IMPLIED
]]>
A.3.40 Basic Font Module
The Basic Font Module defines the Font.class element collection.
Collection name | Elements in collection |
---|---|
Font.class | font, font-face |
<![%SVG.font.element;[ <!ENTITY % SVG.font.content "( %SVG.Description.class; | %SVG.font-face.qname; | %SVG.missing-glyph.qname; | %SVG.glyph.qname; | %SVG.hkern.qname; %SVG.font.extra.content; )*"
]]>
<![%SVG.font.attlist;[ <!ATTLIST %SVG.font.qname; %SVG.Core.attrib; %SVG.Style.attrib; %SVG.External.attrib; horiz-origin-x %Number.datatype; #IMPLIED horiz-adv-x %Number.datatype; #REQUIRED
]]>
<![%SVG.font-face.element;[ <!ENTITY % SVG.font-face.content "( ( %SVG.font-face-src.qname;, ( %SVG.Description.class; %SVG.font-face.extra.content; )* ) | ( ( %SVG.Description.class; %SVG.font-face.extra.content; )+, %SVG.font-face-src.qname;, ( ( %SVG.Description.class; %SVG.font-face.extra.content; )* )? ) )"
]]>
<![%SVG.font-face.attlist;[ <!ATTLIST %SVG.font-face.qname; %SVG.Core.attrib; font-family CDATA #IMPLIED font-style CDATA #IMPLIED font-variant CDATA #IMPLIED font-weight CDATA #IMPLIED font-stretch CDATA #IMPLIED font-size CDATA #IMPLIED unicode-range CDATA #IMPLIED units-per-em %Number.datatype; #IMPLIED panose-1 CDATA #IMPLIED stemv %Number.datatype; #IMPLIED stemh %Number.datatype; #IMPLIED slope %Number.datatype; #IMPLIED cap-height %Number.datatype; #IMPLIED x-height %Number.datatype; #IMPLIED accent-height %Number.datatype; #IMPLIED ascent %Number.datatype; #IMPLIED descent %Number.datatype; #IMPLIED widths CDATA #IMPLIED bbox CDATA #IMPLIED ideographic %Number.datatype; #IMPLIED alphabetic %Number.datatype; #IMPLIED mathematical %Number.datatype; #IMPLIED hanging %Number.datatype; #IMPLIED underline-position %Number.datatype; #IMPLIED underline-thickness %Number.datatype; #IMPLIED strikethrough-position %Number.datatype; #IMPLIED strikethrough-thickness %Number.datatype; #IMPLIED overline-position %Number.datatype; #IMPLIED overline-thickness %Number.datatype; #IMPLIED
]]>
<![%SVG.glyph.element;[ <!ENTITY % SVG.glyph.content "( %SVG.Description.class; %SVG.glyph.extra.content; )*"
]]>
<![%SVG.glyph.attlist;[ <!ATTLIST %SVG.glyph.qname; %SVG.Core.attrib; %SVG.Style.attrib; unicode CDATA #IMPLIED glyph-name CDATA #IMPLIED d %PathData.datatype; #IMPLIED arabic-form CDATA #IMPLIED lang %LanguageCodes.datatype; #IMPLIED horiz-adv-x %Number.datatype; #IMPLIED
]]>
<![%SVG.missing-glyph.element;[ <!ENTITY % SVG.missing-glyph.content "( %SVG.Description.class; %SVG.missing-glyph.extra.content; )*"
]]>
<![%SVG.missing-glyph.attlist;[ <!ATTLIST %SVG.missing-glyph.qname; %SVG.Core.attrib; %SVG.Style.attrib; d %PathData.datatype; #IMPLIED horiz-adv-x %Number.datatype; #IMPLIED
]]>
<![%SVG.hkern.element;[
]]><![%SVG.hkern.attlist;[ <!ATTLIST %SVG.hkern.qname; %SVG.Core.attrib; u1 CDATA #IMPLIED g1 CDATA #IMPLIED u2 CDATA #IMPLIED g2 CDATA #IMPLIED k %Number.datatype; #REQUIRED
]]>
<![%SVG.font-face-src.element;[ <!ENTITY % SVG.font-face-src.content "( %SVG.font-face-name.qname; %SVG.font-face-src.extra.content; )+"
]]>
<![%SVG.font-face-src.attlist;[ <!ATTLIST %SVG.font-face-src.qname; %SVG.Core.attrib;
]]>
<![%SVG.font-face-name.element;[
]]><![%SVG.font-face-name.attlist;[ <!ATTLIST %SVG.font-face-name.qname; %SVG.Core.attrib; name CDATA #IMPLIED
]]>
A.3.41 Extensibility Module
The Extensibility Module defines the Extensibility.class element collection.
Collection name | Elements in collection |
---|---|
Extensibility.class | foreignObject |
<![%SVG.foreignObject.element;[ <!ENTITY % SVG.foreignObject.content "( #PCDATA %SVG.foreignObject.extra.content; )*"
]]>
<![%SVG.foreignObject.attlist;[ <!ATTLIST %SVG.foreignObject.qname; %SVG.Core.attrib; %SVG.Conditional.attrib; %SVG.Style.attrib; %SVG.Presentation.attrib; %SVG.GraphicalEvents.attrib; %SVG.External.attrib; x %Coordinate.datatype; #IMPLIED y %Coordinate.datatype; #IMPLIED width %Length.datatype; #REQUIRED height %Length.datatype; #REQUIRED transform %TransformList.datatype; #IMPLIED
]]>
A.4.1 SVG 1.1 DTD Driver
This section contains the DTD driver for the SVG 1.1 document type implementation as an XML DTD. It relies upon SVG 1.1 module implementations defined in Section A.3.
<![%svg-prefw-redecl.module;[ %svg-prefw-redecl.mod;]]>
<![%svg-framework.module;[ %svg-framework.mod;]]>
<![%svg-postfw-redecl.module;[ %svg-postfw-redecl.mod;]]>
<![%svg-core-attrib.module;[ %svg-core-attrib.mod;]]>
<![%svg-container-attrib.module;[ %svg-container-attrib.mod;]]>
<![%svg-viewport-attrib.module;[ %svg-viewport-attrib.mod;]]>
<![%svg-paint-attrib.module;[ %svg-paint-attrib.mod;]]>
<![%svg-opacity-attrib.module;[ %svg-opacity-attrib.mod;]]>
<![%svg-graphics-attrib.module;[ %svg-graphics-attrib.mod;]]>
<![%svg-docevents-attrib.module;[ %svg-docevents-attrib.mod;]]>
<![%svg-graphevents-attrib.module;[ %svg-graphevents-attrib.mod;]]>
<![%svg-animevents-attrib.module;[ %svg-animevents-attrib.mod;]]>
<![%svg-xlink-attrib.module;[ %svg-xlink-attrib.mod;]]>
<![%svg-extresources-attrib.module;[ %svg-extresources-attrib.mod;]]>
<![%svg-structure.module;[ %svg-structure.mod;]]>
<![%svg-conditional.module;[ %svg-conditional.mod;]]>
<![%svg-image.module;[ %svg-image.mod;]]>
<![%svg-style.module;[ %svg-style.mod;]]>
<![%svg-shape.module;[ %svg-shape.mod;]]>
<![%svg-text.module;[ %svg-text.mod;]]>
<![%svg-marker.module;[ %svg-marker.mod;]]>
<![%svg-profile.module;[ %svg-profile.mod;]]>
<![%svg-gradient.module;[ %svg-gradient.mod;]]>
<![%svg-pattern.module;[ %svg-pattern.mod;]]>
<![%svg-clip.module;[ %svg-clip.mod;]]>
<![%svg-mask.module;[ %svg-mask.mod;]]>
<![%svg-filter.module;[ %svg-filter.mod;]]>
<![%svg-cursor.module;[ %svg-cursor.mod;]]>
<![%svg-hyperlink.module;[ %svg-hyperlink.mod;]]>
<![%svg-view.module;[ %svg-view.mod;]]>
<![%svg-script.module;[ %svg-script.mod;]]>
<![%svg-animation.module;[ %svg-animation.mod;]]>
<![%svg-font.module;[ %svg-font.mod;]]>
<![%svg-extensibility.module;[ %svg-extensibility.mod;]]>
A.4.2 SVG 1.1 Document Model
A SVG Family Document Type (such as SVG 1.1) must define the content model that it uses. This is done through a separate content model module that is instantiated by the SVG Modular Framework. The content model module and the SVG 1.1 DTD Driver (above) work together to customize the module implementations to the document type's specific requirements. The content model module for SVG 1.1 is defined below:
A.4.3 SVG 1.1 Attribute Collection
This section contains the attribute collection for SVG 1.1. The attribute collection module and the SVG 1.1 DTD Driver work together to customize the module implementations to the document type's specific requirements.