XML这个问号是什么意思?

18

我知道XML文档通常以以下内容开头:

<?xml version="1.0" encoding="UTF-8"?>

我的问题是关于 <??> 它们各自代表什么意思? 比如说:

<?Any old text?>

XML中的mean是什么意思

谢谢

2个回答

17

<?序列启动所谓的处理指令。 这些是为第三方软件添加以进行处理的位。 众所周知,<?php在技术上是一个PI,但还包括XSLT样式表嵌入:

<?xml-stylesheet href="classic.xsl" type="text/xml"?>

13

这是一个Prolog - 请参阅w3schools.com上XML Syntax Rules中的“XML Prolog”。

要了解更详细的定义,请参见W3C中“可扩展标记语言(XML)”中'2.8 Prolog and Document Type Declaration'

请注意,尽管XML Prolog(<?xml ...?>)看起来像一种特殊类型的处理指令(<?...?>),但在某种程度上它是一个单独的事物。

W3C文档的'2.1 Well-Formed XML Documents'部分描述了一个格式良好的XML文档具有恰好一个prolog,并且第2.8节中的定义说,prolog最多可以包含一个XMLDecl,即<?xml ....?>和任意数量的PIs。

此外,如果有XMLDecl,则必须出现在prolog的第一部分,而PI可以按照没有预定义顺序的方式跟随,可能会用注释和空格字符分隔。
此外,'2.6处理指令'的定义明确排除了xml(使用所有可能的大小写组合)作为PI允许的名称。

你可以在XML文档中有多个Prolog语句吗?例如,一个用于声明版本和编码,另一个仅用于向引擎传递一些信息? - More Than Five
2
@MoreThanFive 是和不是的。是的,你可以有多个处理指令(<?...?>),但不,你只能有一个文档声明(<?xml ...?>)。w3c文档的 '2.1 良好格式的XML文档' 章节描述了一个良好格式的XML文档只能有一个文档声明,并且文档声明定义了它最多只能包含一个XML声明,即 <?xml ....?> - CiaPan
1
@MoreThanFive(续)...而且'2.6处理指令'定义明确排除了xml作为PI允许的名称。 - CiaPan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接