22.2 XML语法

22.2 XML语法

视频讲解:光盘TMlx22XML语法.exe

XML语法是XML语言的基础,是学好XML的前提条件。任何一门语言都有一些共同的特性,同样也有各自的语法特点。下面就来学习XML语法特点。

22.2.1 XML文档结构

【例22.1】在开始讲解XML语法之前,先来熟悉一下XML的文档结构。实例代码如下:(实例位置:光盘TMsl221)

<? xml version="1.0" encoding="gb2312" standalone="yes"?> <? xml-stylesheet type="text/css" href="Book.css"?> <! -- 下面的标签<计算机图书>就是这个XML文档的根目录 --> <计算机图书> <PHP> <书名>PHP程序开发范例宝典</书名> <价格 单位="元/本">89.00</价格> <出版时间>2007-09-01</出版时间> </PHP> </计算机图书>

例22.1包含了一个XML文档最基本的要素,包括XML声明、处理指令(PI)、注释和元素等,下面就来一一说明。

22.2.2 XML声明

XML声明在文档中只能出现一次,而且必须是在第一行。XML声明包括XML版本、编码等信息。例22.1中的第一行就是该文档的声明。

<? xml version="1.0" encoding="gb2312" standalone="yes"?>

XML声明的各部分含义如表22.1所示。

表22.1 XML声明的各部分含义

22.2.3 处理指令

处理指令,顾名思义,就是如何处理XML文档的指令。有一些XML分析器可能对XML文档的应用程序不做处理,这时可以指定应用程序按照这个指令信息来处理,然后再传给下一个应用程序。XML声明其实就是一个特殊的处理指令。处理指令的格式为:

<?处理指令名 处理执行信息?>

例22.1中的处理指令是:

<? xml-stylesheet type = "text/css" href="Book.css"?>

xml-stylesheet:样式表单处理指令,指明了该XML文档所使用的样式表。

type="text/css":设定了文档所使用的样式是css。

href="Book.css":设定了样式文件的地址。

22.2.4 注释

XML中的注释和HTML是一样的,使用“<! --”和“-->”作为开始和结束定界符。注释的用法十分简单,这里只介绍在使用注释时要注意的几个问题。

不能出现在XML声明之前。

不能出现在XML元素中间。如<computer_book <! --这是错误的-->>。

不能出现在属性列表中。

不能嵌套注释。

注释内容可以包含“<”“>”“&”等特殊字符,但不允许有“--”。

22.2.5 XML元素

元素是每个XML文档不可或缺的部分,也是文档内容的基本单元。每个XML文档至少要包含一个元素。一般元素由3部分组成,格式如下:

<标签>数据内容</标签>

其中,<标签>为元素的开始标签,</标签>是元素的结束标签,中间的数据内容是元素的值。这里要注意的是标签的写法。

<标签>和</标签>都是成对出现的,这是XML严格定义的,不允许只有开始标签而没有结束标签,对于空元素,即两个标签之间没有数据,这时可以使用简短形式<标签/>。

英文标签名称只能由下划线“_”或英文字母开头,中文标签名称只能使用下划线“_”或汉字开头。名称中只能有下划线“_”、连接符“-”、点“.”和冒号“:”等特殊字符,也可以使用指定字符集下的合法字符。

<标签>中不能有空格,<标签>或</标签>都是错误的。

<标签>对英文大小写敏感,如<name>和<Name>是两个不同的标签。

22.2.6 XML属性

XML属性是XML元素中的内容,是可选的。XML属性和HTML中的属性在功能上十分相似,但XML属性在格式上更加严格,使用上更加灵活。XML属性的格式为:

<标签 属性名="属性值" 属性名=""…>内容</标签>

这里要注意:

属性名和属性值必须是成对出现的,不像HTML中有些属性,可以不需要值而单独存在。对于XML来说这是不允许的。如果没有值,写成“属性名=""”也可以。

属性值必须用引号括起来,通常使用双引号,除非属性值本身包含了双引号,这时可以用单引号来代替。

22.2.7 使用CDATA标记

在XML中,特殊字符“>”“<”“&”的输入需要使用实体引用来处理,实体引用就是使用“&…; ”的形式来代替那些特殊字符。表22.2是XML中所用到的实体引用。

表22.2 XML中的实体引用

但如果遇到大量的特殊符号需要输入,使用这种方法就不太实际了。XML中提供了CDATA(Character data,字符数据)标记,在CDATA标记段的内容都会被当作纯文本数据处理。CDATA标记的格式如下:

<! [CDATA[ … ]]>

【例22.2】本例分别使用实体引用和CDATA标记来显示特殊符号。实例代码如下:(实例位置:光盘TMsl222)

<? xml version="1.0" encoding="GB2312"?> <exam> <实体引用>这里必须使用引用“&lt; ”、“&gt; ”、“&amp; ”</实体引用> <CDATA标记> <! [CDATA[ 这里可以正常输出“<”、“>”、“&”。 ]]> </CDATA标记> </exam>

注意

在CDATA标记段内不允许出现“]]>”,否则,XML会认为CDATA标记段结束。

22.2.8 XML命名空间

命名空间通过在元素前面增加一个前缀来保证元素和属性的唯一性,它的最重要用途是用于融会不同的XML文档。命名空间的格式为:

<标签名称 xmlns:前缀名称="URL">

【例22.3】本例对元素<外语图书>使用命名空间。实例代码如下:(实例位置:光盘TMsl223)

<? xml version="1.0" encoding="gb2312" standalone="yes"?> <外语图书 xmlns:frn="http://www.bccd.com/foreign"> <frn:English> <frn:书名>许国璋英语</frn:书名> <frn:价格 货币种类="RMB" 单位="4本">80.00</frn:价格> <frn:出版时间>1996-05-10</frn:出版时间> </frn:English> </外语图书>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

22.2 XML语法