xml学习笔记.docx

上传人:b****3 文档编号:26406062 上传时间:2023-06-19 格式:DOCX 页数:13 大小:20.09KB
下载 相关 举报
xml学习笔记.docx_第1页
第1页 / 共13页
xml学习笔记.docx_第2页
第2页 / 共13页
xml学习笔记.docx_第3页
第3页 / 共13页
xml学习笔记.docx_第4页
第4页 / 共13页
xml学习笔记.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

xml学习笔记.docx

《xml学习笔记.docx》由会员分享,可在线阅读,更多相关《xml学习笔记.docx(13页珍藏版)》请在冰豆网上搜索。

xml学习笔记.docx

xml学习笔记

北京圣思远xml培训视频讲师:

张龙

1,xml主要用于网络上的数据交换;

2,XML核心技术:

1)文档描述,验证,结束技术----DTD/Schema【模式】;

2)文档转换技术----XSL

3)数据查询技术----XPath

4)链接技术----XLink/XPointer

5)编程接口----DOM/SAX--重点

3,DTD是用来验证xml的;

4,XML是一种元标记语言。

用户可以定义自己需要的标记。

这些标记必须根据某些通用的原理来创建,但是在标记的意义上,也具有相当的灵活性。

例如,假如用户正在处理与家谱有关的事情,那么就需要描述人的出生,死亡,埋葬地,家庭,结婚,离婚等,这就必须创建用于每项的标记。

新创建的标记可在文档类型定义(DocumentTypeDefinition,简称DTD)中加以描述。

现在,把DTD看作是一本词汇表和某类文档的句法;

5,有了XML就意味着不必等待浏览器的开发上来满足用户的需要了。

用户可以创建自己需要的标记,当需要时,告诉浏览器如何显示这些标记就可以了,所有浏览器都对xml进行了支持;

6,每一个XML文档都有且只有一个根元素(RootElement).

7,XML描述的是文档的内容与语义,而不是文档应当如何显示;

第二讲:

格式正规的xml文档.......

1,对于XML文档来说,

处理指令必须要顶格写,前面不能由任何的空白。

2,XML元素可以具有属性,属性的形式为:

属性名="属性值",比如gender="male"//属性值需要使用单引号或双引号引起来;多个属性之间使用空格分开;

3,给当前xml文件添加css样式:

xmlversion="1.0"?

>

xml-stylesheettype="text/css"href="hello.css"?

>

HelloWorld

//-----用于展现内容与显示分离的

第三讲:

XMLSpay详解,有效的XML文档详悉

1,例子:

xmlversion="1.0"encoding="utf-8"?

>

DOCTYPEcompany[

ENTITYshengsiyuan"圣思园">

ENTITYaddress"北京上地">

]>

&shengsiyuan;

&address;

2,CDATA节:

[CDATA[

//在这里面写任何东西,xml解析器都不会解析,它只把他们当做普通文本来进行处理;

]]>

3,xml的应用范围:

数据交换web集成web服务内容管理系统配置;

4,有效的XML文档:

首先XML文档是个格式正规的XML文档,然后又需要满足DTD的要求,这样的XML文档称为有效的XML文档;

5,文档类型定义--DocumentTypeDefinition

DTD用来描述XML文档的结构,一个DTD文档包含:

元素的定义规则;

元素之间的关系规则

属性的定义规则

可使用的实体(ENTITY)或符号(NOTATION)规则;

6,DTD文档与XML文档的关系就是类与对象的关系;

7,DTD的作用:

1)有了DTD,每个XML文件可以携带一个自身格式的描述

2)有了DTD,不同组织的人可以使用一个通用DTD来交换数据。

3)应用程序可以使用一个标准DTD校验从外部世界接受来的XML数据是否有效。

4)可以使用DTD校验自己的XML数据。

8,DTD文档的声明及引用:

1)内部DTD文档:

dtd约束和xml文件在同一个xml文档中:

DOCTYPE根元素[定义内容]>

2)外部DTD文档:

DTD和XML不在同一个文件中,引入

DOCTYPE根元素SYSTEM"DTD文件路径">

3)内外部DTD文档结合:

DOCTYPE根元素SYSTEM"DTD文件路径"[定义内容]>

第四讲:

DTD元素属性深度详解

1,例子:

xmlversion="1.0"encoding="utf-8"?

>

DOCTYPEpoem[

ELEMENTpoem(author,title,content)>//根元素必须为poem,三个子元素只能按顺序出现,且只能出现一次

ELEMENTauthor(#PCDATA)>//给元素定义约束必须以!

ELEMENT来进行定义

ELEMENTtitle(#PCDATA)>

ELEMENTcontent(#PCDATA)>//#PCDATA表示元素类型表示String类型

]>

王维

鹿柴

空山不见人,但闻人语声。

近景入深林,复照青苔上.

2,DTD文档与XML文档实例之间的关系是类与对象的关系;

1)有了DTD,每个XML文件可以携带一个自身格式的描述。

2)有了DTD,不同组织的人可以使用一个通用DTD用来交换数据。

3)应用程序可以使用一个标准DTD校验从外部世界接受来的XML数据是否有效。

4)可以使用DTD校验自己的XML数据;

3,引入外部dtd文件:

先写

1),dtd_1.dtd文件:

xmlversion="1.0"encoding="UTF-8"?

>

ELEMENTpoem(author,title,content)>//根元素必须为poem,三个子元素只能按顺序出现,且只能出现一次

ELEMENTauthor(#PCDATA)>//给元素定义约束必须以!

ELEMENT来进行定义

ELEMENTtitle(#PCDATA)>

ELEMENTcontent(#PCDATA)>//#PCDATA表示元素类型表示String类型

2),写xml文件,并将dtd文件引入:

xmlversion="1.0"encoding="utf-8"?

>

DOCTYPEpoemSYSTEM"dtd_1.dtd">//""中写的是dtd文件的路径,SYSTEM是关键字

王维

鹿柴

空山不见人,但闻人语声。

近景入深林,复照青苔上.

4,元素的定义:

ELEMENTnamecontent>//ELEMENT关键字,name元素名称,content元素类型;

content的取值:

1)EMPTY--该元素不能包含子元素和文本,但可以有属性,也就是空元素

2)ANY--该元素可以包含任何在DTD中定义的元素内容

3)#PCDATA--可以包含任何字符数据,但是不能在其中包含任何子元素,也就是表示普通字符串类型

4)纯元素类型--只包含子元素,并且这些子元素外没有文本,就是根元素;

5)混合类型--包含子元素和文本数据的混合体;

5,"+"//----表示出现1到多次:

>=1;

"*"//----表示出现0到多次:

>=0;

"?

"//----表示要么不出现,要么只出现一次;

6,定义属性:

语法:

ATTLIST元素名称属性名称类型属性特点>

类型有:

CDATA,ID[表示唯一],IDREF/IDREFS,NMTOKEN

属性特点:

#REQUIRED[必须的],#IMPLIED【可有可无】,#FIXED,defaultvalue

例子:

DOCTYPEpoem[

........

ATTLISTtitlenameCDATA#REQUIRED>//给title元素添加属性name,且必须的;

]>

...

属性类型--ID:

表明该属性的取值必须是唯一的;

ELEMENT公司职员ANY>

ATTLIST公司职员

编号ID#REQUIRED//ID表示唯一的

姓名CDATA#REQUIRED

>

<公司职员编号="Z001"姓名="张三"/>

<公司职员编号="Z002"姓名="李四"/>

第五讲:

1,属性类型--枚举

事先定义好一些值,属性的值必须在所列出的值的范围内。

ATTLISTperson

婚姻状态(single|married|divorced|widowed)#IMPLIED>

ATTLISTperson性别(男|女)#REQUIRED>

2,属性的特点--defaultvalue

为属性提供一个默认的值

语法:

ATTLIST元素名属性名类型"value">

DTD示例:

ATTLISThellopayment_typeCDATA"check">

XML示例:

3,定义外部实体:

语法:

ENTITY实体名SYSTEM"URI/URL">

DTD示例:

ENTITYwriterSYSTEM"

ENITTYcopyrightSYSTEM"

XML示例:

&writer;©right;

4,属性之间是没有固定顺序的,但是相同的属性名只能出现一次;

第六讲:

XML命名空间,schema详解;

1,分析xml文档,写DTD文档:

xmlversion="1.0"encoding="utf-8"?

>

<学生名册>

<学生学号="t1">

<姓名>张三

<性别>男

<年龄>20

<学生学号="t2">

<姓名>李四

<性别>男

<年龄>23

<学生学号="t3">

<姓名>王二

<性别>男

<年龄>13

上面xml文档对应的dtd文档:

xmlversion="1.0"encoding="utf-8"?

>

ELEMENT学生名册(学生+)>

ELEMENT学生(姓名,性别,年龄)>

ELEMENT姓名(#PCDATA)>

ELEMENT性别(#PCDATA)>

ELEMENT年龄(#PCDATA)>

ATTLIST学生学好ID#REQUIRED>

2,命名空间是为了解决元素命名冲突而提出来的;

xmlns:

xmlnamespace;

定义命名空间:

tablexmlns:

h="http:

//www.w3.org/TR/html4/">//表示定义一个命名空间h,h的值为"http:

//www.w3.org/TR/html4/"//----这个值即可以是真实的地址,也可以任意字符串,主要是为了起区分的作用;不会去联这个网址的;哈哈

tr>

td>Apples

td>

td>Bananas

td>

tr>

table>

tablexmlns:

f="http:

name>African

name>

width>80

width>

length>120

length>

table>

3,一个有效的XML文档必然是结构正规的,结构正规的XML文档不一定是有效的。

DTD包含一套用来描述并限制XML文档结构的语法规则。

元素的定义规则

元素之间的关系规则

属性的定义规则

可使用的实体或符号规则

4,命名空间用于避免命名冲突,在XML中,使用全球唯一的URL作为namespace;

5,XMLSchema是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式。

XMLSchema规定XML文档实例的结构和每个元素/属性的数据类型;

6,DTD的局限性:

1)DTD不遵守XML语法(写XML文档实例的时候用一种语法,写DTD的时候用另外一种语法)

2)DTD数据类型有限(与数据库数据类型不一致)

3)DTD不可扩展

4)不支持命名空间(防止命名冲突)

Schema的新特性:

1)Schema基于XML语法

2)Schema可以用能处理XML文档的工具处理

3)Schema大大扩充了数据类型,可以自定义数据类型

4)Schema支持元素的继承--Ojbect-Oriented

5)Schema支持属性组;

第七讲:

1,Schema(模式):

其作用与dtd一样,也是用于验证XML文档的有效性,只不过它提供了比dtd更强大的功能和更细粒度的数据类型,另外Schema还可以自定义数据类型;此外,Schema也是一个XML文件,而dtd则不是;

2,xsd:

xmlschemafile//----XMLSCHEMADEFINITION;

3,schema文件示例:

schema文件:

xmlversion="1.0"encoding="utf-8"?

>

schemaxmlns:

xs="http:

//www.w3.org/2001/XMLSchema"//-----定义一个命名空间,xs叫做命名空间前缀

elementFormDefault="qualified"attributeFormDefault="unqualified">

elementname="书本"type="书本名称"/>

complexTypename="书本类型">

sequence>

elementname="名称"type="xs:

string"/>

elementname="作者"type="xs:

string"/>

sequence>

complexType>

schema>

生成的schemaxml文件:

xmlversion="1.0"encoding="utf-8"?

>

<书本xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

noNamespaceSchemaLocation="C:

\DocumentsandSettings\zhanglong\桌面\schema_source\myschema.xsd">

<名称>书剑恩仇记

<作者>金庸

4,先建立schema文件,然后生成该schema对应的xml文件,对其进行验证;

5,所有的Schema文档使用schema作为其根元素;

6,

xmlversion="1.0"?

>

schemaxmlns:

xs="http:

//www.w3.org/2001/XMLSchema"

targetNamespace="http:

//mynamespace/myschema">

--放入实际的内容-->

schema>

说明:

所有schema文档使用schema作为其根元素

用于构造schema的元素和数据类型来自http:

//www.w3.org/2001/XMLSchema命名空间,这个地址千万不能改,否则schema就失效了;

自己写的schema定义的元素和数据类型为:

targetNamespace="http:

//mynamespace/myschema"命名空间,这个名字由自己定义,不固定;

7,schema的元素类型:

常用的:

1)schema

2)element

3)attribute

4)group

5)attributeGroup

6)simpleType

7)simpleContent

8)complexType

不常用的:

9)choice

10)list

11)union

12)unique

13)sequence

14)restriction

8,schema文件是由dtd文件来验证的,因为schema就是一个xml文件,dtd是本源;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1