跳轉到內容

XForms/除錯 XForms

來自華夏公益教科書,開放的書籍,為一個開放的世界

如果您是 XForms 的新手,並且在除錯 XForms 時遇到問題,您並不孤單。XForms 除錯可能很棘手,尤其是對於新手來說。如果您關注 XForms 的新聞組,您會發現一些問題經常出現。

常見問題

[編輯 | 編輯原始碼]

這些問題,按頻率粗略排序,包括以下內容

  1. 確保使用.xhtml副檔名命名您的檔案。包括 FireFox 在內的許多瀏覽器不會在副檔名為 .htm 或 .html 的檔案中查詢 XML 標籤。
  2. 與忘記將例項資料與名稱空間或預設名稱空間關聯相關的問題。這可以透過將xmlns=""引數新增到您的例項變數來解決。
  3. 文件主體中的名稱空間不正確或缺失。例如,如果預設名稱空間是 html,標籤 <input> 是有效的,但瀏覽器會將其視為 <html:input>,而不是 <xf:input>。當用戶從使用 XForms 作為預設名稱空間的地方複製 XForms 示例程式碼時,這種情況經常發生。這是一個很好的理由,說明教程和培訓開發人員不應使用 XForms 作為預設名稱空間。
  4. 模型和檢視之間的繫結不正確。這通常發生在 “ref” 或 “nodeset” 屬性定義不正確,或者組或重複更改資料元素的路徑字首時。
  5. 無法將表單繫結到例項,因為 XForms 處理器找不到一個或多個例項特定的名稱空間。如果您使用 XSLT 或 XQuery 自定義了 XForm,然後再將其流式傳輸到使用者,則處理器可能會將一些名稱空間的宣告降級到其首次出現的例項,因為它將您 xform 上 ref 和 bind 屬性的內容視為內容。但是,您的 XForms 處理器可能期望 ref 屬性中名稱空間的定義在父軸上,並且可能不會在模型例項中查詢任何宣告。當這種情況發生時,您需要手動構建根 xhtml:html 節點,並顯式宣告出現在您的表單中的任何名稱空間。

使用 XForms 驗證器

[編輯 | 編輯原始碼]

有些人發現這個 XForms 驗證器很有幫助

http://xformsinstitute.com/validator

該程式將查詢 XForms 示例中的常見錯誤。

使用 Eclipse 驗證 XPath

[編輯 | 編輯原始碼]

有一個用於 XSLT 的不錯的 Eclipse 外掛,還提供 XPath 驗證 “檢視”。見:http://wiki.eclipse.org/XSLT_Project

Firefox 的除錯工具

[編輯 | 編輯原始碼]

最實用的 Firefox 擴充套件之一是 XForms Buddy 偵錯程式。此工具允許您在 XForms 在 Firefox 瀏覽器中執行時直觀地檢查模型中的所有例項。這對於確保動態配置的例項值由 XForms 正確設定特別有用。該網站的連結是:這裡

使用 JavaScript 列印您的繫結

[編輯 | 編輯原始碼]

還有一種方法可以在您的 JavaScript 程式碼中直觀地檢視您的繫結。

這些介面在這裡有記錄

nsIXFormsAccessors

Mozilla 除錯技巧

[編輯 | 編輯原始碼]

以下是一些針對除錯 XForms 的人的建議

Mozilla XForms 故障排除頁面

測試提交

[編輯 | 編輯原始碼]

有時,當您建立對 Web 服務的複雜提交時,您需要確保 XForms 應用程式正在生成的正是 Web 服務所期望的。有時,Web 服務供應商會提供一個正確呼叫其服務的示例 Web 表單客戶端,但呼叫該服務的文件卻有些不足。解決此問題的其中一個方法是觀察 HTTP 資料包離開工作應用程式,並將它們與您的 XForms 的 HTTP 資料包進行比較。這可以使用 HTTP 代理工具來完成,例如 Charles,它也可以作為 Firefox 擴充套件執行。

標準 Web 開發偵錯程式(如 Firebug 和 Google Chrome Javascript 控制檯)的 “網路” 選項卡可用於觀察進出瀏覽器的網路流量,讓您能夠驗證提交的內容、方法和 HTTP 錯誤程式碼是否符合預期。

在 Firefox 中使用 HTTP 代理

[編輯 | 編輯原始碼]

代理是一種 “代表” Web 伺服器的工具。它將自己置於您的 Web 瀏覽器和伺服器之間,並告訴您瀏覽器剛剛傳送到 Web 伺服器的內容。為此,您必須設定 Web 瀏覽器以使用代理(透過告訴它將所有內容轉發到另一個 IP 地址),然後代理將其轉發到服務。

完成使用代理後,請確保您記住透過轉到 Firefox 工具/選項/常規/連線設定並單擊直接連線到 Internet 來停用代理。如果您不這樣做,您的 Web 瀏覽器在 Charles 或 Tamper Data 關閉時將不再起作用。

除錯 WebDAV 和 Subversion

[編輯 | 編輯原始碼]

有一些 XForms 是專門設計用於使用 HTTP put、HTTP post 和 [w:WebDAV:WebDAV] 的。WebDAV 允許您不僅儲存表單的第一個版本,還可以返回檢視以前的版本。Subversion 常見問題解答 [1] 建議您執行 Wireshark 資料包嗅探器,並檢視 HTTP 訊息中的資料。

驗證檔案是否格式正確

[編輯 | 編輯原始碼]

要驗證資料檔案是否格式正確,您可以使用 RUWF(您是否格式正確)?XML 語法檢查器

在 Internet Explorer 版本 6.0 中設定 Mime 型別

[編輯 | 編輯原始碼]

某些版本的 IE 6.0 未為 IE6 設定正確的 MIME 型別。要解決此問題,您必須在 Microsoft Windows 登錄檔中新增一個條目。

開啟命令提示符並輸入命令 "regedit"。

[HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/xhtml+xml]
"CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}"
"Encoding"=hex:08,00,00,00
"Extension"=".xhtml"
下一頁: XForms | 上一頁: Intalio 表單設計器
首頁: XForms
華夏公益教科書