專利名稱:基于可擴展標記語言的可配置菜單實現方法
技術領域:
本發明涉及通信的網絡管理領域,具體來講是一種基于XML(Extensible Markup Language,可擴展標記語言)的可配置菜單實現方法。
背景技術:
隨著通信設備發展的日新月異,其功能越來越強大,對于網絡管理軟件的研發也因此提出了更高的要求。網絡管理軟件的模塊越來越復雜,管理功能也越來越多,如何研發一種可靈活配置、可方便維護的系統便顯得越來越重要。目前系統對于菜單的傳統做法是菜單在軟件的各個功能模塊中硬編碼的進行定義,而在使用時則需要每次重新編譯整個源代碼工程。這種做法的缺陷是菜單無法靈活配置,修改菜單必須修改源代碼,編譯過程耗費時間,而且菜單的代碼會散落分布在各處源代碼中,不利于統一維護。
發明內容
針對現有技術中存在的缺陷,本發明的目的在于提供一種基于XML的可配置菜單實現方法,簡化了菜單配置的復雜度,減少源代碼的編寫、調試及編譯等工作量,提高了工作效率;菜單靈活配置,方便統一查找和維護。為達到以上目的,本發明采取的技術方案是一種基于可擴展標記語言的可配置菜單實現方法,包括如下步驟在可擴展標記語言配置文件中定義多個片段節點,多個片段節點之間通過片段分隔標識符分隔,每個片段節點包含多個菜單項節點、多個菜單節點和多個分隔符節點,每個菜單節點包含多個子元素節點;調用可擴展標記語言配置文件解析類,讀取一個片段節點中的多個菜單項節點、多個菜單節點、多個分隔符節點、多個子元素節點的各個屬性后,若有片段分隔標識符,則再次讀取下一個片段節點,直至沒有片段分隔標識符停止,讀取過程中若出現讀取不成功,則返回錯誤信息。在上述技術方案的基礎上,所述多個分隔符節點將菜單項節點和/或菜單節點按功能分為若干組,菜單項節點、菜單節點以及分隔符節點均為片段節點的子節點。在上述技術方案的基礎上,每一所述片段節點的讀取過程為讀取菜單項節點成功后,讀取菜單節點,讀取成功后再讀取子元素節點,當讀取菜單項節點或菜單節點時,若讀取到分隔符節點,則做出分組標記。在上述技術方案的基礎上,所述片段節點表示菜單項配置腳本片段,定義主菜單或右鍵菜單內容,片段節點的資源文件參數指定國際化資源文件路徑。在上述技術方案的基礎上,所述菜單項節點包括指定菜單對應的操作類名的“操作”屬性,從對應的國際化資源文件中讀取相應文本的“文本”屬性,用來讀取相應圖標的 “圖標”屬性,指定快捷鍵的“快捷方式”屬性。在上述技術方案的基礎上,所述菜單節點表示一個菜單,其包括“圖標”屬性,可擴展標記語言配置文件解析類通過該屬性設置的路徑來讀取相應的圖標。
在上述技術方案的基礎上,所述菜單節點具有“文本”屬性,通過“文本”屬性內國際化資源文件的內容設置菜單熱鍵。在上述技術方案的基礎上,所述菜單節點具有定義菜單快捷鍵的“快捷方式”屬性。在上述技術方案的基礎上,所述子元素節點表示動態多級子菜單,其包括“提供者”屬性,定義的內容為動態子菜單的實現類的路徑。在上述技術方案的基礎上,所述可擴展標記語言配置文件解析類通過查找類的路徑解析出子菜單對象。本發明的有益效果在于I.采用描述的方式對配置項進行定義,簡化了菜單配置的復雜度。2.通過網管中的XML配置文件解析類,來解析XML配置文件中的各個配置項,保證了菜單配置的正確性、靈活性。3.腳本定義通過編寫格式化的XML配置文件完成,減少了軟件源代碼的編寫、調試及編譯等工作量,極大的提高了工作效率。4.通過簡單的修改XML配置文件,就能實現動態加載各個子系統或子模塊,增強了系統的可擴展性。5.對于XML配置文件使用統一存放和管理,實現了方便查找和維護。
圖I本發明基于可擴展標記語言的可配置菜單實現方法實施例的流程圖。
具體實施例方式以下結合附圖和具體實施方式
對本發明作進一步詳細說明。本發明所述的基于XML的可配置菜單實現方法,包括如下步驟在可擴展標記語言配置文件中定義多個片段節點,多個片段節點之間通過片段分隔標識符分隔,每個片段節點包含多個菜單項節點、多個菜單節點和多個分隔符節點,每個菜單節點包含多個子元素節點;調用可擴展標記語言配置文件解析類,讀取一個片段節點中的多個菜單項節點、 多個菜單節點、多個分隔符節點、多個子元素節點的各個屬性后,若有片段分隔標識符,則再次讀取下一個片段節點,直至沒有片段分隔標識符停止,讀取過程中若出現讀取不成功, 則返回錯誤信息。如圖I所示,本實施例基于XML的可配置菜單實現方法具體步驟如下SI.在XML配置文件中定義多個片段節點,多個片段節點之間通過片段分隔標識符分隔,每個片段節點包含多個菜單項節點、多個菜單節點和多個分隔符節點,每個菜單節點包含多個子元素節點,上述每個節點都有自己的屬性。多個所述菜單項節點、菜單節點以及分隔符節點均為片段節點的子節點,多個分隔符節點將菜單項節點和/或菜單節點按功能分為若干組,根據功能可以將相互關聯的菜單項和菜單分為一組,也可以將相互關聯的菜單項或菜單分為不同的組。S2.調用XML配置文件解析類,查找XML配置文件。
S3.判斷XML配置文件是否存在,若是存在,就通過XML配置文件解析類開始讀取文件信息,若文件不存在,則返回S10。S4.讀取一個片段節點的各個屬性,所述片段節點表示菜單對象配置腳本片段,定義主菜單或右鍵菜單內容,XML配置文件解析類會根據其編號來讀取。片段節點的“資源文件”參數指定國際化資源文件路徑。若片段節點讀取成功,就開始讀取片段節點的子節點信息,失敗則返回S10。S5.讀取菜單項節點的各個屬性,可依次讀取,也可以多個菜單項并列讀取,菜單項節點讀取成功就讀取菜單節點,失敗則返回S10。當讀取菜單項或菜單節點時,若讀取到分隔符節點,則在菜單或菜單項之后做出一個分組標記。菜單項節點表示一個菜單項,包括 “操作”屬性,用來指定菜單對應的操作類名;“操作編號”屬性,指定對應權限的操作值,在登錄系統時,權限模塊會根據“操作編號”去后臺校驗權限,XML配置文件解析類根據后臺返回的權限來控制菜單的顯示與否;“文本”屬性,XML配置文件解析類通過該屬性從對應的國際化資源文件中讀取相應文本;“圖標”屬性,XML配置文件解析類通過該屬性設置的路徑來讀取相應的圖標;“快捷方式”屬性,指定快捷鍵。快捷鍵可以使用Ctrl、Shift、Alt 與字符組合的方式,之間以“加號”分隔。S6.讀取菜單節點的各個屬性,菜單節點表示一個菜單,其包含“圖標”屬性,XML 配置文件解析類通過該屬性設置的路徑來讀取相應的圖標。菜單節點還包含“文本”屬性, 與“菜單項”節點的相同屬性類似,菜單熱鍵是通過“文本”屬性中國際化文本的內容來設置的,例如設置網元屬性菜單項的“文本”屬性為“網元屬性(&R)”,這里&符號后面的字母就是熱鍵,那么XML配置文件解析類解析出的網元屬性菜單項的熱鍵就是“R”鍵。菜單通過 “快捷方式”屬性定義菜單快捷鍵,例如設置查找菜單項的“快捷方式”屬性為“Ctrl+F”,那么XML配置文件解析類解析出的查找菜單項的快捷鍵就是“Ctrl+F”鍵。若菜單屬性讀取成功,則進入S7,讀取失敗則返回S10。S7.讀取子元素節點的各個屬性,子元素節點表示動態多級子菜單,其包括“提供者”屬性,本發明的動態多級子菜單加載是通過子元素節點的“提供者”屬性來定義的,其定義的內容為動態子菜單的實現類的路徑,XML配置文件解析類會查找該類的路徑,然后解析出動態多級子菜單對象。子元素節點讀取成功后,進入S8,讀取失敗則返回S10。S8.判斷是否有片段分隔標識符,XML配置文件解析類通過該屬性解析,若有片段分隔標識符,則轉入S4讀取下一個片段節點,若沒有片段分隔標識符,則進入S9。S9.完成解析,返回解析后生成的右鍵菜單或主菜單對象。S10.返回錯誤信息。本發明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍之內。本說明書中未作詳細描述的內容屬于本領域專業技術人員公知的現有技術。
權利要求
1.一種基于可擴展標記語言的可配置菜單實現方法,其特征在于包括如下步驟在可擴展標記語言配置文件中定義多個片段節點,多個片段節點之間通過片段分隔標識符分隔,每個片段節點包含多個菜單項節點、多個菜單節點和多個分隔符節點,每個菜單節點包含多個子元素節點;調用可擴展標記語言配置文件解析類,讀取一個片段節點中的多個菜單項節點、多個菜單節點、多個分隔符節點、多個子元素節點的各個屬性后,若有片段分隔標識符,則再次讀取下一個片段節點,直至沒有片段分隔標識符停止,讀取過程中若出現讀取不成功,則返回錯誤信息。
2.如權利要求I所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于所述多個分隔符節點將菜單項節點和/或菜單節點按功能分為若干組,菜單項節點、菜單節點以及分隔符節點均為片段節點的子節點。
3.如權利要求2所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于每一所述片段節點的讀取過程為讀取菜單項節點成功后,讀取菜單節點,讀取成功后再讀取子元素節點,當讀取菜單項節點或菜單節點時,若讀取到分隔符節點,則做出分組標記。
4.如權利要求I所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于所述片段節點表示菜單項配置腳本片段,定義主菜單或右鍵菜單內容,片段節點的資源文件參數指定國際化資源文件路徑。
5.如權利要求4所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于所述菜單項節點包括指定菜單對應的操作類名的“操作”屬性,從對應的國際化資源文件中讀取相應文本的“文本”屬性,用來讀取相應圖標的“圖標”屬性,指定快捷鍵的“快捷方式”屬性。
6.如權利要求4所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于所述菜單節點表示一個菜單,其包括“圖標”屬性,可擴展標記語言配置文件解析類通過該屬性設置的路徑來讀取相應的圖標。
7.如權利要求I所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于所述菜單節點具有“文本”屬性,通過“文本”屬性內國際化資源文件的內容設置菜單熱鍵。
8.如權利要求I所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于所述菜單節點具有定義菜單快捷鍵的“快捷方式”屬性。
9.如權利要求I所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于所述子元素節點表示動態多級子菜單,其包括“提供者”屬性,定義的內容為動態子菜單的實現類的路徑。
10.如權利要求I所述的基于可擴展標記語言的可配置菜單實現方法,其特征在于所述可擴展標記語言配置文件解析類通過查找類的路徑解析出子菜單對象。
全文摘要
基于可擴展標記語言的可配置菜單實現方法,涉及通信的網絡管理領域,包括步驟在可擴展標記語言配置文件中定義多個片段節點,多個片段節點之間通過片段分隔標識符分隔,每個片段節點包含多個菜單項節點、多個菜單節點和多個分隔符節點,每個菜單節點包含多個子元素節點;調用可擴展標記語言配置文件解析類,讀取一個片段節點中的多個菜單項節點、多個菜單節點、多個分隔符節點、多個子元素節點的各個屬性后,若有片段分隔標識符,則再次讀取下一個片段節點,直至沒有片段分隔標識符停止,讀取不成功則返回錯誤信息。該方法簡化了菜單配置的復雜度,減少源代碼的編寫、調試及編譯等工作量,提高了工作效率;菜單靈活配置,方便統一查找和維護。
文檔編號G06F9/44GK102609249SQ20121000239
公開日2012年7月25日 申請日期2012年1月6日 優先權日2012年1月6日
發明者萬金利, 劉言軍, 尹永勝, 朱春燕, 王 琦 申請人:烽火通信科技股份有限公司