2010-12-10 36 views

回答

5

不,模式不能指定除二進制數據元素類型之外的編碼類型,但這種編碼仍將由文檔本身的高級編碼封裝。如果您意識到模式是用來描述信息而不是傳輸格式,那麼這是有道理的。 XML規範決定了文檔傳輸信息,例如信息如何以最普通的意義表示和存儲。模式用於驗證通過XML存儲的數據是否符合各方之間的某種語法限制。 XML規範中定義的序言(您提到的第一行)是存在(或不存在)是投訴XML閱讀器需要知道文檔如何編碼的實體。編碼僅僅是端點之間的協議,以表示正確的unicode代碼點,XML規範指定如何達成此協議,而不是模式。

如果您有興趣,這是關於如何達成此協議的XML 1.1規範的相關部分,更有趣的是投訴讀者如何「猜測」編碼,以便足以猜測序言可讀取以讀取實際的編碼屬性:http://www.w3.org/TR/xml11/#sec-guessing