转自:http://www.gispark.com/html/GISarticle/2006/1215/826.htmlphp
Scalable Vector Graphics (SVG) 1.1 Specification
1 简介 内容来自dedecmshtml
Scalable Vector Graphics (SVG) 1.1 Specification
W3C Recommendation 14 January 2003
This version: http://www.w3.org/TR/2003/REC-SVG11-20030114/ ;
Latest version: http://www.w3.org/TR/SVG11/ ;
Previous version: http://www.w3.org/TR/2002/PR-SVG11-20021115/ ;web
目录
• 1.1 关于SVG
o 1.1.1 模块化
o 1.1.2 元素和属性集
o 1.1.3 剖析SVG 规范
• 1.2 SVG MIME 类型, 文件扩展名和Macintosh 文件类型
• 1.3 SVG 命名空间, 公共标识符与系统标识符
• 1.4 与其它规范标准的兼容性
• 1.5 术语
• 1.6 定义 copyright dedecmscanvas
1.1 关于SVG
本规范定义可扩展矢量图形(SVG).的特性和语法。
SVG是一种基于XML[XML10]的二维图形描述语言。SVG容许三种图形对象:矢量图形形状(若有直线和曲线组成的轨迹)、图像和文本。图形对象能够被组合、定制样式、变形和组成先前渲染过的对象。其特性包括嵌套变换(Nested Transformations)、路径分割(clipping paths)、蒙版(alpha masks)、滤镜效果和模板对象。
SVG 图形是可交互和动态的。 动画 能够既直接定义和触发(例如,把SVG动画元素嵌入SVG文本中),也能够经过脚本控制。
经过脚本语言访问SVG文档对象模型 (DOM),使得复杂的SVG 应用成为可能。SVG文档对象模型 (DOM)能够提供对全部元素(elements)、特性(attributes)和属性(properties)的彻底访问。能够给SVG图形对象分配onmouseover and onclick等许多事件(event handlers)。 因为它的兼容性和对其余Web标准的杠杆所用(leveraging of other Web standards), 在同一个Web页面中能够同时出现针对XHTML和 SVG元素编写的脚本 。
SVG是一种针对复杂图形的语言。出于访问性的缘由,若是一个初始源文档包含较高级别的结构和语义,建议较高级别的信息时可访问的,既可让初始源文件可访问,也可让可以传达高级别信息的其余格式或其余版本的文档可访问,或将较高级别的信息包含到SVG内容中。得到更好的访问性的技术信息,请参见 访问性。
1.1.1 模块化
这里包含的SVG模块化是对SVG 1.0的分解和一个针对提供特定功能的抽象模型集的勘误表。这些模块能够相互组合,也能够同其余规范定义的模块组合(如XHML),以创建SVG的子集和扩展文档类型,做为SVG文档类型家族的成员。参见SVG文档家族的一致性(Conformance) 描述和组合XHTML,MathML及 SVG的 [XHTMLplusMathMLplusSVG] 框架。
每一个主要SVG 规范结尾部分都有一个名称标识,例如:“文本模块”或“基本结构模块”。若是一个模块没有“基本(Basic)”前缀,则说明它包含完整地元素和特性,同规范的相应部分没有约束。若是须要提供已完成模块的功能子集,则要在该模块的命名中加上前“基本(Basic)”前缀。例如, "Basic Text Module" 就是 "Text Module"的一个子集。
在SVG 1.1中,同时包含完成模块和它的基本子集模块(如 "Text Module" 和"Basic Text Module")是一个错误。
1.1.2 元素和特性集
多数模块都定义了元素(elements)和特性(attributes)的名称集合。在描述元素的一组特性时,能够引用这些集合(如Style特性集合)。全部特性的名称都以大写字母开头。
在定义一个框架时,假设全部元素和特性集合都被定为空。这样,一个模块在被包含到框架中时,就能够从新定义这些集合,加入框架中能够获取的元素和特性。所以,引用没有包含在框架中的模块的元素和特性集合不是错误,说明该集合是空的。
只有Presentation.attrib 例外,它是全部presentation 特性的联合(如全部名字中包含"Presentation"的全部特性集合), Presentation.attrib 没有在任何模块中定义,但在每一个框架中都存在。
一个模块子集(如基本模块Basic module)能够定义一个与父模块不一样的名称集合。因为在一个框架中包含同一组子模块和父模块是一个错误的,全部特性和元素集合都必须由包含他们的模块定义一次,或者保留他们却生的空值(没有被任何模块定义的Presentation.attrib例外)。
1.1.3 剖析SVG规范
SVG1.1模块化容许用它们承认的SVG模块列表来描述框架,可能还会有少许由这些模块提供的针对元素的限制或扩展。
SVG1.1完整框架是在本规范中列出的全部完成模块的集合(如每一个非子模块的模块)。
为保持一致,术语“SVG”表示本规范定义的SVG1.1完整框架。若是不执行完整框架,就必须声明与其一致的框架,或执行SVG的一个子集。
1.2 SVG MIME 类型、文件名扩展和Macintosh文件类型
SVG的MIME类型是"image/svg+xml" (参见 [RFC3023])。这种MIME类型的注册证在W3C进行中。
推荐SVG文件名在全部平台上都使用".svg"(所有小写)扩展名。推荐gzip-compressed 压缩的SVG文件在全部平台上使用".svgz"(所有小写)扩展名。
推荐存储在Macintosh HFS 文件系统上的SVG文件给定"svg "(所有小写,将空格做为第四个字母)文件类型。推荐存储在Macintosh HFS 文件系统上的gzip-compressed 压缩SVG文件给定文件类型"svgz"(所有小写)。I
1.3 SVG命名空间、公共标识符和系统标识符
如下是SVG1.1的命名空间、公共标识符和系统标识符:
SVG命名空间:SVG Namespace: http://www.w3.org/2000/svg ;浏览器
SVG 1.1公共标识符:Public Identifier for SVG 1.1:
PUBLIC "-//W3C//DTD SVG 1.1//EN"
SVG 1.1系统标识符:System Identifier for the SVG 1.1 Recommendation: http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd ;
下面是一个SVG文档的实例文档类型声明:
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
" http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
注意系统标识符列出的DTD是一个模块化的DTD(好比它的内容被分散到多个文件)。这意味着校验器要进行验证就必须获取多个模块。所以有一个单一的变平的DTD与SVG 1.1模块化的 DTD一致。这个文件能够在http://www.w3.org/ ;Graphics/SVG/1.1/DTD/svg11-flat.dtd. 找到。
1.4 与其余规范标准的兼容性
SVG与W3C其余标准规范集成并具备杠杆做用,SVG 也由此而强大,用户能够轻松地了解如何将SVG结合到他们的网站上。
下面给出一些保持SVG同其余W3C规范兼容、继承和杠杆做用的方法。
• SVG是XML的一个应用,与XML1.0 [XML10]推荐标准兼容。
• SVG与XML命名空间[XML-NS]兼容。
• SVG利用"XML Linking Language (XLink)" [XLINK]位URL引用,并须要"XML Base" [XML-BASE]中定义的URI规范支持。
• SVG引用元素ID的语法是"XML Pointer Language (XPointer)" [XPTR]中元素ID引用的一个兼容子集。
• SVG的内容既能够用CSS(参见 "Cascading Style Sheets (CSS) level 2" 规范 [CSS2]) 定制样式,也能够用XSL (参见 "XSL Transformations (XSLT) Version 1.0" [XSLT])定制样式。(参见 Styling with CSS 和Styling with XSL) 。
• SVG支持普通CSS和XSL相关属性和方法,以及CSS选择的语法和特性(参见 SVG''s styling properties 和 SVG''s Use of Cascading Style Sheets)。
• 外部风格页(External style sheets)被"Associating Style Sheets with XML documents Version 1.0" [XML-SS]描述的机制引用。
• SVG包含完整的文档对象模型(DOM)并听从"Document Object Model (DOM) level 1" [DOM1]推荐规范。SVG的DOM较DOM Level 1定义的HTML DOM 规范具备较高级别的兼容性并与其保持一致。另外,还与"Document Object Model (DOM) level 2" [DOM2]中描述的许多共聚一致,包括CSS对象模型和事件。
• SVG还结合了SMIL1.0(Synchronized Multimedia Integration Language)规范的特性和方法,包括switch元素(''switch'' element)和系统语言(systemLanguage)。
• SVG的动画特性(参见Animation)是与W3C的SYMM(Synchronized Multimedia)工做组协同开发出来的,他们是SMIL1.0 [SMIL1]规范的开发者。SVG的动画结合并扩展了SMIL动画规范("SMIL Animation" specification [ SMILANIM])中描述的XML动画能力的整体意图。 织梦内容管理系统
• SVG设计成容许SMIL的未来版本向媒体对象同样使用动态的或静态的SVG内容。
• SVG试图最大限度地与HTML 4 [HTML4] 和XHTML(tm) 1.0 [XHTML]兼容。许多SVG工具直接根据HTML建模,包括使用CSS [CSS2]、处理事件和文档对象模型[DOM2]。
• SVG与W3C国际化兼容,参考(来自W3C和其余):[UNICODE] 、 [CHARMOD]和Internationalization Support。
• SVG与W3C的Web访问性(Web Accessibility [WAI])兼容。参见Accessibility Support。
在支持XML语法(如XHTML [XHTML])的DOM2[DOM2]并支持SVG和SVG DOM的环境中,一个脚本方法能够同时被XML文档和SVG图形使用,那样,用同一段脚本就但是实现多个XML名字空间的交互和动态效果。 织梦内容管理系统框架
1.5 术语
在本规范中,关键词"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"将在RFC 2119中解释(参见 [RFC2119])。不过为了阅读方便,本规范中这些关键字不所有大写。
本规范有时会向做者和用户推荐一些好的实例,这些推荐是非标准化的,同规范不也一致,这并不依赖于它们的实现。这样的推荐一般包含“咱们推荐…”或“本规范推荐”或相似这样的表述。svg
1.6 定义
basic shape 基本形状
SVG中定义的标准形状是为了普通图形操做的方便。特别是矩形、圆形、椭圆形、直线、多义线和多边形(''rect'', ''circle'', ''ellipse'', ''line'', ''polyline'', ''polygon'')。
canvas 画布
用来画图形元素的面,能够是纸、显示器或虚拟分配的计算机内存等。参见坐标系统、变换和单位一章关于SVG canvas的讨论。
clipping path 剪裁路径
是路径、文本和基本(''path'', ''text'' 和 basic shapes)图形的组合做为轮廓的1位掩码,全部里面的显示出来,外面的都被屏蔽。参见Clipping paths。
container element 容器元素
一种包含图形和其余容器元素做为子元素的元素,特别是:''svg'', ''g'', ''defs'' ''symbol'', ''clipPath'', ''mask'', ''pattern'', ''marker'', ''a'' and ''switch''。 dedecms.com
current innermost SVG document fragment 当前最里层的SVG文档片段
XML文档都是以给定的SVG元素''svg'' 做为根节点的树型结构。
current SVG document fragment 当前SVG文档片段
XML文档都是以给定的SVG元素''svg'' 做为根节点的树型结构,要求全部在该元素和最外层的''svg''元素之间的元素必须是SVG语言中的元素。
current transformation matrix (CTM) 当前变换矩阵(CTM)
变换矩阵是将一个坐标系转换成另外一个坐标系的数学表达是,一般用3x3的矩阵,采用方程式[x'' y'' 1] = [x y 1]。当前变换矩阵(CTM)定义用户坐标系统到显示窗口坐标系统的变换。参见坐标系统变换(Coordinate system transformations)。
fill 填充
填充是对图形或字符串中字符内部着色的操做。
font 字体
字体是组织化的字形(glyphs)的集合。一种字体的字形、风格一致,当一串字符一块儿变换样式时表现很是明显。字体还能传达艺术风格,包含字体内部的对齐方式和间距。 内容来自dedecms
glyph 字形
字形表明字体中变换内容的单元。A glyph represents a unit of rendered content within a font. 一般,画出的字符和相应的字形是一对一的关系(如 一般字符 "A"只有一个变换字形),但有时多个字形用来变换一个字符,(好比用重音)。比较典型的是一个字形由一个或多个形状shapes(好比路径path)定义,可能还包含变换信息以利于字体引擎在处理清晰地处理小字。
graphics element 图形元素
图形元素是能够用来在目标画布上画出图形的元素。特别是:''path'', ''text'', ''rect'', ''circle'', ''ellipse'', ''line'', ''polyline'', ''polygon'', ''image'' and ''use''等。
graphics referencing element 图形参考元素
用对不一样文档或元素的引用做为其图形内容的图形元素。特别是:''use'' and ''image''。 dedecms.com
local URI reference 本地RUI引用
是指不包含绝对URI(<absoluteURI>)和相对定位符(<relativeURI>)的统一资源定位符(Uniform Resource Identifier [URI]),它描绘一个引用指向当前文档的一个元素。参见References and the ''defs'' element。
mask 蒙版
一个能够包含图形元素或其余定义了一组图形的容器元素,被用来做为被透明的蒙版将前景对象合成到当前的背景之上。参见Masks。
non-local URI reference 非本地URI引用
是指包含绝对URI(<absoluteURI>)或相对定位符(<relativeURI>)的统一资源定位符(Uniform Resource Identifier [URI]),它描绘一个引用指向不一样文档的或不一样文档中的某个元素。参见References and the ''defs'' element。
paint 着色
着色是指将颜色值呈如今画布上的方法,包含有颜色值和合成alhpa值。色值控制着画布上的颜色与现有颜色的混合效果。SVG支持三种内置着色:实心色(color)、梯度(gradients)和模式(patterns)。
presentation attribute 展现特性 dedecms.com
是SVG元素的XML特性,为该元素的属性定义值。参见Styling。
property 属性
是用来讲明文档如何处理的变量。完整的SVG属性列表可在属性索引(Property Index)中找到。能够经过SVG语言中的呈现特性(presentation attributes)或风格定义语言(如CSS [CSS2])来给SVG语言元素分配属性。
shape 形状
是由直线和曲线组合定义的图形元素。主要有:''path'', ''rect'', ''circle'', ''ellipse'', ''line'', ''polyline'', ''polygon''。
stroke 画边界
是对图形或字符串中的字形轮廓进行着色的操做。
SVG canvas SVG画布
是勾画SVG内容的画布。参见坐标系统、转换和单位(Coordinate Systems, Transformations and Units)一章关于SVG画布(SVG canvas)的讨论。
SVG document fragment SVG文档片段
是以''svg''元素开头的XML文档子树。SVG文档片段能够包含独立的SVG文档,或是被''svg'' 元素包围的父XML文档的片段。当一个''svg'' 元素是另外一个''svg'' 元素的子元素,就会有两个SVG文档片段,每一个''svg'' 元素拥有一个片段(一个SVG文档片段被包含在另外一个SVG文档片段中)。 本文来自织梦
SVG viewport SVG视口
视口(viewport)是SVG画布(SVG canvas)中定义的矩形区域,在区域中展示SVG内容。参见坐标系统、转换和单位(Coordinate Systems, Transformations and Units)一章关于SVG视口(SVG viewport)的讨论。
text content element 文本内容元素
一个能够定义文本串的画在画布上的SVG元素,SVG文本内容元素有:''text'', ''tspan'', ''tref'', ''textPath'' 和 ''altGlyph''等。
transformation 变换
是指当前变换矩阵(CTM)的改变,由追加的变换以一组简单变换定义(如缩放、旋转和平移)提供,也可由一组或多组变换矩阵(transformation matrices)提供。参见坐标系统转换(Coordinate system transformations)。
transformation matrix 变换矩阵
变换矩阵是将一个坐标系转换成另外一个坐标系的数学表达是,一般用3x3的矩阵,采用方程式[x'' y'' 1] = [x y 1]。
URI Reference URI引用模块化
是一个统一资源定位符([URI])做为一个引用指向文件或文件中的一个元素。参见引用和''defs''元素(References and the ''defs'' element)。
user agent 用户代理
用户代理的一般定义是指一个返回并重现Web内容的应用。这些内容包括文本、图形、声音、影像、图像和其余类型。用户代理可能须要其余用户代理来处理某些类型的内容。例如:一个浏览器可能运行一个独立的程序或插件来重现声音或影像。用户代理包括桌面图形浏览器,以及屏幕阅读器,屏幕放大器、语音同步器、触摸屏和声音输入软件等辅助技术。工具
一个用户代理可能或不能返回并重现SVG内容,但SVG用户代理能够返回并重现SVG内容。
user coordinate system 用户坐标系统
通常说来,坐标系定义当前画布的位置和距离。但前用户坐标系是当前活动的,用来定义当前画布上的坐标和长度如何分别定位和计算的坐标系统。参见初始化用户坐标系统(initial user coordinate system)和坐标系统变换(Coordinate system transformations)。
user space 用户空间
是用户坐标系统(user coordinate system)的同义词。
user units 用户单位
一个以用户单位表达的坐标值和长度表明着当前用户坐标系中的一个坐标值和长度。因此,10个用户单位表明当前用户坐标系中10个单位长度。
viewport 视口
视口(viewport)是SVG画布(SVG canvas)中定义的矩形区域,在区域中展示SVG内容。参见坐标系统、转换和单位(Coordinate Systems, Transformations and Units)一章关于SVG视口(SVG viewport)的讨论。
viewport coordinate system 视口坐标系统
通常说来,坐标系定义当前画布的位置和距离。视口坐标系统是从开始处理''svg''元素处处理viewBox特性以前处于活动的坐标系。在这种状况下,一个包含在父文档中并带有CSS样式定义的SVG文档片段,视口坐标系统就与其原有的CSS具备相同的方位和长度,原来的左上坐标位视口的左上坐标。参见视口初始化(The initial viewport )和创建新视口(Establishing a new viewport)。 copyright dedecms
viewport space 视口空间
同视口坐标系(viewport coordinate system)。
viewport units 视口单位
一个以视口单位表达的坐标值和长度表明视口坐标系中的一个坐标值和长度。因此,10个视口单位表明视口坐标系中10个单位长度。 字体
[/CENTER]