在一个完整的XML文档中,必须包含一个XML文档的声明,并且该声明必须位于文档的第一行。这个声明表示该文档是一个XML文档,以及遵循哪个XML版本的规范。XML文档声明的语法格式如下所示:
从上面的语法格式中可以看出,文档声明以符号“”开头,以符号“?>”结束,中间可以声明版本信息,编码信息以及文档独立性信息。需要注意的是,在“”之间以及第一个“?”和xml之间不能有空格;另外,中括号([])括起来的部分是可选的。接下来,针对语法格式中的版本信息、编码信息、文档独立性信息进行详细讲解,具体如下:
1、版本声明
由于解析器对不同版本的XML文档解析方式不同,因此,在文档声明时,必须指定版本信息。版本声明的具体示例如下所示:
在上述版本声明中,version属性表示XML的版本。目前,最常用的XML版本是1.0。
2、 文档编码声明
由于人们可以采用不同的字符集编码来书写一个字符内容完全相同的XML文档,所以,XML软件工具需要知道XML文档所使用的编码方式,这时,可以通过在XML文档声明中指定encoding属性来说明,默认情况下,XML文档使用的是UTF-8编码方式。如果要将字符编码声明为GB2312,则示例代码如下所示:
3、 独立文档声明
如果我们的文档不依赖外部文档,在XML声明中,可以通过standalnotallow="yes"来声明这个文档是独立的文档。如果文档依赖于外部文档,可以通过standalnotallow="no"来声明,默认情况下,standalone属性的值为no。一个完整的XML声明如下所示:
上面所提的依赖,是指文档需要DTD文件验证其中的标识是否有效,或者需要XSL、CSS文件控制显示外观等,关于DTD文件等相关知识,将在后面的小节进行详细讲解。
注意:
XML声明必须位于文档的第一行,前面不能有任何字符。在XML声明时,如果同时设置了encoding和standalone属性,standalone属性要位于encoding属性