• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      利用XML格式解析原理批量進行成果資料格式檢查

      2013-10-29 01:10:24唐雪梅
      物探化探計算技術(shù) 2013年5期
      關(guān)鍵詞:文檔成果資料

      唐雪梅

      (中石化西南油氣分公司 勘探開發(fā)研究院,四川 德陽 618000)

      0 前言

      隨著成果資料的海量增長,成果資料格式檢查工作量十分繁重。為解決各種地質(zhì)科研項目成果提交的文檔格式需與上級要求的歸檔標準格式嚴格相符的問題,技術(shù)人員經(jīng)常面對電腦屏幕進行檢查。而對于電子文檔屏幕上展示的格式,如果不認真核對資料格式,就不能得到修正。作者在長期從事檢查資料格式的過程中,從研究電子文檔的不同格式入手,找到了Word文檔的XML格式這個切入點,從自己熟悉的編程語言入手,編制了一個功能較全的Word電子文檔格式檢查工具,可以快速地輔助解決進行資料歸檔前與標準歸檔格式的匹配問題[16],大大減少了人工進行資料翻閱的強度,提高了文檔糾錯率。

      1 XML格式和Word文檔的關(guān)系

      XML即可擴展標記語言(eXtensible Markup Language)。標記是指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種信息的文章等[15]。如何定義這些標記,既可以選擇國際通用的標記語言(比如HTML),也可以使用象XML這樣由相關(guān)人士自由決定的標記語言,這就是語言的可擴展性。XML是一套定義語義標記的規(guī)則,這些標記將文檔分成許多部件并對這些部件加以標識;它也是元標記語言,即定義了用于定義其他與特定領(lǐng)域有關(guān)的、語義的、結(jié)構(gòu)化的標記語言的句法語言。用戶可以定義自己需要的標記,這些標記必須根據(jù)某些通用的原理來創(chuàng)建,但是在標記的意義上,也具有相當?shù)撵`活性。一個簡單的XML格式描述的錯誤信息表示為:

      簡單說,XML就是一種數(shù)據(jù)的描述語言,雖然它是語言,但是通常情況下,它并不具備常見語言的基本功能即被計算機識別并運行[6]。只有依靠另一種語言,來解釋它,使它達到你想要的效果或被計算機所接受作為一種便捷的數(shù)據(jù)操作和數(shù)據(jù)傳輸?shù)臉藴?,在如今各種網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)過程中發(fā)揮著越來越重要的作用。特別是現(xiàn)在,各單位、企業(yè)都不止一個應(yīng)用系統(tǒng),數(shù)據(jù)不同步、數(shù)據(jù)不共享已經(jīng)給人們工作中帶來了許多麻煩。而各系統(tǒng)的數(shù)據(jù)庫不同,開發(fā)平臺不同也直接給數(shù)據(jù)共享的實現(xiàn)帶來了很大的困難,XML所具有的靈活性恰恰可以解決這一數(shù)據(jù)傳輸問題,使得不同平臺數(shù)據(jù)庫的數(shù)據(jù)有了一個自定義的標準,開發(fā)人員可以利用XML跨越不同平臺和不同數(shù)據(jù)庫系統(tǒng),利用程序把數(shù)據(jù)轉(zhuǎn)換為XML進行共享。

      2 WordProcessingML簡介

      WordProcessingML(簡稱 WordML)即 Word標記語言,它是傳統(tǒng)Word文檔格式和內(nèi)容的一種鏡像處理格式。這種標記語言其實派生于結(jié)構(gòu)定義比較廣泛的XML格式。自Microsoft Office Word 2003伊始,新增了支持WordML的功能,引入了生成 WordML文檔的“Save as XML”命令。這種XML支持是其最令人興奮和最強大的功能之一,它針對XML進行了完整設(shè)計,并支持WordML的原生XML詞匯。從這以后,當雙擊一個由Word生成的XML文檔時,Windows加載程序會自動將該文件與Word進行關(guān)聯(lián)。WordML非常強大和靈活,足以捕獲整個往返過程中Word文檔的所有多信息編輯和格式。如果在Word中創(chuàng)建一個普通文檔,將其保存為WordML,然后再從Word中打開它,該文檔就能保證與原始文檔一樣。Word文檔的宏觀WordML描述結(jié)構(gòu)如下:

      從上面的格式也可以看出,XML與WordML格式是同承一脈,只是WordML是專門針對Word文檔定義的一種標記語言。WordML格式的文檔使用的根標記必須是“w:wordDocument”,根元素的名稱“wordDocument”來自http://schemas.microsoft.com/office/word/2003/WordML 命 名 空間。在WordML中,一般使用前綴“w”來引用這個命名空間。然后在根標記對之間結(jié)合使用其它的標記進行文檔屬性、字體、列表、樣式以及包括部分段落實體等的詳細描述。當從Windows資源管理器中雙擊該文件時,Windows會自動確定它是WordML文檔(通過檢查頂部的mso-application處理說明),然后啟動Word來處理它。

      批量檢查Word文檔的可行性。眾所周知,包含有圖片、文字等復雜對象的Word文檔是不可識別的二進制代碼,文檔撰寫人在沒有Word編輯器的情況下,是不能直接通過文檔本身對其進行編輯和修改的,如果強行修改會導致文檔格式錯誤。即使能夠修改,也需要利用OfficeVBA、OLE對象、自動化控件或者支持其相關(guān)操作的控件等編程實現(xiàn)。但如果能夠?qū)ord文檔呈現(xiàn)為XML格式,這種編輯和修改將會變得方便和容易,而且具有很好的通用性[3]。圖1是 Word文檔按照 WordML描述的一種文檔模型,展示了其清楚的結(jié)構(gòu)模型和良好的層次關(guān)系。圖2則是一段示例文本片段的XML格式段落描述圖。正如Word編輯器中一樣,WordML中的描述結(jié)構(gòu)也以段落標記對<p></p>體現(xiàn)。這種描述格式不僅使對象和內(nèi)容一目了然,更重要的是它非常強大和靈活的格式,保證了與Word文檔的完美互換。如果熟悉WordML格式,用戶僅用簡單的記事本工具就可以完成很多的文檔修訂工作。鑒于此,我們通過WordML格式標記進行解析,將標準歸檔文件的XML數(shù)據(jù)和準備提交的成果資料數(shù)據(jù)的XML數(shù)據(jù)進行對比統(tǒng)計分析,找到與標準格式的差別,并通過自動或者手工修改,這就具備了批量檢查Word文檔的可行性。

      圖1 WordML描述文檔框架結(jié)構(gòu)Fig.1 The frame structure of WordML document

      3 資料格式檢查功能設(shè)計

      3.1 WordML格式解析

      WordML(WordProcessingML)是自 Office 2003 Reference Schemas開始的后續(xù)版本提供的一種XML方案,它描述了如何將一份Word文檔以及相關(guān)聯(lián)的部分(如字形、字體、表格、圖形等諸如此類),以XML文檔的形式表現(xiàn)。通過對WordML編程來操作Word,就可以在不用引入第三方庫的情況下,把Word當作XML文本來操作,并且可以在沒有安裝Word的機器上運行。最簡單的WordML文檔僅僅包含五種基本元素和一個命名空間(namespace),基本結(jié)構(gòu)由document和body元素組成,后跟一個或多個塊級元素,如表示段落的p[12]。一個段落包含一個或多個r元素。r代表一段連續(xù)文本,它是具有一組共同屬性(如格式設(shè)置)的文本區(qū)域。一段連續(xù)文本包含一個或多個t元素,t元素包含一個文本區(qū)域。表1列出了document、body、p、r和t元素在WordML中的含義。

      如圖2中選擇部分的段落描述和字體描述。我們通過讀取<p>標記的元素就能夠獲取有關(guān)文檔段落的信息,再通過其中的子元素標記<pPr>可以獲得段落屬性,通過<r>就可以獲取與運行屬性相關(guān)的一系列參數(shù)。如果對<r>再細分下去,可以通過<rFonts>獲取字體格式,通過<t>獲取段落之中的文本片段。如果對其中的所有項目進行解析,就可以獲取Word文檔包括內(nèi)容和格式的完整信息。圖3代表只包含一個文字片段“如何快速檢查成果資料格式”的XML格式標識和Word編輯工具顯示格式的匹配關(guān)系。

      表1 Document、body、p、r和t元素在 WordML中的含義Tab.1 Meaning of"document","body","p","r"and"t"element in the WordML document

      圖2 Word轉(zhuǎn)換的XML格式段落標記片段Fig.2 A part of the mark language for the paragraph of XML format transferred from the Word document

      在 .Net編程過程中,利用XMLReader、XMLWriter等操作類進行XML格式數(shù)據(jù)的讀取和篩選操作,這種解析方式具有很大的通用性,而且可以隨機地解析WordML中的任何一個部分,也可以解析整個文檔,但是這要求編程的時候結(jié)構(gòu)考慮要周到,否則隨著解析量的增加,組合方式的變化,程序的編制工作將會越來越復雜。

      3.2 格式檢查工作流程

      圖3 Word文檔XML描述與Word編輯器顯示對比舉例Fig.3 Comparison of format description based on XML for Word document and Office Word editor show styles

      地質(zhì)成果資料是復雜的,每種資料的歸檔格式要求不盡相同。編制格式檢查工具的時候要盡量使其具有通用性,這樣才能夠以不變應(yīng)萬變。其實縱觀各種歸檔資料的檢查對比工作,均脫離不了兩個主要的檢查點:①內(nèi)容的糾錯;②格式的檢查。在要求標準的歸檔格式之后,無論是成果報告、還是科研報告,既有共同點,也有不同點。共同點是各種成果報告均會涉及標題、目錄、正文、參考文獻等類似的版塊,均涉及到內(nèi)容是否有錯和段落、字體格式等是否有統(tǒng)一標準等問題。而不同點是不同的報告或者論文不同的版塊可能出現(xiàn)的位置不一樣,體現(xiàn)的形式如版面設(shè)置、段落格式、字體格式等不一樣。在編制批量檢查工具時,需要把對格式要求明顯的標題、目錄、正文、參考文獻等版塊分離出來,然后對每個版塊的標題格式、正文格式、所在位置、頁碼、頁眉頁腳、邊距等格式進行標準設(shè)置,并獨立保存為一個標準的格式文檔,并轉(zhuǎn)換成WordML格式描述文件(見圖3)。

      將成果資料的每個關(guān)注版塊獨立出來,格式和內(nèi)容都清楚明了,便于對比和檢查,更能夠保證在格式檢查時其相對獨立性,即使其中某個版塊檢查可能出現(xiàn)錯誤,也不會影響到其它的版塊的檢查正確與否,這樣就能全面控制成果資料歸檔格式的檢查的準確率。要能準確地檢查一份歸檔成果資料,首要條件是設(shè)置標準的成果資料格式。格式設(shè)置主要有:紙型、頁邊距,字體大小,顏色,行高等。對于不同部份分別設(shè)置不同的格式,如標題是小二號字、內(nèi)容是四號字等。讓被檢查的歸檔資料與這標準格式進行匹配和對比,匹配不成功就生成錯誤報告或者發(fā)現(xiàn)與標準格式異常的部分就提出糾錯建議。整個檢查工作的流程歸結(jié)起來如圖4所示。

      3.3 主要檢查功能設(shè)計

      圖4 歸檔資料與標準格式檢查對比流程圖Fig.4 Flow chart of contrast examination of format of archiving data and standard of presupposition

      資料格式檢查對比功能是本文討論的重點。程序可以直接完成Word到WordML格式的轉(zhuǎn)換工作,然后與標準XML文檔模板進行比較,將對比檢查結(jié)果或者修改意見通過檢查工具以信息或者輸出文件的方式展現(xiàn)給用戶。因為使用了一種易適配、易轉(zhuǎn)換的XML通用數(shù)據(jù)格式,所以各個模塊轉(zhuǎn)換和傳遞的數(shù)據(jù)都有統(tǒng)一的格式和標準,可以為后續(xù)檢查功能的增加提供方便靈活的接口。檢查工具目前具備如下的幾項檢測功能:

      (1)頁面設(shè)置檢查。頁面格式檢查較為簡單,利用標準格式提供的頁面設(shè)置參數(shù)與提供的歸檔資料XML格式對比主要參數(shù),如遇主要設(shè)置參數(shù)有差異,便在輸出報告中進行輸出和提醒,并給出正確的頁面設(shè)置參數(shù):

      (2)封面和扉頁的格式檢查。目前所涉及的地質(zhì)歸檔資料封面和扉頁的格式相對簡單,對照標準格式的頁碼范圍、題目格式,設(shè)置參數(shù)和子項目格式設(shè)置參數(shù)進行掃描并逐條對比,并按照格式的先后檢查輸出結(jié)果就可以。主要區(qū)別點在于段落的行間距、字體、字號等的區(qū)別。

      (3)標題和正文的格式檢查。在 Word文檔中,標題的體現(xiàn)方式有很多種,但在一個標準格式的報告中,標題格式只需要規(guī)定需要的級數(shù)即可,WordML中通過使用<wx:sub-section>標記的嵌套表示標題的級數(shù)和上下級關(guān)系(見圖5)。在進行格式檢查的時候,可將首次遇到的標題級別標志設(shè)置為“0”,遇到與規(guī)定標題格式相一致的定義則將級別的標志增加“1”,如果遇到與定義格式不匹配的標題格式,則與正文格式進行匹配,如果找不到標題和正文的匹配項,則輸出不匹配信息和提出修改警告,如果遇到同級標題匹配結(jié)束,則將檢查標題的級別標志相應(yīng)減“1”。直到標題級別標志編程為“0”時,則表示完成了報告中某一部分的不同級別的格式對比檢查,如此循環(huán)整個文檔,就可以完成所有部分和級別的標題格式檢查。

      圖5 有<wx:sub-section>標記分級標題(上)和使用普通格式的標題分級的WordML格式(下)Fig.5 Format of using"<wx:sub-section>"mark(upper)and normal format(lower)of classification title

      正文格式的提取和檢測在格式檢查過程中是最簡單的,如果僅是正文格式的判斷,則會相對容易。在小篇幅的文檔,人工操作也容易解決,如果是超大篇幅的成果報告,僅憑手工檢查,工作量是非常巨大。此時最好還是編程實現(xiàn)檢查,但無論文件的大小與否,想通過WordML操作,都將會變得非常復雜。同時,在WordML描述之中,標題和正文是沒有嚴格的區(qū)分界限的,如果文檔沒有嚴格按照標題樣式來定義,那么確定標題之間的順序或者確定標題和正文就會相當困難。例如不同的標題使用相同的格式,將很難檢測出上下級標題;另外,如果標題使用正文的格式,也將無法判斷這種版式,因為在WordML中,標題和正文都是當作段落來處理,用<w:p>標記表示。因此,在程序編制中只能增加輔助判斷“×.×”或者“×.×.×”的格式進行近似匹配來確定,并將所有的標題按名稱和級別輔助羅列出來供用戶檢查對比。

      (4)圖表格式編號檢查。圖表內(nèi)容在現(xiàn)代圖文并茂風格的報告中也占據(jù)相當大的比例,手工檢查圖表格式也相對容易,畢竟圖表的顯示狀態(tài)很直觀,尺寸、版式稍有變化就很容易體現(xiàn)出其不同之處。但文章中編號的檢查就沒有那么容易了,必須逐項進行對比檢查,否則就會出現(xiàn)錯誤和遺漏。在成果報告的編排中,一般圖表的標題和引用,均有一定的格式要求,在編程中進行檢查判斷也是可行的。如利用“圖”“表”后跟數(shù)字一般均為圖表項,利用其所在的章節(jié)數(shù)或者圖表的編號,就可以判斷圖表是否連續(xù)編號并判斷引用的圖表號是否在圖表索引號范圍之內(nèi)。下面列出圖表的引用編號及其標題說明格式示例:

      以上為標準格式中圖、表標題的WordML描述,其樣式和字體都已清楚說明。

      (5)文字及拼寫錯誤檢查。在WordML中,錯別字的檢測是較容易實現(xiàn)的。Word XML文檔對象模型中,通過對XMLShowAdvancedErrors屬性的設(shè)置,可返回包含關(guān)于錯別字的信息。Word文檔編輯器中錯別字是以下滑波浪線形式注明的(見圖6(a))。在 WordML中,則以proofErr標記注明(見圖6(b))。

      在程序中,直接對proofErr節(jié)點進行解析,然后在檢查信息輸出文件中將前后的上下文與找到的錯誤信息文本一并顯示和提示,給用戶提出錯別字修正意見。

      4 實際應(yīng)用舉例

      由于歸檔資料來源不同,其格式也會有些差異,如科研報告和成果報告文檔格式都來自各研究部門和各地震施工隊伍提交的成果資料報告,如何快速地進行提交文檔的格式檢測是十分必要的。經(jīng)作者在多份成果資料的檢查工作中測試,此檢查工具運行正常,能夠較快地輸出提交成果資料與標準格式的對比結(jié)果,甚至將從提交資料中發(fā)現(xiàn)的格式異常點進行全部輸出,方便后續(xù)的人工檢查和核對。圖7顯示了某份成果資料檢查的整個過程,圖7(a)是檢查報告格式之前設(shè)置的標準格式,圖7(b)為其部分XML格式數(shù)據(jù)。檢查工具的工作界面如圖8所示,輸出的檢查結(jié)果見圖9。

      經(jīng)過測試,本系統(tǒng)的準確率在90%以上,其中的10%包括能夠正確指出的成果報告格式異常點但程序無法處理的部分。因為是涉及到大量的文本解析,對于較大成果資料解析耗時相對較長,但一般的200頁左右的成果報告,數(shù)秒鐘之內(nèi)就能夠完成成果資料的快速逐行掃描檢查,同時生成錯誤格式報告以及糾正方法。但如果使用單純?nèi)斯頇z查對比的話,至少要花費數(shù)十分鐘至數(shù)小時的時間,而且還經(jīng)常出現(xiàn)遺漏的錯誤。因此利用此檢查工具協(xié)助人工操作,可以極大地提高檢查效率和結(jié)果準確率。

      圖8 軟件檢查過程運行界面截圖Fig.8 Screen-capture of software running interface

      5 結(jié)束語

      圖9 某地質(zhì)成果報告檢查輸出結(jié)果Fig.9 Checked result of one report of geological results

      Office系列辦公工具已經(jīng)是一個功能非常強大的文字編輯工具,如今支持開放式標記語言XML格式,更讓其如虎添翼,它不但極大地提高了人們的工作效率和改變了人們的辦公習慣,更多的為用戶提供了方便和靈活的文字編輯方式,通過這種能使數(shù)據(jù)更易適配或更易轉(zhuǎn)換的通用數(shù)據(jù)格式,XML正在徹底改變應(yīng)用程序和用戶間的交互方式。利用XML格式進行格式解析和檢查判斷只是成果資料管理手段之一,它充分利用計算機快速運算的特點,來輔助人工進行部分格式檢查核實,但其檢查工作的正確與否最終要靠人工檢查來核實確認。這種檢查方式不僅能應(yīng)用于成果歸檔資料的格式檢查工作,還可以應(yīng)用于類似如論文、報紙、雜志等出版行業(yè)的書寫格式檢查工作。通過這樣的一種智能化、自動化的檢查步驟,可以很大程度地減少人工工作強度,改變以往效率低、耗時長、檢查不全面、出錯率高等弊端。雖然不能替代Word的功能,但在一定程度上可提高人們的工作效率。當然,檢查工具的穩(wěn)定性和實用性還需要進一步的測試和完善,作者將在今后的工作中進一步優(yōu)化檢測判斷方法,增加錯誤自動修訂等功能,讓軟件的功能更加智能化,這將成為后期工作中最具期待性的目標。

      [1]劉俊崝,陸現(xiàn)采,徐士進,等.基于XML的地質(zhì)信息共享與交換模型[J].物探化探計算技術(shù),2001,23(2):160-165.

      [2]肖曉玲,盧正鼎,張翔.VC與Fortran混合編程及其在大地電磁測深中的應(yīng)用[J].物探化探計算技術(shù),2000,22(1):82-85.

      [3]陳國勝,何宗明.基于XML技術(shù)的Word文檔錄入及格式檢測系統(tǒng)設(shè)計[J].計算機時代,2009(4):35-37.

      [4]徐東風,彭紅星.廖俊杰.基于Java的文檔格式檢查技術(shù)的研究及其應(yīng)用[J].計算機工程與設(shè)計,2010,31(19):4309-4315.

      [5]陳呈超,秦勃.基于學術(shù)論文質(zhì)量模型的檢索排序算法研究[J].中國海洋大學學報,2008,38(1):135-138.

      [6]Charles F Goldfarb.XML實用技術(shù)[M].北京:清華大學出版社,1999.

      [7]唐洪彬.Word、Excel自動閱卷系統(tǒng)的設(shè)計與實現(xiàn)[J].宿州教育學院學報,2004,7(2):55-57.

      [8]曹益華,張昱.DTD可選的XML訪問控制研究[J].微型計算機系統(tǒng),2008(1):73-79.

      [9]余雙,曹冬磊,戴蓓潔,等.高效XML驗證技術(shù)的實現(xiàn)[J].計算機工程與設(shè)計,2008,29(4):937-941.

      [10]吳潔.XML應(yīng)用教程[M].北京:清華大學出版社,2005.

      [11]丁躍潮,張濤.XML實用教程[M].北京:北京大學出版社,2006.

      [12]李文峰,段紅亮.Java實現(xiàn) Word文檔到XML文檔的轉(zhuǎn)換淺析[J].現(xiàn)代計算機,2008(3):158-160.

      [13]晶辰工作室.Word 2000VBA開發(fā)實例指南[M].北京:電子工業(yè)出版社,2000.

      [14]李貴林,李建中,楊艷.用Plug-in實現(xiàn)對PDF文件的信息提?。跩].計算機應(yīng)用,2003(2):110-112

      [15]開放的XML開發(fā)官方網(wǎng)站[N/OL].http://openxmldeveloper.org/default.aspx.

      [16]石油天然氣勘探與開發(fā)地質(zhì)成果報告編制要求[S].中石油化工集團公司企業(yè)標準Q/SH 0166-2008.

      猜你喜歡
      文檔成果資料
      有人一聲不吭向你扔了個文檔
      Party Time
      PAIRS & TWOS
      JUST A THOUGHT
      工大成果
      “走出去”成果斐然
      “健康照明”成果聚焦
      基于RI碼計算的Word復制文檔鑒別
      “三醫(yī)聯(lián)動”擴大醫(yī)改成果
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      新乡市| 延长县| 太保市| 牙克石市| 虹口区| 饶平县| 岑巩县| 新和县| 沛县| 龙井市| 东兰县| 玉屏| 张家川| 阳原县| 海城市| 南汇区| 靖宇县| 吕梁市| 任丘市| 巴里| 文化| 滦南县| 拉萨市| 信丰县| 仪征市| 通辽市| 安吉县| 敦化市| 上林县| 周宁县| 靖江市| 泉州市| 忻州市| 都昌县| 台东县| 乌恰县| 漳平市| 大化| 淮阳县| 尼玛县| 大丰市|