XML的兩種模式描述

2021-08-30 06:13:15 字數 1325 閱讀 4065

在xml使用過程中,往往需要對xml的有效性進行驗證。

只要不違反xml格式良好的規則,就可以自由選取標記的名字,用自己習慣的方式描述事物。這就意味著用xml描述相同的事物時,不同的編寫者可能寫出含有不同標記名、採用不同結構的xml文件,這對於資料的統一處理極為不利。所以需要一種機制指定應該如何構造描述同一事物的文件。dtd和xml schema就是使用最為廣泛的用來進行xml文件有效性驗證的兩種機制[16]17]。

dtd(document type definition,文件型別定義)是一套關於標記符的語法規則,詳細描述一組xml文件的結構,最初是為sgml開發的,它可以是xml文件的一部分,但是它通常是乙份單獨的文件或者一系列文件。dtd說明在文件中可以使用哪些標記,哪些標記可以出現在其它標記中,哪些標記具有屬性,使用的標記應按什麼順序出現等。xml本身並沒有乙個通用的dtd,想使用xml進行資料交換的行業或組織可以自行定義它們自己的dtd,dtd規定了乙個語法分析器用於解釋乙個「有效的」xml文件所需要知識的所有規則的細節。乙個dtd可以是內部的,包含在乙個「格式良好」的xml文件中,也可以是外部的,作為乙個外部文件被引用。dtd標記宣告可以是元素型別宣告,屬性宣告,實體宣告,或符號宣告。作為xml1.0規範的重要組成部分,dtd對於xml文件的結構起到很好的描述作用,是近幾年來xml技術領域所使用的最廣泛的一種用於xml文件有效性驗證的機制。

隨著xml技術的廣泛使用,dtd也逐漸顯出其自身的一些不足與缺點,比如採用了非xml的語法規則,不支援多種多樣的資料型別,擴充套件性較差,不支援命名空間等等。於是,w3c於2023年5月正式推薦xml schema作為xml的標準模式。xml schema本身就是乙個符合xml語法結構的xml文件,可以用通用的xml解析器進行解析。它如同dtd一樣,負責定義和描述xml文件的結構和內容模式。xml schema可以定義xml文件中存在哪些元素和元素之間的關係,並且可以定義元素和屬性的資料型別。

①一致性。schema本身就是xml文件,使得對xml的定義不必再利用一種特定的形式化語言,而是直接借助xml自身的特性,使得xml達到從內到外的完美統一。

②擴充套件性。schema對dtd進行了擴充,從而使其具有較強的可擴充套件性,比如引入了資料型別、命名空間等。

③互換性。使用者可以根據需要設計適合自己應用的schema,並且可以同其他人交換彼此的schema。通過對映機制,可以將不同的schema進行轉換,實現更高層次的資料交換。

④規範性。同dtd一樣,schema也提供了一套完整的機制以約束xml文件中標記的使用,相比之下,schema更具規範化,它定義了xml文件的整體結構,元素間的關係等。

總的來說,不能簡單的評價dtd與xml schema哪乙個絕對好。它們各有各自的應用場合。相對於dtd,xml schema可應用的範圍更廣一些。

XML的兩種模式

color darkblue size medium 在xml使用過程中,往往需要對xml的有效性進行驗證。只要不違反xml格式良好的規則,就可以自由選取標記的名字,用自己習慣的方式描述事物。這就意味著用xml描述相同的事物時,不同的編寫者可能寫出含有不同標記名 採用不同結構的xml文件,這對於資料...

xml的兩種讀法

method1 public static string getxmlnode string xmlname,string xmlpath,string key xmldocument document new xmldocument string str xmlpath xmlname xml s...

兩種XML解析方法

xml解析 概念 xml extended markup language,可擴充套件的標記性語言 可擴充套件 標籤 可以自己定義。張三30 李四40 html 超文字標記語言 文件中 標記 標籤 固定 pull 基於事件拉取的形式 事件 常量值 開始標籤 相應的動作 比如建立集合,物件。標籤和標籤...