Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 空字符串作为DOCTYPE路径有意义吗?_Xml_Dtd_Doctype - Fatal编程技术网

Xml 空字符串作为DOCTYPE路径有意义吗?

Xml 空字符串作为DOCTYPE路径有意义吗?,xml,dtd,doctype,Xml,Dtd,Doctype,我在提供用于处理的XML文件中发现了以下内容: 空字符串对我来说没有任何意义,我在网上找不到任何关于它的讨论。如果我使用在线验证器,它们都不会为此发出警告,也不会在引号之间添加任何垃圾,因此它们不会帮助我发现该声明是否无效。如果它是有效的,这个XML文件应该如何验证?DOCTYPE声明确实有效。要确定这一点,您可以查看规范 在本节中,您将找到DOCTYPE声明()的模型: 如果你再看看: 您将看到系统后面跟着: 这表明引号可以是空的 如果它是有效的,那么应该如何验证这个XML文件 由于D

我在提供用于处理的XML文件中发现了以下内容:


空字符串对我来说没有任何意义,我在网上找不到任何关于它的讨论。如果我使用在线验证器,它们都不会为此发出警告,也不会在引号之间添加任何垃圾,因此它们不会帮助我发现该声明是否无效。如果它是有效的,这个XML文件应该如何验证?

DOCTYPE声明确实有效。要确定这一点,您可以查看规范

在本节中,您将找到DOCTYPE声明()的模型:

如果你再看看:

您将看到
系统
后面跟着:

这表明引号可以是空的

如果它是有效的,那么应该如何验证这个XML文件

由于DOCTYPE有一个空的系统标识符,并且没有允许您映射到系统标识符的公共标识符,因此无法以编程方式知道要针对哪个DTD进行验证


根据DTD验证此XML的唯一方法是让您提前知道它应该根据什么DTD进行验证,并且无论您使用什么进行验证,都允许您将DTD与DOCTYPE声明分开指定。(例如,通过将
--dtdvalid
arg与xmllint一起使用。)

确定,因此,如果DTD没有提供XML,我可以自己设置它,如果我仍然想验证它。