版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國]-文檔模式

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

簡(jiǎn)介

文檔模式是元數(shù)據(jù)結(jié)構(gòu)的最高級(jí)別。它們?cè)试S庫管理員控制添加到庫的文檔或文件。文檔模式是將文件分組在一起的一種方式,即使它們?cè)谡麄€(gè)庫中不同地方進(jìn)行歸檔。文檔模式管理如何將文件添加到庫中,并通過元數(shù)據(jù)收集有關(guān)它們的信息。將文件添加到系統(tǒng)時(shí),用戶將使用“文檔模式”字段選擇與文檔關(guān)聯(lián)的模式。所選擇的模式將確定所需的元數(shù)據(jù)和元數(shù)據(jù)將采用的格式。文檔模式也指用于指定IE的頁面排版引擎(Trident)以哪個(gè)版本的方式來解析并渲染網(wǎng)頁代碼。切換文檔模式會(huì)導(dǎo)致網(wǎng)頁被刷新,但不會(huì)更改用戶代理字符串中的版本號(hào),也不會(huì)從服務(wù)器重新下載網(wǎng)頁。切換瀏覽器模式的同時(shí),瀏覽器也會(huì)自動(dòng)切換到相應(yīng)的文檔模式。文檔模式在在計(jì)算機(jī)有著廣泛的應(yīng)用,特別在瀏覽器中,我們常見文檔模式有HTML文檔模式,XML文檔模式。

管理功能文檔模式管理以下文檔功能:

常規(guī) - 設(shè)置模式名稱,格式和文檔編號(hào)約定。

模式成員資格 - 定義哪些組可以訪問此模式。

元數(shù)據(jù) - 定義應(yīng)用于文檔的元數(shù)據(jù)字段。

工作流程 - 為屬于此架構(gòu)的文檔設(shè)置審核和審批流程。

信使 - 將文件發(fā)送給外部個(gè)人或內(nèi)部FileHold用戶查看和批準(zhǔn)。

自定義命名 - 為文檔設(shè)置命名約定。

自動(dòng)歸檔 - 定義庫中的目標(biāo)文件夾。

事件計(jì)劃 - 確定何時(shí)將文檔轉(zhuǎn)換為記錄,存檔或刪除文檔。

DB查找 - 對(duì)模式中的所有元數(shù)據(jù)字段執(zhí)行數(shù)據(jù)庫查找。1

文檔模式定義語言文檔模式定義語言(DocumentSchema Definition Languages, DSDL)是一種進(jìn)行 XML 驗(yàn)證和核心處理的框架,由獨(dú)立專家或?qū)<倚〗M制定的各種規(guī)范組成,每一種規(guī)范針對(duì)一個(gè)良好定義并具有良好邊界的問題域。通過本文研究 DSDL 組成,包括 RELAX NG 和 Schematron,這兩者已經(jīng)找到了各自的發(fā)展動(dòng)力,而其他部分仍處于開發(fā)中。

Document SchemaDefinition Languages (DSDL) [ISO 草案標(biāo)準(zhǔn)和 ISO/IEC 標(biāo)準(zhǔn) JTC 1 SC 34 WG 1] 是一組有關(guān) XML 驗(yàn)證和基本文檔組成的規(guī)范。DSDL 所體現(xiàn)的理念是使用多種方法進(jìn)行 XML 驗(yàn)證和核心處理,并且多種方法之間能夠互相補(bǔ)充。這并不是指創(chuàng)建一個(gè)具有所有這種功能的龐大系統(tǒng),相反,DSDL 創(chuàng)建了一種集合了各種標(biāo)準(zhǔn)的框架,您可以單獨(dú)使用這些標(biāo)準(zhǔn),也可以結(jié)合使用于進(jìn)行 XML 驗(yàn)證。這種方法避免了每個(gè)規(guī)范自身的復(fù)雜性,同時(shí)又提供了處理復(fù)雜問題的能力。下面列出了組成 DSDL 的 10 部分內(nèi)容:

第 1 部分:互操作性框架(Interoperabilityframework):該部分是 DSDL 的規(guī)范結(jié)構(gòu)圖,并對(duì) DSDL 進(jìn)行了整體概述。

第 2 部分:基于語法的驗(yàn)證(Grammar-basedvalidation):該部分是 ISO RELAX NG。

第 3 部分:基于規(guī)則的驗(yàn)證(Rule-basedvalidation):該部分是 ISO Schematron。

第 4 部分:驗(yàn)證方法選擇(Selectionof validation candidates):該部分是基于名稱空間的處理語言(Namespace-based Validation Dispatching Language, NVDL),一種分解由多個(gè)詞匯表組成文檔的方式,以實(shí)現(xiàn)更輕松的驗(yàn)證。該部分一直具有很多投入,但是 James Clark 的名稱空間路由語言(Namespace Routing Language, NRL)是其中最主要的投入。

第 5 部分:數(shù)據(jù)類型(Datatypes):該部分是創(chuàng)建新原語數(shù)據(jù)類型的框架。Jeni Tennison 的數(shù)據(jù)類型庫語言(Datatype Library Language)是其中一項(xiàng)投入。它定義了一種 XML 語言,可用于定義新類型的詞匯表示的正則表達(dá)式。從某種程度上說,這是專門為 W3C XML Schema (WXS) 中的分面機(jī)制(facet mechanism)提供,但是 DSDL 第 5 部分中最重要的區(qū)別是添加了將新數(shù)據(jù)類型映射到值空間的機(jī)制,而 WXS 沒有此項(xiàng)內(nèi)容。事實(shí)上,這允許您指定新數(shù)據(jù)類型的語法和語義,這非常關(guān)鍵。

第 6 部分:基于路徑的完整性約束(Path-based integrity constraints):該部分的目的是定義與 WXS 的 xs:unique、xs:key 和 xs:keyref 類似的特性。

第 7 部分:字符表驗(yàn)證(Characterrepertoire validation):該部分的目標(biāo)是創(chuàng)建一種能夠允許模式設(shè)計(jì)者約束字符集(可以在不同 XML 詞匯結(jié)構(gòu)中使用)的語言。目前有很多方法可以表示 RELAX NG 中出現(xiàn)的此類約束,但是嘗試對(duì)諸如混合內(nèi)容這類情況應(yīng)用約束時(shí)就會(huì)失敗。第 7 部分則可以做到這一點(diǎn),例如,它允許表示這樣的約束:“元素和屬性名以及 PI 目標(biāo)應(yīng)該為基本的 Latin-1”或 “數(shù)字不能出現(xiàn)在元素和屬性名中”。

第 8 部分:聲明性文檔操作(Declarativedocument manipulation):這是定義可由多種 XML 語法表示的模式的方法,其基礎(chǔ)是一種強(qiáng)大的模式技術(shù),名為 Architectural Forms。

第 9 部分:可識(shí)別數(shù)據(jù)類型和名稱空間的 DTD(Datatype- and namespace-aware DTDs):該部分使 DTD 在當(dāng)前 XML 開發(fā)中更為有用,它在最新的模式語言中添加了更加通用的特性。

第 10 部分:驗(yàn)證管理(Validationmanagement):該部分允許您將來自 DSDL 的不同部分組合起來。為預(yù)處理和驗(yàn)證文檔提供了管道框架(pipeline framework)。2

HTML文檔模式IE5.5引入了文檔模式的概念,而這個(gè)概念是通過使用文檔類型(doctype)切換實(shí)現(xiàn)的。

HTML文檔模式主要分為:混雜模式/怪異模式(quirksmode、標(biāo)準(zhǔn)模式(standards mode)和準(zhǔn)標(biāo)準(zhǔn)模式(almost standards mode)。

!DOCTYPE

在所有 HTML 文檔中規(guī)定 DOCTYPE 是非常重要的,這樣瀏覽器就能了解預(yù)期的文檔類型,告訴瀏覽器要通過哪一種規(guī)范(文檔類型定義 DTD)解析文檔(比如HTML或XHTML規(guī)范);

!DOCTYPE聲明不屬于 HTML 標(biāo)簽;tag; 它是一條指令,告訴瀏覽器編寫頁面所用的標(biāo)記的版本。

HTML 4.01 中的 doctype 需要對(duì) DTD 進(jìn)行引用,因?yàn)?HTML 4.01基于 SGML。而 HTML 5 不基于 SGML,因此不需要對(duì) DTD 進(jìn)行引用,但是需要 doctype 來規(guī)范瀏覽器的行為(html 5簡(jiǎn)化了這種聲明,意在告訴瀏覽器使用統(tǒng)一的標(biāo)準(zhǔn)即可, 這個(gè)統(tǒng)一的標(biāo)準(zhǔn)去哪里找啊,www.w3.org)。

標(biāo)準(zhǔn)模式

對(duì)于標(biāo)準(zhǔn)模式,可以通過使用下面任何一種文檔類型來開啟: