Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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
“a”和“a”之间有什么区别;处理指令“;及;声明性陈述;在XML中?_Xml_Xsd - Fatal编程技术网

“a”和“a”之间有什么区别;处理指令“;及;声明性陈述;在XML中?

“a”和“a”之间有什么区别;处理指令“;及;声明性陈述;在XML中?,xml,xsd,Xml,Xsd,我正在阅读,发现“处理指令”()和“声明性语句”()的定义有点模糊。我从阅读该页面中得到的要点是,它们都是文档化的方法,告诉文档处理者如何做 例如,下面是一段我认为很多人都会熟悉的常见代码: <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd

我正在阅读,发现“处理指令”(
)和“声明性语句”(
)的定义有点模糊。我从阅读该页面中得到的要点是,它们都是文档化的方法,告诉文档处理者如何做

例如,下面是一段我认为很多人都会熟悉的常见代码:

<?xml version="1.0"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


据我所知,这两个都是关于如何处理文档的说明。那么,有什么区别呢?

有些人在编写教程时试图提供帮助并发明自己的术语,希望人们会发现它比规范本身的语言更容易理解。本教程的作者似乎在这方面做得太过火了。这两个术语都不是官方的XML术语

示例中的第一件事是XML声明。它告诉XML解析器您使用的XML版本,以及文档的字符编码


示例中的第二件事是DOCTYPE声明。它告诉XML解析器您正在使用什么样的XML词汇表(在本例中为XHTML词汇表),这使解析器有机会检查您是否正确使用了词汇表(即您的文档是否对引用的DTD有效)。

。在SGML中,处理指令被
标记包围。声明被
包围。在XML文档中,第一个SGML处理指令是
,用于指示XML的版本和文本编码。之后是
声明,通知XML解析器如何验证文档。如果没有声明,XML解析器只能确定文档是否格式正确,而不能确定文档是否有效。如果有声明,例如DOCTYPE或嵌入式DTD,解析器还可以确定文档是否有效。

谢谢,很高兴知道这些不是官方术语。我想知道为什么我在上面找不到别的东西:)嗯?SGML处理指令以
开头)SGML序言中的声明(不要与以
()开头的SGML声明混淆)以
开头,以
结尾;不是
!>