XML

XML文档的结构
  • XML声明语句:<?xml version="1.0" encoding="gb2312"?>
  • 处理指令PI:<?……?>
  • 根元素:XML文档只能包含一个根元素
  • 元素:所有XML元素必须包含结束标记 
  • 属性:所有属性值都必须使用引号
  • CDATA节:<![CDATA[……]]>
  • 注释:<!-- …… -->,注释中不能有“--”符号。
  • PCDATA:XML保留PCDATA里的空白符。

标记的命名规则
  1. 名称的开头必须是字母或“_”;
  2. 标记名称中不能有空格;
  3. 名称的字符串只能包含“英文字母”、“数字”、“_”、“-”、“.”等字符。
  4. 标记区分大小写。
  5. 名称的开始字符不可以是xml,不管是大写还是小写或者大小写混合的。
  6. 开始符<之后紧跟着元素名字,其间不能有空格,但是在元素名与结束符>之间可以有空格。
  7. 行结束空白符。由于Windows系统行结束符用换行符和回车符两个字符表示,而Linux系统里只用换行符,因此,为了屏蔽差异,XML将行结束符统一转换为单个换行符。

XML声明语句
      XML提供了声明语句,用于说明文档是属于XML类型。此外,这个声明语句还给解析器提供其他信息。也可以不使用XML声明,因为没有这个声明语句,解析器通常也能够判断一个文档是否是XML类型。例如:
<?xml version="1.0" encoding="gb2312" standalone="yes" ?>
  1. XML声明语句从<?xml开始,到?>结束。
  2. XML声明语句必须放在文件的开头,即文件的第一个字符必须是<,前面不能有空行或空格。
  3. XML声明语句必须有version属性,但是encoding和standalone属性是可选的。
  4. version、encoding和standalone三个属性必须按照这样的顺序排列。
  5. standalone属性为yes,表明文档可以完全独立存在,不依赖于其他任何文件;其值为no,表示文档可能依赖于一个外部的DTD文件。

处理指令
      尽管处理指令(PI:Processing Instruction)不是很常见,但是可以在文档中嵌入应用程序专用的指令来控制文档的处理过程。XML处理指令不属于文档内容,但是它们会传递给应用程序。例如:
<books>
      <book>
            <title>三国演义</title>
            <author>罗贯中</author>
            <?processor PRINT title ?>
      </book>
</books>
XML对于处理指令没有太多的规定,基本的规定是,在<?后面跟一个应用程序名,这个应用程序执行程序名之后的处理指令。在这个例子里面,应用程序是processor,它会执行“PRINT title”指令。


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



CDATA标记
    CDATA标记的作用是通知XML语法解析器,该标记中代码包括文字和标记都要当作纯文本来解析,并原封不动的将这段代码传给下一个XML应用程序。界定该段代码的开始和结束标记为:
 <![CDATA[
 ……
 ]]>

XML名称空间
    XML名称空间提供了一套简单的方法,将XML文档和URI引用标识的名称相结合,来限定其中的元素和属性名。由此可知它通过使用URI,解决了XML文档中标记重名的问题,从而确保任何一篇XML文档中使用的名字都是全球范围内独一无二的。 
    在使用名称空间之前,必须首先进行声明。名称空间的声明类似于前面元素的声明,将一个唯一的标识符号指定到一个URI或其他合法字符串上,使用前面定义的标识符号作为标记的前缀,表示一类标记的出处。
    名称空间具有继承性。也就是说,如果不明确声明子元素的名称空间,子元素将继承父元素的名称空间声明。但要注意的是,在默认声明的名称空间范围内,所有的元素及其子元素不加前缀,而在显示声明的名称空间范围内,所有的元素及其子元素必须加前缀。
    名称空间的范围。就是声明该名称空间的元素及该元素中所有的子元素,除非是在该元素的某一个子元素上又声明了相同的名称空间。

来自:http://blog.sina.com.cn/s/blog_48a45b950100f2nn.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值