XML信息集(XML Information Set,縮寫XML Infoset)是W3C規(guī)范(specification),該規(guī)范使用一套信息項(xiàng)(information item)來描述XML文檔的一個(gè)抽象的數(shù)據(jù)模型。 XML信息集這個(gè)規(guī)范意圖用于其他規(guī)范中以引用良構(gòu)的XML文檔中的信息。
類型一個(gè)XML文檔,只要是良構(gòu)的并且滿足XML命名空間的約束,就存在有信息集。一個(gè)XML文檔存在信息集并不需要該XML文檔有效。
信息集可以包含的總共11種不同類型的信息項(xiàng)。
文檔信息項(xiàng) (總是存在)Document Information Item
元素信息項(xiàng)(Element Information Item)
屬性信息項(xiàng)(Attribute Information Item)
PI信息項(xiàng)(Processing Instruction Information Item)
未擴(kuò)展實(shí)體引用信息項(xiàng)(Unexpanded Entity Reference Information Item)
字符信息項(xiàng)(Character Information Item)
注釋信息項(xiàng)(Comment Information Item)
文檔類型聲明信息項(xiàng)(The Document Type Declaration Information Item)
非解析實(shí)體信息項(xiàng)(Unparsed Entity Information Item)
格式信息項(xiàng)(Notation Information Item)
命名空間信息項(xiàng)(Namespace Information Item)
信息集推薦標(biāo)準(zhǔn)第二版于2004年2月4日被采納。
信息集補(bǔ)充(Infoset Augmentation)信息集補(bǔ)充或信息集修改是指在Schema合法性檢查期間對(duì)信息集的修改的過程,例如,添加缺省的屬性。補(bǔ)充后的信息集被稱為post-schema-validation infoset(簡稱PSVI)1。
信息集補(bǔ)充是存在爭議的,有人認(rèn)為它破壞了模塊化,并容易導(dǎo)致互操作性問題。這是由于是否進(jìn)行了信息集補(bǔ)充,會(huì)使應(yīng)用程序得到不同的信息。
XML Schema支持信息集補(bǔ)充,而RELAX NG并不支持信息集補(bǔ)充。
參見XML信息集的實(shí)例包括:
文檔對(duì)象模型
Xpath data model
SXML
本詞條內(nèi)容貢獻(xiàn)者為:
吳晨濤 - 副研究員 - 上海交通大學(xué)