轉自: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]