XML模式:FIXML和SVG
2024-09-05 20:56:10
供稿:網(wǎng)友
FIXML
FIX 是眾多企業(yè)間數(shù)據(jù)交換格式之一,用于在商業(yè)活動中交換信息。此類交換信息通常很重要,比如交易支付數(shù)據(jù)、股票價(jià)格和商業(yè)信息的交換。
這些需要傳輸?shù)男畔⒂袝r(shí)候是非常小的包,有時(shí)候又是大段的數(shù)據(jù)。此類信息交換的傳統(tǒng)格式是鍵/值對,這種形式的信息交換效率非常低。使用 XML 可以簡化傳遞的數(shù)據(jù)結(jié)構(gòu),尤其是復(fù)雜的數(shù)據(jù)。
在基于 XML 的優(yōu)化版本中,開發(fā)人員設(shè)法壓縮了數(shù)據(jù)文件的大小,同時(shí)使數(shù)據(jù)更易于閱讀。股票數(shù)據(jù)被壓縮到了舊格式的四分之一大小。
除了典型的商業(yè)應(yīng)用外,F(xiàn)IXML 不適合用于其他領(lǐng)域。但如果使用 FIXML 可以提高商業(yè)效率,結(jié)果是每個人都會受益。SVG
可縮放向量圖形(SVG)是一種描述繪圖的 XML 標(biāo)準(zhǔn)。使用 SVG 可以描述線條、形狀、位置及其之間的關(guān)系。最有吸引力的是這些信息可以輸出為需要的格式,包括可縮放的圖形和固定的圖片。
SVG 解決了傳統(tǒng)繪圖過程中的一些重要問題。一般是使用專門的繪圖程序完成的。在不同程序之間共享信息和繪圖一般來說非常困難。保存為 SVG 意味著任何支持 SVG 的應(yīng)用程序都能讀取和處理這些文件。
繪圖的另一個問題是,將它輸出為最常用的(尤其是 Web 上)格式時(shí),必須在顯示或者結(jié)合到其他文檔前翻譯為位圖格式(比如 JPEG 或 PNG)。這種傳統(tǒng)的方法存在一些問題。首先,原始繪圖必須明確(通常是手工)導(dǎo)出為位圖格式。
其次,由于位圖格式以原始繪圖的逐像素表示為基礎(chǔ),為保證圖像的質(zhì)量必須小心選擇和輸出目標(biāo)匹配的尺寸和分辨率。比如,屏幕顯示的分辨率需要 72dpi(或 96dpi)以便和多數(shù)監(jiān)視器的標(biāo)準(zhǔn)分辨率匹配。打印輸出則需要 300 到 2400 DPI。因此和原始文件相比生成的圖像文件可能非常大。
雖然在 PostScript 和 Encapsulated PostScript 之前已經(jīng)存在基于向量的格式,但是對 CPU 的要求非常高,不適合屏幕顯示。
和其他任何向量圖像格式一樣,SVG 也采用各種形狀的列表來描述圖像內(nèi)容,而不是生成像素表示。比如矩形只需要給出左上角作為起點(diǎn),再加上兩條邊的長度就行了。圖像的描述用 XML 表示。標(biāo)簽包括直線、矩形、多邊形、圓等等,可以控制這些元素的樣式和格式。
清單 9 給出了一個例子。這里繪制了一個矩形、一個透明的圓和一個三角形。
清單 9. 簡單的圖形
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN""http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" version="1.1"xmlns="http://www.w3.org/2000/svg"><polygonpoints="200,100 300,200 150,250"style="fill:#cccccc;stroke:#000000;stroke-width:1"/><rect x="20" y="20" width="250" height="250"style="fill:blue;stroke:black;stroke-width:1;fill-opacity:0.1;stroke-opacity:0.9"/><circle cx="100" cy="50" r="40" stroke="red"fill="red" style="fill-opacity:0.5"/></svg>