李新建 李麗霞
【摘 要】本查詢系統(tǒng)采用CHM文件的形式編譯,以HTML文件作為源文件處理,利用HTML Help Workshop軟件作為編譯工具,以HTML腳本語言輔助編寫,通過生成*.hap,*hick,*.hhk文件,為HTML等資源文件進(jìn)行目錄索引,再通過調(diào)用hha.dll,hhc.exe文件進(jìn)行編譯。
【關(guān)鍵詞】標(biāo)準(zhǔn);查詢;編譯
1 引言
國家標(biāo)準(zhǔn)體系龐大、條目繁多,給查詢帶來許多不便,所以編制易于查閱的國家標(biāo)準(zhǔn)電子查詢系統(tǒng)十分必要。本文選用了以CHM幫助文檔作為載體來實(shí)現(xiàn)查詢系統(tǒng)的功能。首先, CHM為HTML的編譯,不采用數(shù)據(jù)庫,結(jié)構(gòu)簡單,因此十分可靠。其次,CHM文檔操作簡單,不需要有太多的計(jì)算機(jī)知識。同時,由于CHM采用目錄樹的形式表現(xiàn),使內(nèi)容富有層次,條理清晰,對于有很多復(fù)雜條文的國家標(biāo)準(zhǔn)來說,是最好的表現(xiàn)形式,便于閱讀查詢。制作CHM采用的軟件選擇的是HTML Help Workshop(HHW)。
2開發(fā)過程
2.1 文件反編譯
通常收集到的國家標(biāo)準(zhǔn)一般都是單獨(dú)的一個標(biāo)準(zhǔn)編譯成一個CHM文檔,作為開發(fā)將用的原始文檔是數(shù)個已成型的CHM文檔,而開發(fā)的國家標(biāo)準(zhǔn)電子查詢系統(tǒng)要以集合形式出現(xiàn),簡單來說就是把幾個CHM文檔合并到一起。把一個已經(jīng)存在的CHM文件反編譯,便可以把其中的全部內(nèi)容取出。反編譯的方法是:先創(chuàng)建一個新的文件夾,然后進(jìn)入 HHW 程序,反編譯制定的 CHM 文件。其他格式的源文件由于不加密,不需要反編譯,只需修改為編譯所需的HTML文件。其中PDF的源文件轉(zhuǎn)化為文本格式,以doc格式保存,以便保留圖片和表格。之后,連同doc格式的源文件一同修改為HTML格式。
2.2 目錄文件、索引文件的創(chuàng)建
先創(chuàng)建新的目錄文件,并命名它為 Contents.hhc。然后進(jìn)入目錄表編輯窗口。插入標(biāo)題,也可以在標(biāo)題下面再添加一個標(biāo)題或在標(biāo)題下面插入一個頁面(或者是子標(biāo)題。同樣們可以加入許多標(biāo)題、子標(biāo)題、頁面,并可以利用4個箭頭按鈕來調(diào)整標(biāo)題或頁面的位置及從屬關(guān)系。HHW 最多支持 9 個級別深度。也可以修改標(biāo)題及改變標(biāo)題圖標(biāo)及自由設(shè)置目錄屬性。所有標(biāo)題創(chuàng)建完成后,一個目錄表文件就創(chuàng)建完成了。
索引文件的創(chuàng)建與目錄文件的創(chuàng)建非常類似,只是索引文件中需要指定關(guān)鍵詞與 HTML 文件的關(guān)聯(lián)關(guān)系,由于本電子查詢系統(tǒng)不需要索引功能,因此不在贅述。
2.3 目錄文件編輯
目錄文件Contents.hhc可以用HTML腳本語言對其進(jìn)行編輯修改。如下列語句:括號內(nèi)文字為說明,不包含在目錄文件中。
<! DOCTYPE HTML PUBLIC “-//IETF//DTD HTML//EN”>
(文件注釋,無實(shí)際意義不出現(xiàn)在目錄表中,可無)
<HTML>
HTML語句,表示采用HTML腳本語言)
<HEAD>
(表頭注釋開始)
<Meta name=“GENERATOR” content=“Microsoft? HTML Help Workshop 4.1”>
(包含創(chuàng)建此文件的軟件等信息,不出現(xiàn)在目錄表中)
<! -- Sitemap 1.0 -->
(注釋信息)
</HEAD><BODY>
(表頭結(jié)束,代碼主體開始)
(注:在表頭中,HTML語言可也定義格式信息,如字體、顏色等,但在目錄表中,這些定義不產(chǎn)生做,因此不用寫入,不在贅述)
<UL>
(目錄開始)
<LI> <OBJECT type=“text/sitemap”>
(項(xiàng)目類型,定義為文本)
<pram name=“Name” value=“常用標(biāo)準(zhǔn)”>
(項(xiàng)目名稱,定義為常用標(biāo)準(zhǔn))
</OBJECT>
(項(xiàng)目結(jié)束)
<UL>
(二級目錄,以縮進(jìn)表示級別,以下如再縮進(jìn)為三級目錄)
<LI> <OBJECT type=“text/sitemap”>
(項(xiàng)目類型,定義為文本)
<pram name=“Name” value=“建筑設(shè)計(jì)防火規(guī)范<GB 50016-2006> ;”>
(項(xiàng)目名稱,定義為建筑設(shè)計(jì)防火規(guī)范)
<Parma name=“Local” value=“標(biāo)準(zhǔn)文件常用標(biāo)準(zhǔn)建筑設(shè)計(jì)防火規(guī)范GB 50016--2006 00.Htm”>
(項(xiàng)目位置,定義為標(biāo)準(zhǔn)文件常用標(biāo)準(zhǔn)建筑設(shè)計(jì)防火規(guī)范GB 50016--2006 00.htm)
</OBJECT>
(項(xiàng)目結(jié)束)
</UL>
(目錄結(jié)束)
</BODY></HTML>
(代碼主題結(jié)束,HTML腳本結(jié)束)
以上即為一個目錄文件的內(nèi)容,只包含這些語句,如增加目錄內(nèi)容添加<LI> <OBJECT type=“text/sitemap”><pare name=“Name” value=”><par am name=“Local” value=></OBJECT>即可?!?】【2】
2.4 項(xiàng)目文件及窗口顯示風(fēng)格的設(shè)置
可在[更改方案選項(xiàng)]中指定封面頁,也就是打開 CHM 文件時默認(rèn)顯示的 HTML 文件。封面頁可以是目錄表中的某個標(biāo)題所對應(yīng)的 HTML 文件,也可以是在目錄表中不存在的專門用來做封面的 HTML 文件。如果想在
CHM 文件中具備全文搜索功能,還需要在[編譯器]選項(xiàng)卡中選中[編譯全文搜索信息]。
2.5 CHM文檔的編譯
接下來就可以編譯了。預(yù)覽區(qū)會提示有哪些文件錯誤導(dǎo)致編譯失敗,可以方便的錯誤文件的改正和修改。編譯好的CHM就可以使用了。在目錄欄中,文件已目錄樹的形式排列,點(diǎn)擊文件標(biāo)題即可查看文件內(nèi)容。在搜索頁面內(nèi),可以輸入關(guān)鍵詞,來快速的找到所要查找的內(nèi)容。制作的系統(tǒng)界面如下圖所示.
3.結(jié)論
選用CHM幫助文檔作實(shí)現(xiàn)查詢功能,可靠性高,占用內(nèi)存及CPU小,運(yùn)行速度快。CHM文檔本身以目錄樹的形式表現(xiàn),非常適合查閱有很多復(fù)雜條文且層次多的國家標(biāo)準(zhǔn)。選用HTML Help Workshop(HHW)制作CHM,功能相對比較強(qiáng)大,可選擇項(xiàng)多,能最大程度做到人性化,且生成速度快,適合制作有大量標(biāo)準(zhǔn)的CHM幫助文檔。這種制作國家標(biāo)準(zhǔn)電子查詢系統(tǒng)的方法可以大大降低從業(yè)人員標(biāo)準(zhǔn)查詢的工作量,值得推廣。
參考文獻(xiàn):
[1]楊忠成,肖松文.環(huán)保法律法規(guī)標(biāo)準(zhǔn)政策查詢系統(tǒng)開發(fā)[J].云南環(huán)境科學(xué),2002,03.
[2]孫及園.HTML語言編程技巧[J]..微型電腦應(yīng)用,1997,05.
[3]王峰.HTML語言簡介[J].福建電腦.1996, 04.
[4]王學(xué)東.焊接國家標(biāo)準(zhǔn)查詢系統(tǒng)[J].沈陽工業(yè)大學(xué)學(xué)報,2001,01.