当前位置:编程学习 > XML/UML >>

XML学习笔记之蜻蜓点水


(一): XML Overview

一、XML概念:

1,概念:可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可       以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
      标记——代码由两部分组成,标记和内容。
      扩展——标记完全自定义,可以根据需要自行扩展。
2,作用:用于保存特定的信息,内容为保存的信息,标记用于指定保存信息的含义。
      例如:<age>18</age> ------->开始标记   内容   结束标记 
3,保存大量数据(扮演数据库角色)的弊端:纯文本格式,效率低。
      保存少量数据的优势:数据定义明确,标准化格式,便于维护和管理。
4,主要应用领域:
      a,配置文件 ,b,系统信息的交换
5,与HTML的区别:
      HTML——超文本标记语言
      共同点:都是标记语言
      不同点:HTML的标记是指定信息的展示格式。XML的标记指定的是信息内容的含义,HTML的标记预定义,XML                     的标记自定义。例如:<p>html</p>   <hello>XML</hello>
     
二、XML的规范:

1,语法要求
      a,大小写敏感  <name>playboy</name>与<Name>playboy</Name> 是2个不同的标记。
      b,有且仅有一个根标记。
      c,开始标记必须对应结束标记。<girl>pretty girl</boy>是错误的,应该为:<girl>pretty girl</girl>。
      d,如果标记没有没有可以使用“<标记/>”的格式。例如:<end/>
      e,标记之间的关系只有2种:平行或者嵌套,不允许交叉;例如,<a>m<b></a>n</b>是错误的。
      f,属性必须写在开始标记中,具有特定的格式,属性值必须以“”或者''包含。例如:<age value="2"></age>;
      g,每个标记可以定义任意数量的属性,但属性名称必须不同;
2,XML格式:符合XML语法要求的文件都是XML格式的文件,扩展名有几十种,常用的有.xml .xsd .tld等;
     XML文件:扩展名为.xml的文件。

3, <?xml version="1.0" encoding="UTF-8"?>  XML的指示信息,用于对XML文件进行说明,可以不写(使用默认           值),如果写必须出现在文件的第一行
      注意:如果在文件中出现中文信息,通常将encoding属性设置为gb2312或gbk
      语法:<?...?>

4, 注释:<!--... ...-->
       注释中的内容不被处理,但如果出现中文,encoding属性也需要作相应的设定

5, 标记
      1)标记中可以包含同名标记
      2)混合标记——标记中既包含子标记又包含内容
            在解析中,混合标记操作相对复杂,通常不建议使用
            处理方法:将混合标记中的内容部分替换一个合适的子标记,该标记用于包含内容;
            如果内容分散,可以使用多个同名标记;
      例如:
  
   <chapter>                                          <chapter>
      Chapter information                                    <content>Chapter information</content>
      <para>What is XML</para>        --->   <para>What is XML</para>
      <para>What is HTML</para>                   <para>What is HTML</para>
      More chapter information               <content>More chapter information</content>
     <chapter>                       <chapter>


                
6, XML数据类型:
       PCDATA:处理XML时将会对数据进行处理,所有没有说明的内容都属于该类型(99%)。
CDATA:处理XML时不对数据进行处理,需要使用特定的语法进行说明,在内容包含大量
特殊字符时使用较多
例如:
   
    <nameXML>
      <![CDATA[
             <name common="freddy" breed="springer-spaniel">
                     Sir Frederick of Ledyard's End
            </name>
    ]]>
 </nameXML>

7, 标记和属性的命名:
       基本与Java相同,但不能使用"xml*"和"XML*"或者"Xml*"或者"XmL*"作为标记和属性的名称。
8、 DTD和XML Schema
      1)DTD:原有的用于约束XML格式的文档格式,存在很多缺点,已经逐渐被XML Schema取代,但仍然有大量的
           系统在沿用早期的配置方式(使用DTD)
       2)XML Schema:DTD的升级版本
9,命名空间:
      1) Java以package形式出现
          如com.briup.md02.Student和com.briup.md05.Student
      2) xml以namespace形式出现
          如<namespace:标记名称>......</namespace:标记名称>

三:XML Schema

1、XML Schema:
1)XML Schema是XML格式,扩展名为.xsd。
2)XML Schema类似于Java中的集合,本身是对象,用于存放对象。
3)XML Schema本身是xml,用于限定xml的格式
2、类型系统:
Schema拥有强大的,具有良好扩展性的类型系统,包括两部分
1)内置类型:如整数,字符串
2)扩展类型(自定义):将内置类型或扩展类型整合定义新的类型,在符合语法要求的情况下可以任意定义。
xsd的格式有国际标准组织定义,其文件结构本质就是定义
Schema类型系统的方式,所有标记定义必须属于"http://www.w3.org/2001/XMLSchema"这个命名空间
3、格式:
1)根标记为<schema>
2)定义xml标记使用
a.使用内置类型
<element name="标记名" type="标记类型"/>
如:<element name="id" type="int"/>
对应的xml文件内容为:<id>100</id>
b.使用扩展类型
<element name="标记名">具体的扩展细节</element>
扩展类型分为:
简单类型<simpleType>:只包含内容
复杂类型<complexType&

补充:Web开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,