我寫一個軟件包,其任務是從我公司的主要產品出口DB數據轉換成任意的XML格式(與其他應用程序接口)的任意XML數據文件到我們的數據庫的解析可能是下一個。我用C/C++編寫,產品的數據庫以專有格式存儲爲Pervasive BTRV文件。如何指定從專有數據庫到XML的映射?
我需要寫一個映射格式,可以在我們的內部數據元素映射到XML的,所以如果我出口包被賦予一個映射文件,將創建一個從數據庫的內容所需的XML輸出文件。你會推薦我用什麼策略或工具來實現這一點?
有些選項我已考慮:
- 制定針對該產品的通用的XML輸出模式,然後寫XSLT文件,這種格式轉換成任意的XML文件。
- 編寫定義輸出文件的結構的XSD架構文件,並設計了處理指令集,告訴我的包,其中數據項的元素去。
我認爲自己是使用XML的新手;我熟悉XSLT和XPath,並開始學習Schema,但可能有明顯的工具可以解決我缺少的這個問題。
(更新,8:14p PDT:我正在編寫的包被設計用來掛接到我們的通用外部接口模塊,用於導出將被其他應用程序使用的數據。子集將會自動以其他應用程序可以理解的格式導出,我試圖擴展外部接口模塊,使其能夠輸出這些「最終確定」的數據項XML。
我的工作是定義一種指定其他系統期望的XML格式的方法。由於目標模式可能在應用程序之間差別很大,因此我需要一個可以處理一系列可能的XML模式的解決方案; o需要一個易於配置/維護每個接口的解決方案。
將被調用我的代碼的代碼把數據庫的項目,如一系列嵌套的容器,並且用於格式化每個嵌套層提供鉤。這些掛鉤似乎非常類似於在< XSL的比賽屬性:模板>,這是什麼導致我考慮XSLT作爲一個可能的解決方案)
對於每個信息系統,用例都是其定義的一部分。如果這些導出的XML文檔將被使用,那麼應用程序將會使用這些文檔,並且它們將變得非常龐大並且沒有複雜的模式(數據庫轉儲),然後使用數據庫轉儲。如果這些goint具有複雜的模式,而且僅包含大型應用程序和應用程序,請使用定義的模式導出(也許您必須重新考慮您的數據庫引擎功能)。如果將一個導出的XML文檔用於多個可顯示的格式化文檔,則使用多個XSLT樣式表。 – 2010-09-07 22:06:08