在公司資訊系統日常使用過程中經常需要處理一些一般檔案,有些可能是通過網站平台傳到統一的文檔伺服器進行管理,有些可能會有專門的文件管理應用系統。在這些系統的使用過程中經常需要添加一些文檔的附屬資訊,比如上傳上員,上傳時間,檔案的用途等。
雖然專業的文檔系統可以使文檔的管理變得非常簡單高效,但是還是有一部分人需要將平時使用的平面文檔匯出到本地檔案夾進行查看和管理。但是如果單單只將這些檔案匯出的話會丟失一檔案的附屬資訊給查閱帶來麻煩。如果專門開發應用程式去文檔系統讀取相關資訊的話又過於麻煩,而且對於使用的環境要求也比較高,不能進行離線瀏覽和查閱。
基於以上的這些問題,從需求角度分析,客戶是希望能夠通過有一個良好使用介面查閱到文檔的相關資訊。但最好不需要安裝任何軟體或者對運行環境有什麼特別的要求,同時需要能夠對內容進行搜尋和定位到具體的檔案。
接下來我們來講講解決方案。大家都知道XML是專門用於描述格式化資料的語言,我們可以使用將文檔的附屬資訊通過定義好的格式進行儲存。文檔系統在匯出的時候只需要按照定義好的XML格式進行匯出就可以了。(不同的系統可能需要做開發)。以下是樣本的XML.
<Documents BeginTime="2009.1" EndTime="2009.12">
<Document Level="普通" >
<Title>Gary的項目文檔</Title>
<Author Name="Gary Zhang" Email=cbcye@live.com SendTime="2009-3-1 10:10:00"/>
<File Uri="Documents\01\CBCYE[2009].zip" Name="CBCYE[2009].zip" Size="1111" />
<Description>來自:www.cbcye.com | cbcye.cnblogs.com | www.quicklearn.cn </Description>
</Document>
</Documents>
XML有了之後就是顯示的問題了,當然你可以自己開發WinForm之類的程式來進行展現。但是還有更簡單(可能對於有些人可能會覺得更複雜)的方法就是直接在瀏覽器上進行顯示。基於Javascript對XML操作的支援可以提供良好的使用體驗。如果資料檔案只有一個的話可以使用HTML內嵌Javascript的方式去訪問XML.當然有時可能會有多個資料XML檔案,這樣的話就可以使用XSLT(XML轉換語言)了。只要在XML文檔只引用該類型的檔案就可以在顯示時將XML轉換為HTML再顯示。
<?xml-stylesheet type='text/xsl' href='Bin\xmlStyle.xsl'?>
以下的示範參考MSNShell對於聊天記錄的管理與展現,將文檔相關資料以XML格式進行儲存,採用XSLT將XML轉換為HTML進行顯示,並且應用了XML模糊查詢和分頁技術,增加使用者的體驗效果。
綜上所述本解決方案可以滿足使用者對於文檔查詢的需求,另外本解決方案還有以下優點:
- 基於XML格式的資料存放區提供了優秀的擴充性。
- 資料存放區與展現分離降低了開發複雜度。
- 使用基於javascript和標準的XML,XSLT技術降低了後期維護成本。
- 跨平台的解決方案,只要有瀏覽器即可運行。
- 良好的使用者體驗效果。
OK, 本解決方案已經講完了。應該還不錯吧,由於該示範源碼不方便提供,在XSLT開發請參考MSNShell的訊息轉碼,對於XML的模糊查詢可參考:《使用Xpath對XML進行模糊查詢》。另外如果有更好的解決方案或開發過程中遇到問題的話,歡迎一起探討。