xml复习文档Word格式.docx
- 文档编号:16207904
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:14
- 大小:963.43KB
xml复习文档Word格式.docx
《xml复习文档Word格式.docx》由会员分享,可在线阅读,更多相关《xml复习文档Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
有效的XML文档由五个部分构成
•XML声明(prolog)
•文档类型声明
•元素
•注释
•处理指令
名称空间:
标识不同来源的数据源
解决同一XML文档内部或不同XML文档出现相同标记问题。
例:
只有一个根元素
XML的注释
以<!
--注释内容-->形式标记。
注意:
注释不能出现在声明前,不允许出现在标记内,不能出现连续的连字符(如---),也不能嵌套与交叉使用。
《《《《实验》》》
DTD声明格式:
认识DTD的基本格式
<!
DOCTYPEroot_node[<!
--DTD定义的内容-->]>
DTD的元素声明《--最有用的是子元素模式--》
它是声明XML元素的语法,包括元素标记、内含子元素和元素内容数据,同时也是声明XML文档的元素架构。
1、元素类型的声明(ETD-elementtypedefinition)
ETD基本格式为:
<!
ELEMENT元素名 元素内容模式)>
元素名不得取XML保留字。
元素内容模式是指元素构成的方式与结构形态,一共有四种:
空模式、任意模式、混合模式和子元素模式。
空模式(关键字EMPTY)
指标记间没有任何数据,用关键字EMPTY来声明,例如:
ELEMENTimage(EMPTY)>
在相应的XML文档中对应为:
<image/>
空元素的作用是通过存放属性提供的额外信息,它不影响XML数据的正确性。
(#PCDATA|子元素1+|子元素2*..|子元素n?
)*
回答:
不正确,因为子元素不能加次数约束条件。
<!
ELEMENT应聘者(姓名,(本科|硕士|博士),(奖励|处分)*,(男|女))> 正确否?
正确。
属于子元素定义集模式,
!
ELEMENTmessage(header,body,signature,footer)>
//message元素包含四个子元素,依次是header、body、signature和footer元素。
元素间的选择可以进行如下声明:
ELEMENTelem(subelem1|subelem2|subelem3)>
//将子元素用竖线进行分隔,表明elem元素的子元素为subelem1、subelem2和subelem3三者之一,但不能同时包含其中的两个或三个子元素。
混合类型
若某元素既包含子元素又包含已编译的字符数据,则该元素具有混合内容。
其声明如下:
ELEMENTmusic(#PCDATA|子元素|子元素)*>
为避免产生错误,混合内容元素的声明必须遵循这一格式。
即采用单一的一组可选项,以#PCDATA开始,后面是混合内容中可能出现的子元素类型,每种只需声明一次。
除此之外,“*”必须放在右括号之后。
子元素之间的“|”符号与后面的“*”符号一起表示这些子元素出现的次数与顺序都不受限制。
混合模式中只能出现上述情况下的*。
其他的符号可以出现在子模式情况下
子元素模式(没有关键字)
能够实现对子元素数量、顺序和层次关系的有效约束,是DTD中最常用的方法。
子元素模式由括号、逗号、次数限制符来综合定义。
例如:
<
xmlversion="
1.0"
encoding="
GB2312"
ELEMENT书籍列表(计算机书籍)*>
ELEMENT计算机书籍(书名,作者+,价格,简要介绍?
)>
ELEMENT书名(#PCDATA)>
ELEMENT作者(#PCDATA)>
ELEMENT价格(#PCDATA)>
ELEMENT简要介绍(#PCDATA)>
此DTD严格限制了书名、作者、价格与简要介绍的顺序,作者允许多个,简要介绍可有一次或没有,其它元素必须且只能出现一次。
下面是组合子元素的示例:
DTD属性不能单独存在,必须依附于元素。
声明格式如下:
ATTLIST元素名 属性名属性类型 属性默认值>
其中,属性类型共有十种,默认值有三种。
ATTLIST姓名 性别(男|女)#REQUIRED>这种类型属于属性列表
姓名性别=“男”>
第四章schema看书和自己实验,把实验抄下来
Schema分为简单类型和复杂类型
只有元素才可能是复杂类型,属性只能是简单类型
第5章:
用css仅能控制游览器显示xml元素的文本内容,无法控制属性的显示样式
1.外部引用式通过引用外部独立CSS文档来实现,格式如下:
xml-stylesheethref=“样式表的URI”type=“text/css”?
>
URI如果是一个文件,则必须与XML在同一目录中。
如果是一个链接,该链接必须有效且可访问。
文件方式:
xml-stylesheethref=“show.css”type=“text/css”>
链接方式:
xml-stylesheethref=
type=“text/css”?
内嵌式
xml-stylesheettype=“text/css”?
XML根元素xmlns:
HTML=“URL”>
HTML:
STYLE>
--CSS内容-->
/HTML:
--XML子元素-->
内联式该模式只对转换到HTML格式后的单个的标签有效,不影响整个文件
XSL的基本组成与特点(实际上是一种转换)
XSL实际上由三种语言、二大功能构成,三种语言是:
XSLT(eXtensibleStylesheetLanguageTransformation)、XPath、XSL-FO,二大功能分别是转换与格式化。
XSL是专属XML的样式语言。
XSL的工作原理:
将XML文档作为一个存储数据的树看待,称为源树;
通过定义转换模板,将源树中的数据提取出来,组成一个新树,称为结果树。
值得注意:
XSL在转换时并不是将被转换XML的根元素作为结果树的根元素,而是整个XML文档。
为什么呢?
因为通常在一个XML文档中,在根元素之前还有处理指令(如XML文档的第一行)、版权声明和一些注释。
XSL不能遗漏这些元素。
结果树可以是带表现样式信息的可浏览文档,可以是HTML格式、FO格式或者其它面向表示方式描述的XML格式(SVG、SMIL、VRML等)。
结果树与源树独立存在,对结果树的操作不影响源树,实现数据与表示的分离。
对于FO,它是用于XSLT完成了文档转换之后,对结果树进行解释,格式化转换得到的文档。
XSL-FO当前的一个最主要应用就是将XML文档转换成PDF文档。
XSL采用的是一种转换的思想,是专门针对XML设计的。
Xsl是将一种不含显示信息的xml文档转换为另一种可以用某种游览器游览的文档,转换后的输出码或者存为一个新的文档,或者暂存于内存中,但不会修改源代码
Xsl样式表结构也是一个树
Xsl基本格式:
Ppt
一个XSL文档主要由一系列模板规则组成,一个模板规则由模式(pattern)与模板(template)组成,模式限定了需要从XML源树中哪些部位提取数据,又称匹配节点。
模板则规定了提取出的数据该如何处理。
具体而言,一个模板规则其实就是一个xs:
template元素。
XSL处理器扫描XML文档时依次遍历每一棵子树,寻找与模式相匹配的子树(用template元素中的match属性指明匹配的节点),如找到了,就将template元素内容中所包含模板规则作用于此子树。
Xpath:
可扩展路径>
用于对文档中的元素、属性、文本和注释进行寻址,总是通过表达式形式出现。
Xpath的任务:
描述xml文档中节点相对位置,挑选符合条件的节点
与xslt密切配合完成xml的转换任务
与xpointer配合实现节点定位功能
Xpath是怎样定位的:
(定位路径用于指定如何在XPath树结构中实现从一个节点到另一个节点地浏览(导航))
定位路径是一个表达式,由定位步骤组成,每一个步骤又由一个“轴”、一个“节点测试”和一个可选的“谓词”组成。
由“轴”到“节点测试”再到“谓词”,是一个定位逐步精确的过程。
XPath中“步”的概念可以与文件管理中目录结构相比对
轴(axis):
概念
轴定义了在XML文档中基于上下文节点的搜索范围。
XML文档在解析时当作节点树来处理,而轴总是以某个指定节点为起点,进而寻找节点树中的其它某些节点。
轴是XPath的表达式的前缀,表达式的书写方式就是以轴名开始,后跟两个冒号,即“:
:
”,再跟表示节点的XPath表达式的其它内容。
例如:
child:
:
*表示当前节点的所有子轴上的元素;
child:
a就表示当前节点子轴上所有的a元素;
A/child:
*表示A节点的所有子轴上的元素节点。
⏹轴的分类
按照导航路径,轴被分成13类。
下面是各个轴的简介:
轴名称(大概了解一下名称的意义)
1
前驱轴:
precedingaxis
2
前驱兄弟轴:
preceding-sibliing
3
后继轴:
followingaxis
4
后继兄弟轴:
following-siblingaxis
5
子轴:
childaxis
6
父轴:
parentaxis
7
属性轴:
attributeaxis
8
后代轴:
descedantaxis
9
祖先轴:
ancestoraxis
10
本身轴:
selfaxis
11
后代或本身轴:
descendant-or-selfaxis
12
祖先或本身轴:
ancestor-or-selfaxis
13
名称空间轴:
namespaceaxis
谓词:
根据轴和节点测试得到初步节点后,用谓词可做进一步的过滤。
谓词形式为在方括号”[]”中加入谓词表达式。
/books/book/translation[.=‘Japanese’]/../title
选择所有具有Japanese译本的图书的title元素节点。
而/books/book/translation[.=‘Japanese’]/@edition代表所有具有Japanese译本的图书的edition属性节点。
XPointer是在XPath基础上发展起来的一种用于URL的XML文档内部资源定位方法(文档中不同位置间的链接)。
2001年开始征集1.0标准草案,目前已经发展成为三个组成部分的建议:
框架、元素、名称空间。
下point的作用是什么:
XPointer使超链接可以指向XML文档内具体片段。
HTML超链接只能链接单一、完整的文档。
XPointer使用XPath表达式在XML文档中进行寻址或定位,主要有:
绝对位置、相对位置、属性位置和字符串位置
HTML的超链接功能是Web取得成功的重要因素。
它用<
A>
标记来定义,下面是一个简单的示例片段:
body>
ahref=>
这是一个新浪新闻网站的链接示例<
/a>
/body>
该超链接示例在浏览器中呈现“这是一个新浪新闻网站的链接示例”的超链接提示字符串,单击该字符串则会转到。
HTML超链接功能的不足:
•一个链接只能链接一个网址,且单方向
•链接访问时直接转移到目标,访问痕迹消失
•难于链接到文档内的某个部分
•XLink(可扩展链接语言)是依照HTML的超链接功能设计的链接XML文档甚至其内部特定位置的方法。
•DOM概况(实质是一个访问接口
W3C定义:
TheDocumentObjectModelisaplatform-andlanguage-neutralinterfacethatwillallowprogramsandscriptstodynamicallyaccessandupdatethecontent,structureandstyleofdocuments.
Q:
dom是什么样的模型,作用,地位
DOM文档对象模型,是一套将文档进行对象化、模型化处理,并提供访问、导航、加工功能的API,借助DOM接口可以操作HTML、XML等文档。
DOM的前身是DHTMLDOM,也称0级DOM,也就是动态HTMLDOM,核心是规范了HTML标记的匹配使用,但并不统一,后来由W3C负责为HTML制定XHTML,后为XML所采用,由各浏览器开发商支持。
DOMLevel1,即1级DOM标准于1998年发布,定义了核心DOM接口以及专用的HTML接口和XML接口,可分为DOMCore、DOMHTML和DOMXML三部分。
DOMLevel2,即2级DOM新增了文档事件以及CSS样式表等功能。
DOMLevel3,即3级DOM于2004年4月发布,2008年1月,负责该标准制定的工作组已经结束。
目前各浏览器并不完全支持W3C的两个级别DOM,例如IE6就不支持2级,IE7也仅是部分支持2级。
值得指出,W3C对于能够通过DOM访问的HTML文档有特别的要求,并不包括早期那些对标记非常随意的HTML,而是符合XHTML(可扩展超文本标记语言)的HTML文档,其特点就是用DTD对HTML的结构作出了必要的规范,以作为HTML向XML的过渡。
•DOM的作用
DOM的地位与作用类似于数据库的ADO/ODBC。
是W3C为HTML以及XML应用程序提供的一套统一的、标准的、与平台和实现语言无关的访问接口API。
便于应用程序动态地分析、存取和更新HTML或XML文档中的数据。
XML应用DOM接口XML分析器XML文档
•DOM的结构
DOM经XML分析程序对XML文档分析后生成一个节点对象树。
随后可
访问、修改、添加、删除、创建树中的节点及其内容。
这个对象树不是数据结构而是对象,包含方法和属性,要实现操作文档的接口,实现接口的行为和属性,实现接口之间的关系和互操作。
DOM树存在于内存中,占用规模直接与文档大小相关。
示例见教材P157-158。
•DOM的基本接口
在DOM标准中有四个基本接口:
Document、Node、Nodelist、NamedNodeMap。
见教材P159图8-3。
Document是整棵对象树的根,提供了访问和操作其它节点的入口。
Node节点代表树中的一个节点,提供了访问DOM树中元素内容与信息的途径,并支持对树元素的遍历。
图8-4.
Nodelist接口提供对节点集合的抽象定义,用于表示有顺序关系的一组节点,如某个节点的子节点序列。
NamedNodeMap表示一组节点和其唯一名字的对应关系
•.了解SAX的结构与作用
•2.掌握SAX的基本对象与用法
•3.了解SAX应用开发
•
•SAX的解析过程(没标记
解析开始之前首先向XMLReader接口注册一个ContentHandler接口,此接口担当事件监听角色,它有许多重要的方法,如startDocument()在开始解析时即触发此事件,又比如startElement()在遇到每一个元素的开始标记时触发。
XMLReader读到合适内容时就抛出相应的事件,并将事件处理权代理给ContentHandler。
事件的处理要由程序员决定。
数据岛(dataisland)的概念(是为了解决显示问题)
问题的起源:
HTML较好地处理了数据显示的问题,呈现方式丰富多彩,但内容混杂其中。
XML数据结构清晰、内容与显示无关,需要另外设计CSS或通过XSL转换成HTML才能实现显示。
他的任务是什么
解决方案:
设计一种浏览器插件程序,它能够将嵌入HTML文档中的XML数据提取出来,充分利用HTML的显示技术显示这些XML数据,实现XML与HTML文档数据的同屏显示。
支持环境:
IE5以上的浏览器直接支持数据岛(配备上述插件程序),其它浏览器不一定支持,如FireFox。
数据岛的优点:
在显示XML数据上比CSS和XSL简单,能够发挥HTML丰富的数据表现手段。
修改数据岛中的数据时,页面上与之绑定的HTML元素的值也随之改变。
DSO(DataSourceObjects)是为了能够处理嵌入HTML文档中的XML数据而引入的一项技术。
首先在IE4中以ActiveX方式引入,后来直接内嵌在IE5中。
其思路类似于访问数据库的ADO接口,通过DSO来访问嵌入到HTML中的XML数据。
IE5之后可以将嵌入的XML数据当作一种特殊的ADO记录集来看待。
在HTML页面使用数据岛时,无论是直接嵌入方式还是外挂引入方式,都默认创建一个DSO对象,此对象名称就是定义数据岛时用的ID。
可以看成一个DOM的根节点,通过DOM树实现对数据岛的添加、删除和修改操作,其执行效果显示在当前HTML页面上。
DSO除了拥有本身的三个主要方法:
Tagname、Text、Url之处还有许多ADO记录集常用的方法和属性,便于访问和操作。
其作用如下表:
XML应用的基本特点
⏹作为数据存储与表示的新方法
⏹作为数据交换中介的新标准
⏹作为新型应用的新基础
目前XML应用的具体范围
⏹在互联网及电子商务中的应用
⏹在语音技术领域中的应用
⏹在SMIL语言中的应用
⏹在SVG语言中的应用
⏹在语义网中的应用
⏹在其它领域中的应用
互联网领域社交网络有三层含义:
服务、软件和网站。
社交网络带来的四个改变:
交往方式、交往范围、交往内容、交往影响
社交网络的四个基本特点:
便捷性、蔓延性、平等性和自组织性
社交网络组成的七大要素:
身份、关系、状态、分享、会话、群组和声誉
社交网络当前的四大类型:
校园社交网络、娱乐社交网络、交流社交网络和垂直社交网络
社交网络研究的三要素
三要素就是:
结构、群体与信息。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xml 复习 文档