您可能曾聽過可延伸標記語言 (XML),而且您可能已經聽到許多貴組織應該使用它的原因。 但是 XML 到底是什麼呢? 本文將說明 XML 的基本概念,也就是其功能及運作方式。
本文內容
簡要了解標註、標記和標籤
若要了解 XML,可以協助您了解標註資料的概念。 人類已建立文件長達數百年,而且也已標註這些文件同樣長的時間。 例如,學校老師會隨時標註學生論文。 他們會告訴學生移動段落、釐清句子、修正拼字錯誤等等。 標註文件是我們如何定義文件中資訊的結構、意義和視覺外觀。 如果您曾經在 Microsoft Office Word 中使用過 [追蹤修訂] 功能,您已使用過電腦化的標註形式。
在計算機領域,「加價」也演變成「加價」。標記是使用稱為標籤的代碼 (有時稱為標記) 來定義任何資料的結構、視覺外觀,以及在 XML 的情況下定義意義的過程。
本文的 HTML 程式碼是工作上使用電腦標記的一個好範例。 如果你在 Internet Explorer Microsoft (瀏覽,右鍵點擊頁面,然後點擊 「檢視原始碼) 」,你會看到可讀文字與超文本標記語言 (HTML) 標籤的混合,例如 <p><h2>和 。 HTML 和 XML 文件中的標籤很容易辨識,因為它們周圍有角括弧。 在本文的原始碼中,HTML 標籤執行多種任務,例如定義每個段落的開頭和結尾 (<p> ...... </p>) 並標示每張圖片的位置。
那麼 XML 是什麼?
HTML 和 XML 文件包含標籤所圍繞的資料,但這是兩種語言之間的相似處。 在 HTML 中,標籤會定義資料的外觀與風格,標題會移至此處,段落從這裡開始,依此類推。 在 XML 中,標籤會定義資料的結構和意義,也就是資料本身。
當您描述資料的結構和意義時,您就可以利用多種方式重複使用該資料。 例如,如果您有一個銷售資料區塊,且區塊中的每個項目都清楚識別出來,您可以只將所需的項目載入到銷售報表中,並將其他項目載入會計資料庫。 另一個方法是,您可以使用一個系統來產生資料,並使用 XML 標籤加以標記,然後無論硬體平台或作業系統為何,都可以在任何其他系統中處理該資料。 這種可攜性是為什麼 XML 成為交換資料最常用的技術之一。
在進行動作時,請記得以下幾點:
您無法使用 HTML 取代 XML。 不過,您可以將 XML 資料以 HTML 標籤括住,並顯示在網頁中。
HTML 僅限於所有使用者共用的預先定義的一組標籤。
XML 可讓您建立描述資料及該資料結構所需的任何標籤。 例如,假設您需要儲存及共用寵物的相關資訊。 您可以建立下列 XML 代碼:
<?xml version="1.0"?> <CAT> <NAME>Izzy</NAME> <BREED>Siamese</BREED> <AGE>6</AGE> <ALTERED>yes</ALTERED> <DECLAWED>no</DECLAWED> <LICENSE>Izz138bod</LICENSE> <OWNER>Colin Wilcox</OWNER> </CAT>
您可以看到 XML 標籤能夠確切知道您正在檢視的資料類型。 例如,您知道這是關於貓的資料,而且可以輕鬆找到貓的名稱、年齡等。 建立可定義幾乎任何資料結構的標籤,這個功能是讓 XML「可延伸」的原因。
但請勿將該程式碼範例中的標籤與 HTML 檔案中的標籤混淆。 例如,如果您將該 XML 結構貼到 HTML 檔案,然後在瀏覽器中檢視檔案,結果看起來會像這樣:
Izzy Siamese 6 yes no Izz138bod Colin Wilcox
瀏覽器會忽略您的 XML 標籤,只顯示資料。
關於語式正確資料的字
您可能會聽到 IT 部門有人提及「語式正確」的 XML。 語式正確的 XML 檔案符合一組非常嚴格的 控管 XML 規則。 如果檔案不符合這些規則,XML 就會停止運作。 例如,在上一個範例程式碼中,每個開啟的標籤都有結語標籤,因此樣本會遵守其中一個規則以達到語式正確。 如果您移除標籤,並嘗試在其中一個 Office 程式中開啟該檔案,您會看到錯誤訊息,且程式會阻止您使用該檔案。
您不一定需要知道建立語式正確的 XML 的規則 (雖然很容易理解),但您必須記住,只有在資料語式正確的情況下,才能在程式和系統之間共用 XML 資料。 如果您無法開啟 XML 檔案,可能是該檔案未達成語式正確。
XML 也是平台獨立的程式,這表示任何專為使用 XML 而建置的程式都可以讀取和處理您的 XML 資料,無論硬體或作業系統為何。 例如,使用正確的 XML 標籤時,您可以使用傳統型應用程式來開啟和使用來自大型主機的資料。 而且,無論誰建立 XML 資料的內文,您都可以在多個 Office 程式中使用相同的資料。 由於 XML 非常具有可攜性,因此已成為資料庫與使用者桌面之間交換資料最熱門的技術之一。
除了已標記、語式正確的資料之外,XML 系統通常還會使用另外兩個元件:架構和轉換。 下列各節說明這些額外元件的運作方式。
快速了解表單設計
不要讓「架構」一詞讓您感到威脅。 架構只是一個 XML 檔案,其中包含可以及不能存放在 XML 資料檔案中的規則。 架構檔案通常會使用 .xsd 副檔名,而 XML 資料檔案則使用 .xml 副檔名。
架構可讓程式驗證資料。 它們提供架構資料的原則架構,並確保它對建立者和任何其他使用者而言是有可理解的。 例如,如果使用者輸入無效的資料,例如日期欄位中的文字,程式可以提示使用者輸入正確的資料。 只要 XML 檔案中的資料符合指定架構中的規則,任何支援 XML 的程式都可以使用該架構來讀取、解譯及處理資料。 例如,如下圖所示,Excel 可以根據 CAT 架構驗證 <CAT> 資料。
架構可能會變得很複雜,而教導您如何建立架構則超出本文的範圍。 (而且,你大概有 IT 部門知道怎麼做。) 不過,知道 schema 長什麼樣子會比較有幫助。 以下架構定義了 CAT> 的規則<...... </CAT> 標籤組。
<xsd:element name="CAT">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
不用擔心了解樣本中的所有內容。 請記住這些事項:
- 範例結構描述中的明細項目稱為宣告。 如果您需要動物的其他相關資訊,例如牠的色彩或標記,很可能您的 IT 部門會在結構描述中新增宣告。 您可以隨著業務需求的演進而變更您的 XML 系統。
- 宣告為資料結構提供了極大的控制權。 例如,宣
<xsd:sequence>告表示標籤(如<NAME>和<BREED>)必須依照上述排列的順序出現。 宣告也可以控制使用者可以輸入的資料類型。 例如,上述結構描述針對貓的年齡需要正數,而布林值 (TRUE 或 FALSE) 才能使用 ALTERED 和 DECLAWED 標籤。 - 當 XML 檔案中的資料符合結構描述提供的規則時,該資料即表示有效。 針對結構描述檢查 XML 資料檔案的處理程序,稱為驗證 (很符合邏輯)。 使用結構描述的一大優點是它們可以協助防止資料損毀。 它們也可讓您輕鬆找到損毀的資料,因為 XML 在遇到問題時會停止。
快速了解轉換
如先前所述,XML 也提供強大的資料使用方式或重複使用資料。 重複使用資料的機制稱為可延伸樣式表語言轉換 (XSLT),或簡稱為轉換。
您 (好吧,您的 IT 部門) 也可以使用轉換來交換後端系統之間的資料,例如資料庫。 例如,假設資料庫 A 將銷售資料儲存在適用於銷售部門的資料表結構中。 資料庫 B 會將營收和支出資料儲存在專為會計部門量身打造的資料表結構中。 資料庫 B 可以使用轉換來接受 A 的資料,並將該資料寫入正確的表格。
資料檔案、結構描述和轉換的組合構成基本的 XML 系統。 下圖顯示這類系統通常如何運作。 資料檔案會根據結構描述進行驗證,然後透過轉換以任何可用的轉譯方式呈現。 在此情況下,轉換會將資料部署到網頁中的表格。
下列程式碼範例顯示撰寫轉換的一種方法。 它會將 <CAT> 資料載入網頁上的表格。 同樣地,範例的重點不是要告訴您如何撰寫轉換,而是要顯示一種可轉換的形式。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
此範例顯示一種轉換的類型在編碼時的樣子,但請記住,您只要用簡單的英文描述所需的資料內容即可。 舉例來說,你可以去 IT 部門說你需要列印過去兩年特定地區的銷售資料,「而且我需要它看起來像這樣。」你的 IT 部門可以寫 (,或修改) 轉換來完成這項工作。
讓這一切更方便的是,Microsoft 和其他越來越多廠商正在為各種工作建立轉換。 未來您或許可以下載符合您需求的轉換,或是可配合您的目的進行調整者。 這表示 XML 在經過一段時間後使用的成本會比較低。
Microsoft Office System 中的 XML 預覽
Office 專業版提供廣泛的 XML 支援。 Microsoft Office 採用 XML 型檔案格式,例如 .docx、.xlsx 和 .pptx。 由於 XML 會以文字格式而非專利二進位格式儲存資料,因此您的客戶可以定義自己的結構描述,並以更多方式使用您的資料,完全不需要支付權利金。 如需關於新格式的詳細資訊,請參閱 Office Open XML 格式和副檔名。 其他優點包括:
- 較小的檔案大小。 新格式使用 ZIP 和其他壓縮技術,比起舊版 Office 中使用的二進位格式,將檔案大小減少 75%。
- 更輕鬆地復原資訊並提高安全性。 XML 是人類可讀取的檔案,因此如果檔案損毀,您可以在 Microsoft 記事本或其他文本閱讀程式開啟檔案,並復原至少部分資訊。 此外,新檔案會更加安全,因為它們無法包含 Visual Basic for Applications (VBA) 程式碼。 如果您使用新格式來建立範本,任何 ActiveX 控制項和 VBA 巨集都會位於檔案中另一個更安全的區段中。 此外,您可以使用工具,例如文件檢查,來移除任何個人資料。 如需使用 [文件檢查] 的詳細資訊,請參閱透過檢查文件來移除隱藏資料及個人資訊。
目前為止還不錯,但如果您的 XML 資料沒有結構描述呢? 支援 XML 的 Office 程式有自己的方法,可協助您處理資料。 例如,如果您開啟的 XML 檔案還沒有 XML 檔案,Excel 會推斷結構描述。 Excel 接著提供您將此資料載入 XML 表格的選項。 您可以使用 XML 清單和表格來排序、篩選或新增計算至資料。
在 Office 中啟用 XML 工具
[開發人員] 索引標籤預設不會顯示,但是當您想要在 Office 中使用 XML 命令時,您必須將它新增至功能區。 請參閱顯示開發人員索引標籤。