1.0 簡介
2.0 前一版的變更
3.0 限制
3.1 XSL 轉換和除錯
4.0 已知的問題
4.1 開啟大型 XML 檔可能會使工作台突然關閉
4.2 XML 至 SQL 不支援 BLOB、CLOB 和二進位資料類型
4.3 XML 至 SQL 可能因為日期或時間格式不當而擲出 SQLException
4.4 從阿拉伯文/希伯來文機器的資料庫表格產生 XML 綱目
4.5 在 DBCS 機器中產生 DB2 XML Extender 的測試控制工具和 DAD 檔
4.6 從包含 DBCS 字元的資料庫表格產生 XML 綱目
4.7 將有無限迴圈的 XSL 樣式表套用至 XML 檔
4.8 在遠端 XSL 啟動程式中無法辨識「XML 型錄」設定
4.9 在不使用「從 XHTML 擷取 XML 資料」選項的情況下產生 XHTML 範本的 XSL
4.10 重新載入不會變更 RMX 和 XMX 編輯器中的任何項目
4.11 驗證和未解析的 URI
4.12 如果 Bean 有含相同參數名稱的方法,使用「Java Bean XML/XSL 用戶端」精靈會發生問題
4.13 產生 XML 綱目或 DTD 檔時,BiDi 編碼可能會發生問題
4.14 當追蹤遠端 XML 轉換時,「XSL 轉換」輸出視圖空白
4.15 更名 XML 綱目中的名稱空間會建立新的名稱空間
4.16 XSL 除錯器忽略岔斷點的啟用/停用旗標
WebSphere Studio 中可用的 XML 開發環境工具如下:XML 編輯器、DTD 編輯器、XML 綱目編輯器、XSL 編輯器、XSL 除錯和轉換工具、XML 至 XML 對映編輯器,以及 RDB 至 XML 對映編輯器(可用來產生 DB2 XML Extender 的 DAD 檔)。 另外,也包括用來儲存和擷取任何 JDBC 資料庫中之 XML 資料的 Java 類別庫和精靈、XML 安全支援、「XPath 表示式」精靈以及許多產生器(如從 Java Bean 產生 XML DOM/XSL,以及從 XHTML 檔產生 XSL/XML 等)。
以下是 WebSphere Studio 5.1 版的加強功能:
- 「建立 XML 檔」精靈已加入新選項
- 「XML 綱目圖」視圖已獲得強化
- XSL 轉換和除錯工具的功能有了改變。 現在,您可以個別執行轉換和除錯
如果 XML/XSL 檔的路徑或檔案名稱有非 ASCII 字元,XSL 除錯和轉換可能無法正確運作。
當您以任何 XML 編輯器開啟大型檔案時,請特別注意。如果超出了工作台的記憶體限制,它會突然地關閉而不會儲存任何資料(且沒有警告或錯誤訊息)。XML 檔中的元素數(非大小)是需要多少記憶體的最佳指標。記憶體需求也會視工作台中開啟的其他項目而定 - 在某些情況下,您可以開啟一個 15 MB 的檔案,但在其他情況下,1 MB 的檔案就可能導致問題。因此,建議您在開啟大型 XML 檔之前,先儲存工作台中所有的資料。
附註:您可以變更配置給 WebSphere Studio 的記憶體上限。如果需要詳細資訊,請參閱工作台 Readme。
當直欄類型是二進位、BLOB 或 CLOB 時,XML 至 SQL 不會正確更新資料庫表格。這適用於 INSERT 和 UPDATE 動作。
當更新資料庫表格,且表格中含有資料類型為 Date、Time 或 Timestamp 的直欄時,如果目標資料庫產品不接受輸入 XML 程式碼中的字串值,XML 至 SQL 精靈或 xmltosql 和 sqltoxml JAR 檔可能會擲出 SQLException。 不同產品的日期和時間格式會有些不同。 您可以利用 SQL 查詢建置器來決定這些類型的正確格式。
當從資料庫表格產生 XML 綱目檔時,可能會在「作業」窗格中產生下列錯誤訊息,在阿拉伯文或希伯來文平台中,尤其如此:「檔案提早結束」。
不過,仍會正確產生綱目檔。 請重新整理您指定的目標工作區資料夾,再利用 XSD 編輯器來開啟檔案。
如果您在 Windows 中產生測試控制工具,產生的批次檔會利用 CR 作為行定界字元,但它們應該使用 CRLF。 結果,檔案可能無法順利執行。 在這個情況下,請以手動方式,利用記事本之類文字編輯器來手動插入行定界字元。
另外,也請注意,DAD 檔應該利用平台的預設編碼來產生,才能正確執行。 您可以從 XML 檔喜好設定編輯器選取適當的編碼值來執行這個動作。
如果您從包含全形英文字母和數字名稱的資料庫表格產生 XML 綱目,您會在「作業」視圖中收到錯誤。 建議您不要提供包含 DBCS 字元的資料庫表格和直欄名稱。
如果您套用至 XML 檔的 XSL 樣式表有無限迴圈,您可能會收到如下的錯誤訊息:
Xalan 因 java.lang.StackOverflowError 而失敗,
很可能是由於遞迴過深。您應該先修正樣式表,再重新執行轉換。如果您未修正樣式表就立即重新執行轉換,您可能會收到不同的錯誤訊息 - 發生這種狀況的原因是,記憶體失效可能發生在虛擬機器的不同位置。如果發生這個狀況,您應該關閉 WebSphere Studio、重新啟動它,再修正 XSL 樣式表以清除錯誤。
當您對包含 DTD 或 XSD 檔的 XML 檔套用 XSL 檔時,如果您在本端 XSL 程序中啟動「XSL 除錯器」, 則「XML 型錄」中的任何設定都會被接受。
如果您的 XSL 檔會呼叫外部 Java Bean,且您必須在遠端 XSL 程序中啟動「XSL 除錯器」,則「XML 型錄」中的 URI 對金鑰的對映將不會被接受,且您會收到 java.io.FileNotFound 異常狀況。
如果要解決這個問題,請變更 XML 檔,使得內含的 DTD 或 XSD 可以直接取得(也就是說,不需要透過「XML 型錄」)。
當資料已儲存在 XML 檔中,您可以在不選取「從 XHTML 擷取 XML 資料」選項的情況下呼叫「XHTML 範本的 XSL」精靈。
由於現行的限制,精靈所產生的 dataLogic 檔必須以手動編輯,來指定 XML 檔特定的資料相關邏輯,作為轉換的主題。 範例 dataLogic 檔在「從 XSL 和 HTML 產生 XML」範例專案中。
如果您未以手動編輯這個資料相關的邏輯檔,XSL 檔會產生一個不含任何資料的 Skeleton HTML 檔。
當磁碟中已編輯檔案的內容有了改變時所提示的重新載入選項不會執行任何動作。 在團隊支援中,尤其應該注意這個情況。 當使用者移出檔案時,如果檔案的內容和編輯器中的檔案內容不同,編輯器會提示使用者重新載入,但重新載入不會執行任何動作。 在這個情況下,您應該關閉 RMX 或 XMX 階段作業再重新開啟它,以編輯新移出的檔案。
當遇到無法解析的 URI(比方說,在 DOCTYPE 宣告中)時,XML 剖析器的行為是報告發生嚴重 IO 錯誤以及停止任何進一步的處理。 未解析的 URI 不會顯現為語法和語意的錯誤,因此,剖析器不會嘗試去處理它。 基本上,文件會維持不變。
對於「Java Bean XML/XSL 用戶端」精靈,如果 Bean 中的方法具有相同的參數名稱,也會產生相同名稱的輸入套表欄位。
解決方案是更名方法參數,使用來產生 Bean 的方法不會有重疊的參數名稱。
當您從含有希伯來文或阿拉伯文元素的 DTD 檔產生 XML 綱目,或從含有希伯來文或阿拉伯文元素的 XML 綱目產生 DTD 時,有些元素名稱可能是用它們對等的十六進位希伯來文和阿拉伯文編碼值來編碼的。 如果要避免這個問題,請在執行產生作業之前,將原始 DTD 或 XML 綱目檔的編碼屬性變更成 UTF-8:也就是說,XML 宣告應該是:
<?xml version="1.0" encoding="UTF-8"?>
受影響的編碼值清單如下:
- ISO-8859-8-I
- ISO-8859-8
- Windows-1256
- ISO-8859-6
當追蹤在遠端應用程式中啟動的 XSL 轉換時,XSL 除錯視景中的「XSL 轉換」輸出視圖不會顯示任何輸出。
如果您變更 XML 綱目中的目標名稱空間,就會利用 Q1 字首來建立新的名稱空間。 如果要避免這個情況,請先將您的廣域元素和類型移至文件頂端(在實際參照它們之前)。 之後,再套用您的目標名稱空間變更。
您可以從 XSL 編輯器蹦現功能表選取啟用岔斷點和停用岔斷點,不過,XSL 除錯器會忽略岔斷點的啟用/停用旗標。
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.