Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何强制浏览器验证XHTML5的良好格式_Xml_Xhtml - Fatal编程技术网

Xml 如何强制浏览器验证XHTML5的良好格式

Xml 如何强制浏览器验证XHTML5的良好格式,xml,xhtml,Xml,Xhtml,我已经搜索了一段时间,看到了许多不同的示例,说明如何将文件声明为XHTML5。所以应该是这样的: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> blabla </html> 有没有办法强制浏览器拒绝格式不正确的xml文件?我尝试了这个错误,但仍然表现得很勇敢: <svg xmlns="http://www.w3.org/2000/svg"> <rect

我已经搜索了一段时间,看到了许多不同的示例,说明如何将文件声明为XHTML5。所以应该是这样的:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
   blabla
</html>
有没有办法强制浏览器拒绝格式不正确的xml文件?我尝试了这个错误,但仍然表现得很勇敢:

<svg xmlns="http://www.w3.org/2000/svg">
    <rect stroke="black" fill="blue" x="45px" y="45px" width="200px" height="100px" stroke-width="2" />
<a>
</svg>
</a>

谢谢

浏览器与任何其他XML使用者一样,不需要拒绝XML格式不正确的资源,尽管如果他们愿意,也可以这样做。它们只需要在遇到格式良好的错误时停止解析输入。要使浏览器使用其XML解析器解析输入,请设置HTTP头内容类型:application/xhtml+XML


还要注意问题中标题和正文之间的不匹配。有效性和格式良好是两码事。

浏览器和其他XML使用者一样,不需要拒绝XML格式不好的资源,尽管如果愿意,他们也可以拒绝。它们只需要在遇到格式良好的错误时停止解析输入。要使浏览器使用其XML解析器解析输入,请设置HTTP头内容类型:application/xhtml+XML


还要注意问题中标题和正文之间的不匹配。有效性和良好的格式是不同的。

我怀疑如果你正在加载主页,那么这就无法完成。您始终可以通过XmlHttpRequest获取文档,在这种情况下,您可以确保文档由XML解析器解析,因此是格式良好的XML。但这仍然不能给您提供基于DTD的验证,浏览器中的XML解析器不做DTD。谢谢,我比DTD更了解格式。稍后我需要检查DTD。我只是想了解一下XML+HTML5这对组合。我怀疑如果你正在加载主页,那么这就无法完成。您始终可以通过XmlHttpRequest获取文档,在这种情况下,您可以确保文档由XML解析器解析,因此是格式良好的XML。但这仍然不能给您提供基于DTD的验证,浏览器中的XML解析器不做DTD。谢谢,我比DTD更了解格式。稍后我需要检查DTD。我只是想了解一下XML+HTML5这对组合。谢谢,这是应用程序必须设置的。谢谢你的提示。这确实是不同的事情。现在,我看的是格式良好的代码,您在这里谈论的是哪个应用程序?如果您有实际的HTML文件,将其更改为XHTML的方法是更改扩展名。@MrLister-这确实不准确。更改扩展名适用于本地文件,但对于web资源,则取决于服务器配置及其运行的应用程序。通常,服务器将被配置为以application/xhtml+xml的形式发送扩展名为.xhtml的文件,但不需要这样。服务器可以配置为在需要application/xhtml+xml时发送扩展名为.html的文件。在我的例子中,我有一个使用.ashx扩展名的.NET应用程序,该应用程序通过嗅探请求头数据来确定要使用哪种内容类型。@Alohci True,这是很容易配置的,如果设置是您期望的,您可能会遇到麻烦。但在绝大多数服务器中,默认设置如您所说,在浏览器中上载的.xhtml文件与本地加载的文件的行为相同。这样,初学者就不必急于从文件中手动更改MIME类型。谢谢,这是应用程序必须设置的。谢谢你的提示。这确实是不同的事情。现在,我看的是格式良好的代码,您在这里谈论的是哪个应用程序?如果您有实际的HTML文件,将其更改为XHTML的方法是更改扩展名。@MrLister-这确实不准确。更改扩展名适用于本地文件,但对于web资源,则取决于服务器配置及其运行的应用程序。通常,服务器将被配置为以application/xhtml+xml的形式发送扩展名为.xhtml的文件,但不需要这样。服务器可以配置为在需要application/xhtml+xml时发送扩展名为.html的文件。在我的例子中,我有一个使用.ashx扩展名的.NET应用程序,该应用程序通过嗅探请求头数据来确定要使用哪种内容类型。@Alohci True,这是很容易配置的,如果设置是您期望的,您可能会遇到麻烦。但在绝大多数服务器中,默认设置如您所说,在浏览器中上载的.xhtml文件与本地加载的文件的行为相同。这样,初学者就不必急于从文件中手动更改MIME类型。