跳轉到內容

XSLTForms/表單渲染不正確

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

表單渲染不正確的可能原因有很多。

對於嵌入在 XHTML 文件中的 XForms,以下原因很常見,也很容易檢查。

1. 錯誤的 MIME 型別

對於嵌入在 HTML 文件中的 XForms,一個常見的原因是,該文件正在使用 MIME 型別 text/html 而不是 application/xmltext/xmlapplication/xhtmlapplication/xhtml+xml 或其他適當的 MIME 型別進行服務。[此處需要交叉引用 XForms MIME 型別的正確討論。]

當文件使用瀏覽器識別的與 XML 相關的 MIME 型別進行服務時,瀏覽器將應用 XSLTForms 樣式表,將表單轉換為瀏覽器可以原生理解的 XHTML,以及 Javascript 功能以生成規定的 XForms 行為。當文件沒有使用適當的 MIME 型別進行服務時,將不會進行任何轉換,並且 XForms 控制元件通常不會被渲染。

Web 伺服器提供的文件的 MIME 型別最終由伺服器的配置控制。如果您瞭解如何配置您的伺服器,您可以隨意控制它。如果您不瞭解,最簡單的方法是將表單從 myform.html 重新命名為 myform.xhtmlmyform.xml。這利用了 MIME 型別與副檔名的常見預設關聯。

重新命名檔案通常也適用於檔案系統中的文件。

2. 沒有 xml-stylesheet 處理指令

確保您有一個樣式表指標,使用類似以下的表單

<?xml-stylesheet href="xsltforms/xsltforms.xsl" type="text/xsl"?>

3. 找不到 xsltforms.xsl

確保您在 xml-stylesheet 處理指令中的 href 偽屬性指向正確的位置。

華夏公益教科書