gpt4 book ai didi

java - 使用 "JSP Document"/"JSP in XML notation"是否意味着输出 XHTML?

转载 作者:行者123 更新时间:2023-11-29 06:21:12 24 4
gpt4 key购买 nike

我真的不确定:使用“JSP 文档”/“XML 表示法中的 JSP”是否意味着输出 XHTML?

如果是这样,在生成“有效”的 XHTML 页面时有什么特别需要注意的吗?

更具体地说:我能否拥有生成无效 XHTML 页面的有效“JSP 文档”(XML 中的 JSP)?

最佳答案

I'm really not sure about this: does using "JSP Document" / "JSP in XML notation" imply outputting XHTML?

它至少意味着使用和生成格式良好的 XML。如果您编写了无效的 XML,那么它会在解析过程中出错。如果它生成格式良好的 XML,那么它就不可能是 HTML4,因为关闭像 br 这样的短标签。 , hr , metalink是不允许的。

What would you recommend to serve when using JSP Document? transitional? strict? HTML5 XML? HTML5 HTML? (HTML5 allows closing tags like <br/>)

由于它是格式正确的 XML,您应该选择 XHTML 或 HTML5。虽然 HTML5 规范仍处于草案模式,但它允许关闭短标签。另请参阅 chapter 3.2.2 Elements 的末尾:

Some elements, however, are forbidden from containing any content at all. These are known as void elements. In HTML, the above syntax cannot be used for void elements. For such elements, the end tag must be omitted because the element is automatically closed by the parser. Such elements include, among others, br, hr, link and meta

HTML Example:

<link type="text/css" rel="stylesheet" href="style.css">

In XHTML, the XML syntactic requirements dictate that this must be made explicit using either an explicit end tag, as above, or the empty element syntax. This is achieved by inserting a slash at the end of the start tag immediately before the right angle bracket.

Example:

<link type="text/css" href="style.css"/>

Authors may optionally choose to use this same syntax for void elements in the HTML syntax as well. Some authors also choose to include whitespace before the slash, however this is not necessary. (Using whitespace in that fashion is a convention inherited from the compatibility guidelines in XHTML 1.0, Appendix C.)


然后,过渡性和严格性之间的选择取决于您希望支持的网络标准的程度。为此,the table at the bottomthis website给出了一个很好的概述。

首先,您想避免 Quirks Mode尽可能多地触发 box model bug在 MSIE 浏览器中,当 CSS 指定时,这会导致元素的边距、填充、尺寸不一致。缺少文档类型或不正确的文档类型将触发此模式。

我强烈建议选择 Strict 文档类型,因为盒子模型和行为将尽可能在世界已知的不同网络浏览器之间保持一致。以下任一文档类型都可以,具体取决于您希望支持/验证的元素/属性。

XHTML 1.0 strict :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

或更新的 XHTML 1.1 (strict, module-based) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

或(仍处于草稿模式)HTML5 doctype :

<!DOCTYPE html>

请注意,您需要确保 HTTP Content-Type header 设置为 text/html , 不是 application/xml也不application/xhtml+xml when going for XHTML, else MSIE may still go mad since it doesn't support that.另见 aforementioned doctype website了解更多详情。同一篇文章确实提到服务 XHTML as text/html is considered harmful ,但这仅适用于 使用 <?xml?> 呈现的情况声明和/或包含未嵌入 CDATA 中的内联 JavaScript block 。

关于java - 使用 "JSP Document"/"JSP in XML notation"是否意味着输出 XHTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2966399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com