【XML定义】(2)XML标记语法、文档的语法和数据结构

XML标记语法 :

(1)标记的命名规则

作为标记名字的字符串必须满足以下要求:

①名称的开头必须是字母或“_”;

②标记名称中不能有空格;

③名称的字符串只能包含“英文字母”、“数字”、“_”、“-”、“.”等字符。

例如下面的标记就是合法标记:
<Name> <name> <_name> <li_name><li.name>

而下面是非法的标记:
<.name> <li/name> <li%name> <li*name>

(2)标记的使用规则

①必须具有根标记且根标记必须惟一

②开始标记和结束标记需配对使用

③标记不能交错使用

所谓标记的交错使用就是指如下情形的标记使用:
<publisher> <ISBN>7-04-0147688</publisher> </ISBN>

在XML中这种标记的交错使用是非法的。应改成:
<publisher> <ISBN>7-04-014768-8</ISBN> </publisher>

④空标记的使用

所谓空标记指的是标记只有开始没有结束,又叫孤立标记。这种标记有的表示一种格式信息,例如<hr>在HTML中代表了一条直线,有的则保存一些数据信息。空标记可写成“<标记名/>”的形式。

⑤标记对大小写敏感

在XML中相配对的标记大小写需相同。如程序中出现</bookinfo>标记和</BOOKINFO>标记,则被认为是两个不同的标记,所以</bookinfo></BOOKINFO>被认为是两个不配对的标记。

XML文档语法和数据结构 :

XML是一种语法要求十分严格的标记语言,因此语法有严格的限制。有关XML的基本语法一共有4条:

(1) 文件的第一条语句必须是有关版本的声明;

(2) 标记的使用必须遵循”标记语法”节中的各规则;

(3) 属性的值必须用双引号括起来;

(4) 特殊字符必须使用XML中特定的编码来表示。

处理指令:

处理指令是包含XML文档中的一些命令性语句,目的是告诉XML处理一些信息或执行一定的动作。

【格式】:<?……?>

【例如有关版本信息的声明指令】:<?xml version=”1.0”?>

“<?”和“?>”:是开始和结束的界定符号;

“xml”:是处理指令的命令名字;

“version”:命令中的属性,通常描述处理指令一个特定的细节;

“1.0”是属性的值,代表了对属性进行的某一方面的设定;

XML的属性:

XML允许为元素设置属性,用来为元素附加一些额外信息,这些信息与元素本身的信息内容有所不同。

对于非空元素,属性的基本使用格式为:

<开始标记 属性名称1=”属性值” 属性名称2=”属性值”…></结束标记>

对于空元素,属性的基本使用格式为:

<空标记 属性名称1=”属性值” 属性名称2=”属性值”…/>

特殊字符的使用:

在XML文档中有些字符是特殊字符,这些字符的特殊之处就在于这些字符在XML标记语言中已经被赋予了特殊的意义。如果现在要求将字符“<”显示在页面上,则需使用定义的特殊编码,特殊字符所对应的编码如下表所示:

& :&amp;:每一代表符号的开头字符
>&gt;:标记的结束字符
<&lt;:标记的开始字符
"&quot;:设定属性的值
&apos;:设定属性的值

XML文档中的注释:
格式:
<!--
.........
-->
程序中的文字CDATA标记:

CDATA标记的作用:

通知XML语法解析器,该标记中代码包括文字和标记都要当作纯文本来解析,并原封不动的将这段代码传给下一个XML应用程序。

界定该段代码的开始和结束标记为:

<![CDATA[
 ……
 ]]>

XML文档的数据结构:

构成:文档头、文档体

文档体:

是指文档中内容信息所在的部分
例如:

根标记及其以内的所有元素、脚本等

文档头:

头部通常是一些声明信息或控制信息
例如:

处理指令和文档类型定义,其中文档类型定义不是必须的,但合法的XML文档必须具有该部分。

【文档的“体”部是真正的数据信息,“头”部的信息都是为体部的信息服务的。】

代码演示:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE bookinfo [
  <!--
   <!ELEMENT bookinfo ((title|author)*)>
   -->

   <!ELEMENT bookinfo ((title,author+,publish,price))>
   <!ELEMENT title (#PCDATA)>
   <!ELEMENT author (#PCDATA)>
   <!ELEMENT publish (publisher,pubdate)>
   <!ELEMENT publisher (#PCDATA)>
   <!ELEMENT pubdate (#PCDATA)>
   <!ELEMENT price (#PCDATA)>

   <!ATTLIST bookinfo isbn CDATA "0000000000">
]>

<bookinfo isbn="7-04-014768-8">
   <title>计算机导论</title>
   <author>Jack</author>
   <author>张三</author>
   <publish>
        <publisher>高等教育出版社</publisher>
        <pubdate>2004.6</pubdate>
   </publish>
   <price>19.7</price>
</bookinfo>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值