xml学习笔记.docx
- 文档编号:26406062
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:13
- 大小:20.09KB
xml学习笔记.docx
《xml学习笔记.docx》由会员分享,可在线阅读,更多相关《xml学习笔记.docx(13页珍藏版)》请在冰豆网上搜索。
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"北京上地">
]>
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示例:
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是本源;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xml 学习 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)