首頁  >  文章  >  後端開發  >  XML標記的語意

XML標記的語意

黄舟
黄舟原創
2017-02-25 14:11:072246瀏覽

[摘 要] 儘管XML文件類型定義提供了一種機器可讀形式的、能夠說明XML語言語法的機制,但目前並沒有類似的機制來指定XML詞彙表的具體語義。這意味著沒辦法說明XML標記的意義,由XML形式呈現的事實和關係無法清晰、全面和規範地定義。這在實務和理論上都引起了嚴重的後果。從正面的方面來看,XML結構能被賦予任意語意,並可用於最初的設計者無法預見的領域。從不太積極的方面來看,內容開發者和軟體工程師必須依靠乏味的文檔,或者更糟的情況是,只能依靠猜測標記語言設計者的意圖來開展工作。這過程既費時費力,又易出錯,還無法核實驗證。即便是設計者當初的建檔工作做得相當完美,不如意的情況還是會發生。另外,對標記語意本質研究的匱乏也意味著屬於工程應用領域的數位文件處理根本沒有理論。儘管目前正在進行的一些工程(XML模式、RDF、語意網)已經取得了一些成績,但是這些工程都沒有直接全面地解決XML標記語意的核心問題。本文回顧了標記意義這個概念的發展歷史,闡明了解釋XML正式語意的動機,並介紹了一個研究語意的科學研究計畫-BECHAMEL標記語意計畫。
[關鍵字] SGML XML 標記語意知識表示
 1 引言
 
近年來,隨著數位出版的發展、萬維網應用的迸發以及電子商務領域的快速發展,我們日常的社會、商業、文化、生活等各方面都開始應用閃光標準化通用標記語言(Standard Generalized Markup Language,SGML)和可擴展標記語言(Extensible Markup Language,XML)的文字標記系統。 SGML/XML是一種定義描述性標記語言的機器可讀技術。除去一些需要特別處理的部分,這種語言能清楚定義文檔結構及其潛在意義。 SGML/XML發展速度很快,廣泛使用這種技術能夠支援高效能的文件互通處理和出版。
這種美好的願望已經部分實現了,SGML/XML的優越性超出了人們的預期,但是SGML/XML文件系統在功能性、互通性、多樣性和可獲取性上仍有待提高。若不把握這個機會,後果會非常嚴重:實業已經花費了高昂的財務成本,也失去了很多機會;在關鍵的安全應用上還有可能導致一些災難;對於殘疾人來說,這會阻礙他們平等地獲取當代社會文化和商業福利。此外,久已存在的一些問題也不斷提醒我們,當下最好的數位文件模型仍有缺陷,至少是不夠完善的。
這些問題的根源在於,儘管SGML/XML能為文件提供有意義的結構,但是SGML/XML不能以系統的機器可處理的方式來表示文件元件和主題之間的基本語意關係。 SGML/XML支援對機器可讀的「語法」進行說明,但是它沒有提供解釋某種語法的語義內涵的機制,所以一個SGML/XML詞彙的潛在意義到底是什麼,還沒有辦法進行形式化表達。利用當下的SGML/XML甚至無法表達非常簡單的有關文件標註系統的基本語義事實,這些事實通常是標記語言設計師預先設計的,但具體實現仍舊依賴於標記語言用戶和軟體。
這種表達功能的缺失使得SGML/XML使用者必須猜測標記語言設計師想到的但沒有形式化表達出來的那些語意關係。內容開發者必須猜測設計者的意圖,在內容編碼時依靠這些推斷來開展工作,無法將自己的推斷和意圖清晰地表達給其他人或傳遞給處理編碼內容的應用程式。軟體設計師也需要猜測標記語言設計師的可能意圖,並將這種猜想設計到軟體工具和應用系統中。有時候二階的猜想是必須的:軟體設計師要猜測內容開發者對標記語言設計師意圖的推論。
很顯然,這些猜測是不完整的、易錯的、未經證實的。而且,製作和實現過程都費時費力,功能性和互通性也很差。為一般的自然語言文件配備一個SGML/XML的說明書並不能完美地解決這個問題。當然,普通的自然語言文件可以提供內容提供者和軟體工程師一些提示,但目前SGML/XML文件還沒有通用的規則。不管怎麼樣,普通的自然語言文件不是機器可讀的形式,這就是我們要說的SGML/XML標記系統的問題。
與SGML和XML相關的機器可處理的語義描述方面的設想還未形成,這是目前工程領域的問題和未來發展障礙的根源,相關的語義學研究也很少,但是很多學者已經開始關注此問題。 W3CSchema方面的工作與此相關,但也只是涵蓋了這個問題中的很小一部分(例如資料類型)。 W3C的「語意網」計畫也與此相關,但它是為了發展通用的基於XML的知識表示技術。我們的研究重點是文檔標記的語義,它隱藏在實際的文檔處理系統中。人們可能會說語意網的本質就是設計語意標記,然而在本文中,我們認為解決上述問題還必須深入考慮標記的本質意義。
接下來,本文首先從歷史背景方面說明標記的意義問題(標記在文本處理方法的發展中扮演了有趣的角色);其次,詳細描述是何種因素產生了形式語義標記需求,何種因素決定了語義需求;最後簡要介紹一項多個機構正在參與實施的研究計劃——BECHAMEL標記語義計劃,該計劃正努力解決標記的語義問題。
 2 歷史背景 
文件「標記」大概可以算是傳播系統的一部分,包括早期的書寫、抄寫出版和印刷,但是隨著數位文字處理和排版的發展,標記的使用變得自覺又常見,同時也成了系統開發中重要的創新領域。 1960年代到80年代是文件標記系統全面系統化發展的時期,重點工作是提升數位排版和文字處理的有效性和功能性。在1980年代初期,人們依舊致力於研究標記的理論框架,並利用該框架支持高性能係統的發展。這方面的一些成果已經發表,但大部分成果也只是記錄在工作文件和各種標準形式的產品上。
在這個階段出現的一種觀點是,文檔作為一種智力成果,更適合被抽象為一系列物件(如章節、段落、公式等)的有序層次化結構模型,而不是一維文本字元流模型。字元流常夾雜著大量定義格式的編碼、描述設計佈局的結構(如頁碼、分欄、印刷行)、像素值矩陣,以及其他一些在不同的文件處理及儲存系統中潛在的表達形式。有序層級結構模型概括了兩種具有本質差異的標註,分別是識別編輯文本物件(標題、章節等)的標註和說明版面要求的標註。前者的應用已經取得一些成果。諸如標題、章節、段落、方程式、引文之類的相關文檔元素能被分隔標記清晰地標示出來,之後通過映射給元素類型的規則來對元素進行間接處理。這種內容和形式的分離,能夠以常見的組合經濟的方式實現基礎層面的間接性和抽象化。在文件處理的所有方面,這種分離形式有巨大而多樣的實用價值,更重要的是它似乎說明了「文件到底是什麼」這個問題。用於實現如此功能的描述性標記不只是標示了元素的範圍,也攜帶了文件模型想要揭示的意義(如這段文本是一個章節)。
20世紀80年代初期,美國國家標準化局(ANSI/ISO)發布了很有影響力的SGML文件標記元語法,並梳理了標記和文檔結構方面之前所做的理論和分析工作。 SGML為定義描述性標記語言提供了一種機器可讀的形式。作為一種元語法,SGML沒有定義標記語言,而是詳述了開發標記語言中的機器可讀的技術。這個定義的核心是一種類似巴科斯-諾爾範式(Backus-Naur Form,BNF)的形式化表現機制。此機制攜帶有用於定義類型化屬性及其值的規則,以及其他一些用於進一步抽象和間接化的設計(請參閱註釋中對文件類型定義(Document Type Definitions,DTDs)和巴科斯-諾爾範式相似程度方面的總結)。從結構上來說,SGML文件是一種具備有序分支和帶有標記節點的樹,它是其對應的DTD的形式化產物。
經過多年的分析和實踐,SGML背後的基本理念已經眾所周知。利用元語法層面的產業級標準和詞表層面的在地化創新所帶來的優點,SGML的特有機制(類巴科斯-諾爾範式的元語法,類型化屬性/屬性值對,實體引用等)在應用程序和工具方面得到了高效實現。 SGML標記語言本身在發展中似乎也同時支援和優化用於文件系統設計、實施和利用的理想的工作流程。 1980年代中期到90年代初期,大量以SGML為基礎的標註系統發展起來。
儘管SGML的發展得到很多關注,其想法也不錯,並在多個領域成功實施,但在最初的十年裡,幾乎沒有人使用它。導致這個結果的因素有很多,但最重要的還是SGML本身過於複雜,特別是SGML中包含了許多複雜的可選屬性,對應的軟體可能根本沒必要對其實現,導致SGML軟體開發速度非常緩慢。更糟的是,如果文件未經DTD驗證,進一步的分析就不可能實現。縮寫控制意味著如果不考慮文件語法,元素邊界都無法確定下來。另外,SGML也包含了一些其他屬性,它們會導致現有的語法分析工具不適用於形式語法,無法進行高效率的語法分析。
在網路出版與交流方面,SGML系統可應用於HTML(超文本標記語言)方面。最初的HTML版本定義很鬆散,缺乏正式的語法說明。後來人們對HTML的SGMLDTD有了興趣,事實證明為已經成為「正確」實踐的東西設計DTD是很困難的。更重要的是,由於在最初的HTML說明書中,供應商隨意地把程序性標記(如

)添加到關鍵性的描述性標記中(如),導致開發者和用戶同時忽略描述性標記和程序性標記的差異。 HTML的描述性部分甚至無法很好地反映文件的層級結構,說明書也無法提供樣式表語言來支援間接性。最後,SGML的機制無法擴展元素集和使用替換元素集,HTML文件似乎不能被通用的SGML處理器(允許拓展和替換DTDs)處理,而只能被特定的HTML格式化程式處理,配合處理器中硬編碼的格式規則處理HTML標籤。 <br>HTML後續的發展可以看作原有鬆散的HTML語言努力轉變為SGML語言序列的過程。如果有足夠的時間和資源來應用那些成熟的文件系統設計規則,那麼這種轉變是可以實現的。不過,新成立的W3C機構在採納新元素集合以及在Web應用SGML上面臨極大的壓力。 SGML的不足使其很難在Web上發揮SGML和描述性標記的優勢。主要問題是SGML中存在大量多選特徵、複雜的形式化語法,以及必須依賴DTD來確定元素等。 <br>為了確保HTML和其他相關技術能夠充分利用元語法的優點,使用者能夠更便捷地開發和分享新的特定領域中的元素,文件能夠不經DTD索引就被解析為元素樹,SGML工具和應用能夠協調發展,W3C創建了SGML的子集,希望能夠提供一個相對簡單的標準(無需進行選擇)、一些相對簡單的語法,以及一種無需DTD也能處理未經驗證的文檔格式的方法,於是XML應運而生。經過一年半的發展,XML被W3C以推薦標準在1998年正式推出。 <br>自1998年開始,新穎的XML標記語言呈現爆炸性成長,這種快速發展的動能一直持續到今天。這種爆炸式發展的原因在於:<br>(1)特定領域的新型標註系統的需要。隨著科學、醫學、商業、法律、工程和這些大型學科的特定領域中的網路電子出版應用的增長,新型標註系統需要開發。 <br>(2)降低開發新型工具及其應用成本和複雜程度。與SGML相比,解析XML更加簡單。 <br>(3)XML標記支援與出版相關的資訊處理與傳播過程,以及與出版無關的應用。 <br>值得慶幸的是,我們終於開發出有效又容易實施的技術,並以此來創造高效能的標記語言、數位文檔,以及與其他資訊管理程式相融合的文檔處理和出版系統。特別需要指出的是,對文件結構中潛在意圖進行深加工的需求促進了新的系統功能的產生,同時也提出資訊自動處理的需求,至少是不用大量人工幹預的新需求。 <br>  3 問 題  <br>不幸的是,已有的一些經驗和回饋讓我們清醒地意識到,我們對描述性標記在傳達意義上的理解,以及目前的技術根本沒辦法滿足我們的期望。 <br>20世紀80年代,文件標記的系統化和體系化工作主要集中在三個面向。 <br>(1)通用文檔模型的概念化。 <br>(2)文件標記語言相關的形式化規範、詞彙表和語法相關技術的發展。此文檔標記語言可以定義具體的文檔類,並對模型進行實例化呈現。 <br>(3)標示語言的發展(如CALS、AAP、TEI、HTML等)。 <br>使用描述性標記語言來識別和標註文件的邏輯部分能清楚地傳遞以前只能以潛在形式存在的「意義」。至少程序性標記的意義可以十分明確、清晰,並適用於機器處理。 <br>很多人將XML文件稱為「自描述資料」。雖然早期有一些不同的聲音(參見Mamrak,最重要的是Raymond和Tompa的觀點),但在描述性標記發展的最初階段,文件研究人員的熱情漸漸消失,似乎大多數人覺得沒必要再探索更費力的文檔表示方法。定義清晰的SGML標記語言表達了文件結構的潛在意義,使其能充分、有效地用於機器處理。本文的一位作者曾經參與寫過這樣一句話,「最後,我們應該清楚地知道,對於相互競爭的標記系統來說,描述性標記不僅是最好的方法,而且是人們可以想到的最好方法」。 <br>20世紀90年代的經驗表明,這份自信有些盲目。從實際的角度來看,今天的情況有了很大改善,但互通性和功能性上的一再失敗表明,在為文件提供潛在意義及計算機可處理形式方面,SGML/XML並沒有真正成功。在SGML/XMLDTD中,元素和屬性的精確度同其他相似的文檔類型定義中的精確度無法匹配,部分內容也不是形式化的,需要推斷的地方並沒有唯一肯定的答案。但是定性地來說,人們對文檔的認識與SGML出現之前不同,那個時候人們對文檔結構意義的認識來自於對那些相對隱晦不明的線索的反思。 <br>DTD的本質屬性解釋了上述情況出現的原因:DTD僅顯示一個詞彙表及其對應的語法,並不表示詞彙之間的語意關係。一般意義上的「標題」元素是否以<title>表示,<title>是否與我們平常所說的「標題」概念類似,這些都不能由DTD決定。 DTD只能表示有一個特定的元素,它的標籤是字串“title”,該標籤可能會與其他元素一起使用,這些元素的定義方式都一樣。所以,使用標記語言來標註文件的內容開發人員和軟體設計人員需要透過文本中與「title」相關的自然語言及其在上下文中的使用方式簡單地推斷<title>標籤表示的意義。也許最初的語言設計者也無法系統嚴格地定義<title>的意義。 <br>當然,這誇大了實際情況。從某種意義上說,在標記語言開發人員提供的純自然語言文件中,每個標記的意義基本上可以表達清楚。但是,即使是工業和學術領域中標記格式最好的DTD文檔,也沒有從根本上解決問題。 <br>設計一款反映標記語言中語義關係的軟體時,語言設計人員必須能夠將文件中各部分之間的關係表示清楚;之後軟體工程師必須能夠(搜尋、查找、開啟)使用這個標記語言文檔,並設計應用程式來表現其優點。這兩個步驟都無法用機器驗證,可信度無法保證。如果要人工參與的話,就會有礙高效能網路文件處理和發布系統的發展。所以我們需要一個機制保證標記語言設計人員能夠詳細地、形式化地指定語義關係,還能被應用程式讀取加工,並完成自我配置,無需一個個地人工參與。 <br>下面我們來看一些具體的語意關係。這些關係或多或少存在潛在的實用價值,但目前它們無法方便系統地得以利用,因為尚無標準的機器可處理的表現形式。事實上,許多關係至關重要,軟體設計師常以特定的方式推斷它們在文件中的存在,並建立特定的系統對其加以利用。 <br>類別關係。 SGML/XML中不包含用來表達元素、特徵或特徵值中類別的層級結構或類別成員關係的通用結構。類別是目前軟體工程主流結構中最基本、最實用的模組。我們不能說,段落是一種結構上的元素(isa關係),或所有結構元素都是可編輯的元素(ako關係)。兩種基本的SGML/XML設計有時可以依照屬性/值實現基礎分類(具體可以使用「type」和「class」這兩種屬性)。這種分類技術尚不夠成熟,SGML和XML也無法提供更好的機制來控制和限制其使用。在實際應用中,許多文件類型設計師都採用類別的層級結構來進行設計。 XML Schema提供了類別關係的明確聲明,但它本身並不能在語意上說明這些複雜類型與其他複雜類型到底有哪些差異。 <br>繼承關係。在許多標記語言(例如TEI和HTML4.0)中,某些屬性會被包含元素所繼承,某些情況下被包含的文字內容也會繼承這些屬性。例如,如果一個元素的屬性/值符號為“lang="de"”,這表示這段文字是德語,那就表示它的所有子元素屬性都是德語。但是DTD並沒有提供正式說明用以指定哪些特徵可以被繼承。而且,這樣的繼承關係並不是固定不變的,有時也會因為包含元素的二次定義而改變。繼承的方式也有很多種,有些涉及元素的屬性,有些涉及屬性的屬性,有些則涉及文字和元素的內容。例如,如果標記表示句子是德語,這表示句子中的所有單字(除非特殊情況)都是德語。同樣地,所有單字片語中標記了刪除屬性的就刪掉,標記了重點屬性的就強調,將一部分內容標記為一個段落,就意味著這部分內容中的所有單字(或元素)都屬於這個段落。無法指定DTD繼承哪些屬性,也不能指定其繼承邏輯(包括規則錯誤)。軟體設計師經常對特定標記語言中的這些關係進行推理(判斷正誤),然後在其開發的工具和應用程式中加以實現。 <br>語境關係和引用關係。在許多標記語言中,即使某元素有一個固定的意義用於標記相同元素類型,這個元素也可能會因為上下文關係的不同而表示不同的意義。例如,某些文本的標記為“<title>”,其具體所指也要依賴文本的結構位置。 「」下的「<title>」是指物件「<document>」的標題,而「<chapter>」下的「<title>」是指這章節部分的標題。判斷其為何種標題的標準並不存在。參考文獻中包含「<title>」元素的情況更複雜一些,這裡的標題是文章外部的一個實體。類似這樣的關係不能用DTD表示,但可由軟體設計師推理得出,這對滿足文本的高效自動化處理很有必要(如果每個意義都用不同的通用標識符表示,那隻能解決一小部分這樣的問題。 <br>所指中的本質變化。有一種類似的但意義更加模糊的情況存在,同一對像有多種屬性,每種屬性都是用同樣的格式指向同一個指代物,但必須仔細解釋以確保其所指的明確性。例如,一個特定元素實例有以下三個特性:它是一個定理,它是德語寫的,它是字跡模糊的。這樣簡單直接的謂詞描述表示的是同一個東西(或元素實例)嗎?這樣表示知識夠穩健嗎?實際上它的意思是這樣的,這些抽象的句子是德語寫的,它們表達的命題是定理,它們的具體表現樣式是模糊不清的。嚴格來說,沒有任何東西擁有所有這些特性。 <br>完全同義和部分同義。標記語言的完全或部分同義是一種極為重要的語意關係,而用來描述這種同義關係的機制缺失造成嚴重的異質性問題。使用單一標記語言也許能消除完全同義,但是隨著標記語言種類的增加,完全和部分同義仍舊是標記語言之間難以表示又重要的關係。目前我們還沒有合適的電腦可處理的形式化方法來記錄不同標記語言中的元素、屬性和屬性值的同義性。建構形式(見下文)可以記錄多數完全同義的情況,但部分同義卻很難記錄,在實際應用中部分同義現象更為常見。由類別包含關係表示的部分同義問題在解決異質性問題上還有很長的路要走。 <br>  4 BECHAMEL計畫 <br>BECHAMEL標記語意計畫起源於1990年代末,由Sperberg-Mcqueen(W3C/MIT)和其他機構的研究人員合作完成,他們來自文化科系、語言與資訊科技部門機構、卑爾根大學研究基金會(Bergen University Research Foundation)、伊利諾大學香檳-厄巴納分校的圖書情報研究生院電子出版研究小組。此計畫的名稱由所有合作者所在城市名稱的縮寫形成(Bergen, Norway; Champaign, Illinois; Espñola, NewMexico)。 <br>BECHAMEL計劃的研究目標如下。 <br>(1)定義與文件標記語意密切關聯的表示和推論問題,發展一種所有語意感知文件處理系統都必須解決或面對的問題分類法和描述法。 <br>(2)研究常見標記語言的屬性和語意關係,評估規範的知識表示技術(如語意網絡、框架、邏輯、形式語法和產生式規則)的適用性。為了對這些關係和屬性建模,也要考慮它們在知識表示上的充分性、優雅性、簡約性和運算效率等。 <br>(3)發展並測試形式化的、機器可讀的表示框架,在這種框架中需要能夠表示標記語言的語意。 <br>(4)探討語意表示技術的應用形式,如支援轉碼、資訊檢索、可獲得性增強等。目前我們關心的重點是支援文件資料庫實例的語意推理,因為我們相信這是應用知識表示技術最好的著力點。 <br>(5)與人文計算研究領域的數位圖書館內容編碼計畫合作,聯合軟體工具開發人員,進行語意表示方案的大規模測試。 <br>早期的Prolog實驗台已經全面發展成為一個知識表示原型平台,用於表示結構性文件中的事實和推理規則。該系統允許分析人員指定某些事實(如通用標識符和屬性值),並將其與語義實體和屬性相關的推論性事實分開。 <br>這個系統也提供了一個抽象層,使得標記的意義能夠以機器可讀的和可執行的形式明確表達。在此基礎上可以根據文件組成部分進行推論,包括那些模糊的結構,如層次重疊的組成部分。我們已經發展出一個謂詞集合,能夠模仿W3C的文檔物件模型中用於節點層級結構導航的方法,並且可以在文件類型定義中檢索各種屬性取值和相關資訊。這樣就能明確區分解析器分析的語法訊息,分析人員表達的文檔語意。 <br>初步的研究結果顯示語意推理辨識的複雜性以及語境不確定理解的複雜性。這個雛形推理系統證明有關標記的自動推理是可行的,而Prolog的規則可以處理非單調性和情景模糊性等複雜情況。進一步的研究可以參考引文。 <br>  5 標記的語意建模  <br>文件標記的語意是能夠被標記語言使用者所理解的抽象結構、屬性與關係,標記及其文法隱含著這種語意線索。標記的語意可以藉助知識表示技術透過明確結構、關係和屬性來建構相應的計算化模型。 <br><p>參考如下XML標記文件的片段</p> <p><img src="https://img.php.cn//upload/image/197/946/771/1488002955228879.jpg" title="1488002955228879.jpg" alt="XML標記的語意"></p> <p>#熟悉結構</p> <p>化標記的讀者自然知道文件元素中的標籤P代表段落,該段落有一個標題,標題元素之後的段落內容形成了文本主體,它從標題元素之後開始,並在段落結束標籤之前結束。標籤的意義和用法並不一目了然,所以作者或讀者可以參考標記集合的說明文檔</p> <p><img src="https://img.php.cn//upload/image/526/100/980/1488002987952563.jpg" title="1488002987952563.jpg" alt="XML標記的語意"></p> <p>#明顯的標記是為方便人類讀者而設計的。這些標記並不能藉助文件語法分析器,從資料結構中抽取。如圖1所示,解析樹(樣式表程式設計師所用)展示了頭部、引文以及引文前後的文本,這些部分每個都是段落的獨立子節點,但解析樹沒法展示以下特徵:頭部是整個段落的一個屬性,文本是內容結構中的兩個部分,引文嵌入在文本內部。 <br>事實上,資料結構本身並沒有段落和引文之分或與之相關的東西。資料結構只是關聯資訊的圖型結構,就像一個有著「段落」取值的通用識別碼。程序應能推斷出文件意義與使用標籤之間的一致性,並能在樹狀結構從一種形式轉換為另一種形式時利用這種知識。但是,這種轉換(例如,透過XSLT、DSSSL或類似C++的程式語言進行轉換)依賴的是語義推理,而不是顯性的編碼</p> <p><img src="https://img.php.cn//upload/image/767/427/454/1488003021428176.jpg" title="1488003021428176.jpg" alt="XML標記的語意"></p> <p>圖2展示如何透過利用語意知識來豐富和增強語法樹。利用知識表示技術能夠在更高的層面上將整體和部分之間的關係進行編碼,更適合電腦處理。此圖展示了一種傳統的語意網路表示方法,當然其他的方法也正在發展中,包括框架表示法、規則表示法、形式語法以及基於邏輯的表示法等。語意網計劃(本文第八部分)的發展甚至能為標記語言本身提供適當的表示方法。問題的關鍵在於,要為無法由傳統的XML/SGML解析器建模和執行的抽象概念、關聯和約束​​建立一個層次體系。 <br>在機器可讀的文件(如DTD或語法結構)裡的編碼知識能夠被用來驗證文件的語意約束,為應用程式提供更強大的文件模型。這些更有表現力的表示方法為更好的文件處理系統的設計和實現提供了強有力的支持。 <br> 6 應 用 <br>近年來,許多新技術的發展使得常規的結構化標註越來越盛行。這些技術在資訊管理中主要強調以下幾個方面的問題。 <br>轉換和聯合。對SGML/XML開發人員來說,最常見的工作就是設計轉換形式,從一種應用語法轉換到另一種應用語法。這樣做是為了建立新型文件表示方式,或方便其儲存於資料庫中。有時候,開發人員需要整合或調整大型的數位文件集合,每個數位文件都由無法進行互通的標記語言表示。不考慮轉換的範圍大小,常規的解決方式是使用一種在語法解析樹上起直接作用的轉換程式語言。在原始檔分析中產生的樹狀結構轉換成目標語言的樹狀結構實例。轉換之後的樹被序列化成新的文檔實例、圖形或音訊。 <br>資訊孤島。這個問題與上述的轉換問題很相似,但是其目標不是將一個形式的文檔轉換為另一種形式的文檔,而是允許分佈存儲的文檔或文檔片段能夠向系統用戶提供一個通用的透明訪問接口。儘管沒必要將文件從一種標記語言逐字逐句地轉換成另一種標記語言,但是系統必須能夠保證文檔內容表面上看起來是無縫融合的,儘管文檔的編碼可能差別很大。 <br>可獲得性。創作工具逐漸接受了結構化標記,這已經成為視覺障礙用戶獲取數位文件的福音。聲明性標記使得人們能夠借助螢幕閱讀器或點字顯示器進行閱讀,並在助記符幫助下進行推斷,而不是利用圖形線索。但是,目前這樣的應用需要依賴使用者本身的能力或介面軟體,基於獨立的標籤內容或語法所得出的結構性推論。正如標籤集文件中所描述的一樣,標記語法約束及標記的意義和使用都嚴格地依賴於文檔作者的可信性。可惜的是,作者經常會誤用標籤,最糟糕的例子就是在web頁面上使用「頭部」標籤來標記某些特別的版面。 <br>安全處理。發展更有表達力的標記模式語言(例如W3C的XML Schema語言)的部分動力是人們認識到標記錯誤、誤用和濫用的後果遠比糟糕的格式化輸出要嚴重得多。聲明性標記不僅用於電子商務,也用於安全資訊領域,例如醫療記錄和航空工業。這些領域的開發人員不僅要確保數位文件的語法結構規範,也要確保其遵守某些安全協議,以確保文件的安全處理、儲存、傳輸和表示。 <br> 7 標記語意的優點 <br>目前BECHAMEL計畫的研究結果顯示,標記語意能夠透過以下幾種方式解決上述問題。 <br>聲明性的、機器可讀的語意描述。就目前的實際情況而言,結構化標記語言設計師用自然語言文本表達了標籤的意義,明確了其適當的使用方式。形式化的標記語意體系使得本體之間的聯繫能被電腦程式清晰地表達,並實現自動化處理。 <br>假設的驗證。在沒有形式化標籤集的文件環境中,擁有標記語意解釋能力的系統提供了測試猜測和驗證假設的環境。在這種環境中,未公開的標記語言使用者會對那些他認為在文件資料庫中持續應用的屬性和規則進行推測。之後文檔處理軟體就會檢索那些與假設規則相容或不相容的文檔元素。 <br>語意約束的增強。支援有效性驗證的解析器不僅能夠像常規語義解析器一樣完成語法驗證,也能夠在發現或編寫語義的過程中同時驗證這種猜測,這樣的解析器同樣能夠加強語義約束。這項操作同假設驗證一致,但是在這種情況下,語意約束是已知且規範的。 <br>優化的更有表現力的APIs。使用SGML和XML應用程式轉換或表示數位文件時,都會使用標記語意。但是只有在執行程式時,更高層級的屬性和關聯才會顯示出來。形式化的、機器可讀的語義會豐富應用程式的接口,加快軟體設計速度,隨著標記語言的發展和變化,這些軟體維護起來也能更加方便和安全。 <br> 8 相關工作 <br>針對上述挑戰和問題,還有很多其他的文件處理技術、標準和研究計劃。接下來我們整理一下試圖解決這些問題的現有想法。 <br>語意網。語意網指的是眾多相互連結的研究和標準化工作,就像當下一些有關標記和知識表示技術的想法。最核心的當屬W3C的資源描述框架,當然也包含其他的技術,例如ISO的主題圖技術。語意網的範圍很廣,目標宏大,旨在利用通用知識表示技術來完善標記語言,從而「促進人類知識的全面發展」。語意網的研究和標準化不同於當下的想法:不是對特定領域進行語意描述,而是實現對所有領域的知識進行語意標註。目前研究的目標特別盯在「文檔標記語意」上,而非「通用的語意標記」。語意網路技術的進步會讓我們利用語意網標記語言對標記的語意進行編碼成為可能。 <br>W3C的文檔物件模型。文件物件模型是一個應用程式接口,是對XML文件進行分析後產生的層級式資料結構。人們想設計能為標記語義提供各種介面的系統,類似於DOM所提供的標記語法相關的形式,最終能夠形成“語義DOM”,對W3C的語法DOM形成補充。 <br>W3C的Schema。 XML Schema是一門基於XML的語言,能夠取代傳統的DTDs,用於約束XML文件。 DTDs的限制推動了這門語言的發展,這些限制與我們在BECHAMEL計畫中所面對的問題是類似的。 Schema允許文件類設計師定義複雜的資料類型,就像在高階程式語言裡面的做法一樣。但是,為了對標籤集建檔中的所有關係和約束進行編碼,我們還需要比當下的XML Schema更強大的表達形式。超媒體/時基結構語言(Hypermedia/Time based Structuring Language,HyTime)的架構形式。適應性廣泛的架構技術來自於這樣一種認識,即不同的標記語言應用程式常常透過樣式各不相同但語義上等價的結構進行編碼。架構形式允許文件類設計師將其自有的特定元素實例映射到更通用的各種架構實例上,這些架構實例更便於在不同的應用程式之間進行映射。這些映射的確表示了語意知識的約束形式,有利於解決上述轉換和整合上的挑戰。 BECHAMEL計畫在某種程度上就是要建立一個比架構形式表達更多語意關係的模型。 <br></p> <p> 以上就是XML標記的語意 的內容,更多相關內容請關注PHP中文網(www.php.cn)! <br></p> <p><br></p> <p><br></p>#
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:XML的解析下一篇:XML的解析