跳转到内容

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 伪属性指向正确的位置。

华夏公益教科书