環境: xsd3.2 + visual studio 2005
1、安裝 xsd-3.2.msi 從 http://www.codesynthesis.com/products/xsd/download.xhtml 下載。我安裝在 :C:\Program Files\CodeSynthesis XSD 3.2 安裝動作會在系統內容變數 path 項中 添加 "C:\Program Files\CodeSynthesis XSD 3.2\bin"
2、 在 visual studio 中添加 include目錄, lib 目錄,規則檔案(.rules)目錄,可執行檔目錄
依次 在功能表列選擇"工具"->"選項"->"項目和解決方案",開啟“項目和解決方案”視窗。
include 目錄和 lib 目錄分別是程式在編譯、連結時使用的參數。 include 目錄中的標頭檔包含了函式宣告 ,lib 目錄中的 .lib檔案包含了函數的定義 。
include 目錄和 lib 目錄的設定屬於程式級的,在 "vc++目錄"。在"顯示以下內容的目錄"下選"包含檔案"以添加 include 路徑,選"庫路徑"以添加 lib 目錄。這裡,include 目錄和 lib 目錄 分別 是:"C:\Program Files\CodeSynthesis XSD 3.2\include" 和 "C:\Program Files\CodeSynthesis XSD 3.2\lib\vc-8.0"
規則檔案規定了使用哪個工具來執行編譯工作,編譯過程使用什麼參數。預設是 cl.exe 。這裡我們要使用 xsd.exe。
在“vc++項目設定”的“規則檔案搜尋路徑”一欄, 填入“C:\Program Files\CodeSynthesis XSD 3.2\etc\vc-8.0”
添加可執行檔xsd.exe所在的目錄:
在"vc++目錄","顯示以下內容的目錄"下選"可執行檔",加一行 "C:\Program Files\CodeSynthesis XSD 3.2\bin"。 並用 向上的箭頭把這一行內容挪到最上面一行。
可執行檔目錄是為了讓 visual studio 2005 找到 xml 綁定工具 xsd.exe 的。 理論上可執行檔目錄是不需要設定的。因為 .msi 安裝時在 系統內容變數裡添加了 C:\Program Files\CodeSynthesis XSD 3.2\bin ,但我這裡 系統內容變數沒起作用。 因為 visual studio 2005 也包含了一個 xsd.exe 在 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin 。
3、設定規則檔案 rules
用 visual studio 2005開啟 "C:\Program Files\CodeSynthesis XSD 3.2\examples\cxx\tree\hello\hello-8.0.vcproj" 。
在功能表列選 “項目”,“自訂自成規則”。(只有在“方案總管”視窗中選中項目(而非解決方案或源碼檔案)時,才會顯示此菜單。)
在出現的“自訂自成規則”視窗,勾選 “CodeSynthesis XSD Compiler C++/Tree Mapping Rules”一項。
這時可以在功能表列的“項目”->“屬性”,開啟的“屬性頁面”視窗中看到C++/Tree Mapping Rules 項。
4、測試範例程式碼。
相關連結:
Using XSD with Microsoft Visual Studio
http://wiki.codesynthesis.com/Using_XSD_with_Microsoft_Visual_Studio