Xml 什么定义了有效的XHTML页面

Xml 什么定义了有效的XHTML页面,xml,xhtml,Xml,Xhtml,我在一个页面上遇到了问题,该页面使用了一个XHTML doctype,该XHTML doctype通过MIMEapplication/xml发送 Firefox 3.6是唯一一款在application/xml模式下,body元素背景不再占据整个页面的浏览器(http://stackoverflow.com/questions/5225237/background-of-body-element) 这应该发生吗?是否应该将DOCTYPE为XHTML的纯XML MIME视为XHTML网页?在中使用

我在一个页面上遇到了问题,该页面使用了一个XHTML doctype,该XHTML doctype通过MIME
application/xml
发送

Firefox 3.6是唯一一款在
application/xml
模式下,
body
元素背景不再占据整个页面的浏览器(http://stackoverflow.com/questions/5225237/background-of-body-element)

这应该发生吗?是否应该将DOCTYPE为XHTML的纯XML MIME视为XHTML网页?

在中使用相同的引号,这取决于根元素。尽管XHTML可能会有例外,但如果通过检测(无论是DOCTYPE嗅探、名称空间检查等)无法识别内容类型,则XML很可能不会呈现为XTHML,而是呈现为XML

XML可以用CSS呈现,即使它没有像XHTML中那样为任何元素指定默认样式(因为它是一种定义自己语言的语言)。要分配样式,如在XHTML中,必须特别选择元素是否使用
display:block
显示:内联

XML规范没有提到DOCTYPE嗅探,一些人不鼓励这种做法:支持名称空间和处理指令

但是根据,4.0之前的Firefox“只对以text/html格式发送的文档进行嗅探”,而application/xml应该“触发完整标准模式”。然而,这是指区分不同的HTML模式;为了从XML中识别XHTML,至少,我认为下面可能暗示了一个公认的公共DOCTYPE被用来区分XHTML和“纯”XML:

请注意,XHTML实体,如ä,仅在 具有有效XHTML正式公共文件的一致性XHTML文档 标识符(或者换句话说,具有公共 标识符)。XHTML实体不能在任意XML文档中工作, 即使使用了XHTML名称空间也不行。”之后是 有效标识符的列表


但是,如果您使用的是一个公认的公共DOCTYPE,但它仍然没有被视为真正的XHTML(例如,能够单独设置body标记的样式,而不需要设置html根的样式——我似乎记得,至少在早些时候,对于XHTML/html多语言文档来说,这种做法可能是必要的),那么我猜这也是一个bug。我还认为名称空间应该足够了(如果没有名称空间,它就不应该工作,因为XML+名称空间需要一个用于应用程序特定行为的名称空间)。

不确定“视为有效的XHTML网页”是什么意思“。浏览器不关心有效性。充当
application/xml
的页面将使用xml解析器进行解析,因此必须是格式良好的xml,但您似乎已经做到了这一点。如果Firefox3.6正在做一件事,而后来Firefox又在做另一件事,那么您可能刚刚遇到了一个FF3.6错误。在发布一些标记+CSS后,我们可能会提出一个解决方案。我的意思是,带DocType的XML是否应该像带DocType的XHTML+XML一样进行解析?运行了一些测试后,这是一个有趣的问题+1。不幸的是,我不知道答案。Firefox对待
application/xml
的方式与对待
application/xhtml+xml
的方式截然不同。即使在最新版本中,
document.body
application/xml
中也没有定义,我不知道有什么规范可以涵盖这一点。