XSLTForms/表单渲染不正确
外观
表单渲染不正确的可能原因有很多。
对于嵌入在 XHTML 文档中的 XForms,以下原因很常见,也很容易检查。
1. 错误的 MIME 类型
对于嵌入在 HTML 文档中的 XForms,一个常见的原因是,该文档正在使用 MIME 类型 text/html
而不是 application/xml
、text/xml
、application/xhtml
、application/xhtml+xml
或其他适当的 MIME 类型进行服务。[此处需要交叉引用 XForms MIME 类型的正确讨论。]
当文档使用浏览器识别的与 XML 相关的 MIME 类型进行服务时,浏览器将应用 XSLTForms 样式表,将表单转换为浏览器可以原生理解的 XHTML,以及 Javascript 功能以生成规定的 XForms 行为。当文档没有使用适当的 MIME 类型进行服务时,将不会进行任何转换,并且 XForms 控件通常不会被渲染。
Web 服务器提供的文档的 MIME 类型最终由服务器的配置控制。如果您了解如何配置您的服务器,您可以随意控制它。如果您不了解,最简单的方法是将表单从 myform.html
重命名为 myform.xhtml
或 myform.xml
。这利用了 MIME 类型与文件扩展名的常见默认关联。
重命名文件通常也适用于文件系统中的文档。
2. 没有 xml-stylesheet 处理指令
确保您有一个样式表指针,使用类似以下的表单
<?xml-stylesheet href="xsltforms/xsltforms.xsl" type="text/xsl"?>
3. 找不到 xsltforms.xsl
确保您在 xml-stylesheet
处理指令中的 href
伪属性指向正确的位置。