Xml学习随笔

1、XmleXtensible Markup Language)是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具

XML是一种简单的数据存储语言

Xml可扩展标记语言,是一种最本质的东西,比如说是橡皮泥

Dtd:是一种约束,他规定xml可以有什么,叫橡皮泥可以有什么,比如:你可以有颜色、产地等

Xsl:是一种形式,按第一种形式可以捏成狗,按第二种形式可以捏成猫

xml看似是文本,但他是有数据类型的

2、语法验证:通过ie等浏览器打开,能正常打开则无误

3、文档结构:通常从xml声明开始,通过xml元素来组织数据,为了是数据更加清晰并且具有自身的格式可以引入CDATA数据块,可以在文档中加入注释,如果需要给xml处理程序提供一些信息,可以包含处理指示

4xsl:负责显示

5DTD是一套关于标记符的语法规则,规定了xml语言的语法和词汇表,也就是说定义了文件的整体结构和语法,通过dtd,可以对xml文件的合法性进行描述及检验。

DTD具体作用:

* 告诉语法分析器它所关联的XML文档的根元素、内容及结构

* 元素说明部分,使用元素类型声明ETD声明所有有效的文档元素

* XML元素可以为空,也可以是纯文本或若干个子元素,子元素同时可以有各自的子元素。DTD通过元素之间父子关系描述整个文档的结构关系

6、引入dtd的方式:

    * 直接在xml文件中写入(内部dtd)用的非常少 如:

       <? Xml version = “1.0” standalone = “yes”?>

              <!DOCTYPE 根元素名[

                     元素描述

              ]

       ENTITY定义

       文件体

* 分别在不同的文件中(外部dtd)比较常见 如:

<? Xml version = “1.0” standalone = “yes”?>

<!DOCTYPE 根元素名 SYSTEM “dtd文件名”>

<!DOCTYPE 根元素名 PUBLIC “dtd标识名” “http://www.w3.org/……dtd>

Dtd标识名:iso的以”iso”开头,被改进的非iso标准以”+”开头,未被改进的非iso标准的以”-“开头。如:

“-//dtd所有者名称//所描述的文件类型//语言种类”,对应下面的一串

html中往往有这样一串东西:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

还有一串:<html xmlns="http://www.w3.org/1999/xhtml">这是xhtmlxhtml限制了标签,不能像以前的html一样,有些标签不写它也不报错,xhtmlxmlthml的结合体

7dtd语法怪异,SGML的残留,没有数据类型,没有对dtd的编程接口,schema简单,本身就是xml,克服了以上的缺点

8、两种不同的xml分析模型:

     * DOM----所以数据位于内存中,它是面向模型的。它是一次性把文件读到内存里,形成一棵dom树,以后就不读文件了,访问内存。优点:效率高;缺点:不能装载大型的文件

     * SAX-----流程性分析,不必把所有数据Load到内存中,可以分析大型的xml文件常用于Server-sidexml—xhtml转换,它是面向事件的。缺点:不能对文档进行随机访问,只读,只遍历文档一次

9XML文档的处理过程

* 解析器检查 XML 文档的有效性和格式规范

* 创建解析树并传递给呈现代理程序

* 呈现代理程序显示解析树

* 解析器创建一系列对象,显示与 XML 文档关联的样式表

10、示例:

[1]?xml version“10”encoding”GB2312“standalone”no“?

[2]?xml—stylesheet type“textxsl”href”mystylexsl”?

[3]<专有名词列表>

[41    <专有名词>

[5]        <名词>XML</名词>

[6]        <解释>XMI。是一种可扩展的元置标语言,它可用以规定新的置标规则,并根据

                   这个规则组织数据</解释>

[7]        <示例>

[8]            !—一个XML的例子

[9]            ![CDATA[

[10]           <联系人>

[11]           <姓名>张三</姓名>

[12]           EMAILzhangaaacom</EMAIL

[13]           </联系人>

t14]          ]]

[15]       </示例>

[16]   </专有名词>

[17]</专有名词列表>

11、一个xml文件的基本构成:

一个XMl文档最基本的构成是:

* XMl声明

* 处理指令(可选)

* XML元素

上例中出现的逻辑要素有:

 [1]XML声明

 [2]是处理指令

 [3][17]是文档中的各个元素

 [8]是注释

 [9][14]CDATA

[5]行的<名词>XML</名词>中,<名词>”“</名词>是标记,“XML”

  是字符数据。

12XML整体逻辑结构总结

          XML文档通常以一个XML声明开始

          通过XML元素来组织XML数据

          XML元素包括标记和字符数据

          为组织数据更方便、清晰,在字符数据中引入CDATA数据块

          在文档中引入注释

          需要给XML处理程序提供一些指示信息,XML文档中可以包含处理指令

13Schema 实际上也是XML的一种应用,就是将XML DTD重新按照XML语言规范来定义,这充分体现了 XML自描述性的特点。

14Schema示例:

1.<?xml version=“1.0” encording=“GB2312”?>

2.<Schema xmlns=“urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”>

  1. <AttributeType name=“年级”/>
  2. <AttributeType name=“班级”/>
  3. <ElementType name=“姓名”/>
  4. <ElementType name=“籍贯”/>
  5. <ElementType name=“年龄”/>

8<ElementType name=“电话” dt:type=fixed.14.4/>

9.      <ElementType name=“学生” content=eltOnly/>

10.                <elementType name=“姓名”/>

11.            <elementType name=“籍贯”/>

12.            <elementType name=“年龄”/>

13.            <elementType name=“电话”/>

14.     <ElementType >

15.     <ElementType name=“学生花名册”   content=eltOnly/>

16.            <elementType =“学生”/>

17.            <attribute type=“年级”/>

18.            <attribute type=“班级”/>

19.  </Element Type>

20.</Schema>

分析:

     1行是XML类型声明语句,指明该文档是一个XML文档,并且符合版本1.0规范;该文档采用GB2312编码。

2行是Schema声明语句,它包含了Schema命名空间的声明。本例中用到了两个命名空间:一个是xmlns=urn:schemas-  microsoft-com:xml-data ,它指定本文档是一个XMLSchema文档;另一个是xmlns:dt=urn:schemas-microsoft-com:datatypes>,它定义了本文档中可以使用的数据类型。

34行是属性定义语句, 它定义了两个属性:年级和班级。

58行是元素定义语句,它定义了两个属性:年级和班级。

9 14行定义了本XML Schema的二级元素:学生,指明该元素含有包含四个子元素:姓名、年龄、籍贯、电话。

1519行定义了本XML Schema的顶级元素:学生花名册,指明该元素包含一个子元素:学生,以及两个属性:年级、班级。

20行是结束标记语句,它指明该XML  Schema 的描述到此为止。   

15Schema优点:

       一致性。读者不必为搞懂DTD而去重新学习,从而节省了时间。

扩展性。引入了数据类型、命名空间。

互换性。利用Schema,我们能够书写XML文档,验证文档的合法性。通过映射机制,还可以将不同的Schema进行转换,以实现更高层次得数据交换。

规范性。同DTD一样,Schena定义了XML文档的整体结构,如哪些元素可以出现在文档中,元素间的系是什么,每个元素又有哪些子元素、属性,以及元素出现的顺序和次数等等。

易用性。XML文档的结构已变成Schema——一种“格式良好”的XML文档,用DOMSAX去访问当然不在话下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值