ImageVerifierCode 换一换
格式:DOC , 页数:31 ,大小:375.50KB ,
资源ID:1391848      下载积分:15 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1391848.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(XML编程开发教程.doc)为本站会员(gs****r)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

XML编程开发教程.doc

1、1第一章 XML 与 DTDXML 的产生: XML 的全称是 Extensible Markup Language,意思是可扩展的标记语言,它是标准通用标记语言(Standard Generalized Markup Language,SGML)的一个子集。在 80 年代早期,IBM 提出在各文档之间共享一些相似的属性例如字体大小和版面。IBM 设计了一种文档系统,通过在文档中添加标记,来标识文档中的各种元素,IBM把这种标识语言称作通用标记语言(Generalized Markup Language) ,即 GML。经过若干年的发展,1984 年国际标准化组织(ISO )开始对此提案进行讨

2、论,并于 1986 年正式发布了为生成标准化文档而定义的标记语言标准(ISO 8879),称为新的语言SGML,即标准通用标记语言。SGML 功能非常强大,是可以定义标记语言的元语言。W3C 介绍:W3C 是万维网联盟(World Wide Web Consortium)英文的缩写,它成立于 1994 年 10 月,以开放论坛的方式来促进开发互通技术(包括规格、指南、软件和工具) ,开发网络的全部潜能。万维网联盟(W3C)从 1994 年成立以来,已发布了 90 多份 Web 技术规范,领导着Web 技术向前发展。W3C 认为自身不是官方组织,因此将它正式发布的规范称为推荐(建议)标准,意思是

3、进一步标准化的建议,但是由于该组织自身的权威性往往成为事实上的标准。一项技术要成为 W3C 的推荐标准,需要 7 个步骤:1W3C 收到提交(Receives a Submission) 2.W3C 发布注释 (Publishes a Note) 3.W3C 成立工作组(Creates a Working Group) 4.W3C 发布工作草案(Publishes a Working Draft) 5.W3C 发布候选推荐标准(Publishes a Candidate Recommendation) 6.W3C 发布提议的推荐标准(Publishes 2a Proposed Recommen

4、dation) 7.W3C 发布推荐标准(Publishes a Recommendation)关于 XML 的问题:XML 是 HTML 的扩展吗?HTML 的全称是 Hypertext Markup Language(超文本标记语言) ,而 XML 的全称是(Extensible Markup Language)可扩展的标记语言,这很容易让人联想到 XML 是通过增加新标记来扩展 HTML 的一种标记语言。实际上 HTML 和 XML 在标记语言中处于不同的层次。这是一个欢迎的例子 这是一个欢迎的例子你好!欢迎你!你好! 欢迎你! 提示:XML 在设计之初,就考虑到了国际化的问题,同 HT

5、ML4.01 一样,XML 也是基于 ISO/IEC 10646 字符集标准中定义的通用字符集(Universal Character Set.UCS)。SGML、HTML 和 XML 之间的关系:SGML、HTML 和 XML 之间是什么关系?SGML 是一种在 Web 发明前就早已存在的使用标记来描述文档资料的通用语言,它是一种定义标记语言的元语言。HTML 和 XML 都是从 SGML 发展而来的标记语言,因此,它们有一些共同点,如相似的语法和标记的使用。不过 HTML 是在 SGML 定义下的一个描述性的语言,只是 SGML 的一个应用,其 DTD 作为标准被固定下来,而 XML 是S

6、GML 的一个简化版本,是 SGML 的一个子集,严格意义上来说,XML 仍然是SGML。HTML 不能用来定义新的应用,而 XML 可以,例如 RDF 和 CDF 那是使用 XML定义的应用事实上。XML 和 SGML 是兼容的但又没有 SGML 那么复杂,它是设计用于有限带宽的网络,如 Internet. XML 规范的制定者之一 Tim Bray 说,XML 的设计出发点是取 SGML 的优点,去除复杂的部分,使其保持轻巧,可以在 Web 上工作。HTML、SGML 和 XML 将继续使用于适合的地方,它们中的任何一个都不会使其它一个废弃。对于像新闻、网络日记、论坛留言等大部分短期的数据

7、,HTML 仍是在 Web 上快速出版数据的最简单的方法。如果数据要长期使用,并且需要更多的一些结构,我们更推荐使用 XML。不同于 HTML 和 XML,SGML 可能永远不会在 Internet 上被广泛接受,因为它们不是为某个网络协议而设计,也从来没有为某个网络协议的需求而优化过。对于高端的、复杂结构的出版应用,SGML 将继续应用。XML 与 HTML 的比较:XML 将数据与显示分开静夜思 静夜思静夜思 李白作者:李白 床前明月光疑是地上霜床前明月先,疑是地上霜 举头望明月3举头望明月,低头思故乡 低头思故乡 XML 对文档的格式要求更加严格 ,由于 HTML 文档格式非常松散,导致

8、了 HTML 文档解析的复杂性,也造成了浏览器兼容的问题,所以 XML 从一开始,就对文档的格式制定了非常严格的标准,凡是符合这一标准的 XML 文档就是格式良好的 XML 文档(Well-Formed XML Documents) 。开始标签必须要有一个结束标签:在 HTML 文档中,可以直接使用, ,等标签,而不用加结束标签,在 XML 中,开始标签和结束标签必须配套,也就是必须写成.、., . 空元素标签必须被关闭 .在 HTML 文档中,可以使用, ,等单标签,而在 XML 中,空元素标签必须被关闭。空元素标签采用斜杠(/)来关闭,例如:,所有的标签都区分大小写在 HTML 文档中,标

9、签是不区分大小写的, 和是 tr 元素的开始标签和结束标签,但是在 XML 中,和 是两个不同的标签,开始标签和结束标签的大小写形式必须一致.所有的标签都必须合理嵌套。在 HTML 文档中,.是允许的,但是在 XML 中,这是错误的在 XML 中,所有的标签都要成对出现,合理嵌套,正确的形式是:. 所有标签的属性值必须用双引号(“)或单引号()括起来。在 HTML 文档中,属性值可以加引号,也可以不加,例如:和都是合法的。在 XML 文档中,即使是数等字符,也必须加双引号或单引号,例如:。XML 有且只能有一个根元素 ,在 HTML 中,可以有多个根元素,如下: . . 但是在 XML 中,有

10、且只能有一个根元素,如下:.XML 的编辑工具:Notepad(Windows 自带) 、UltraEdit、XMLSpyXML 的文档: 每一个 XML 文档都有一个逻辑和一个物理结构。物理上而言,文档由称为实体(entities)的存储单元组成,实体都具有内容并且都通过实体的名字进行标识文档实体和外部 DTD 子集除外) 。实体可以是一段文本、一个文件、一个数据库记录或其他包含数据的项目。一个实体可以引用其它的实体,从而将它们包含在文档中。文档开始于“根(root)“或文档实体(document entity).格式良好的 XML 文档形成了一种层次树结构,而这个树的树根就是文档实体,与其

11、它实体不同,文档实体没有名宇,只是用于表示文档树的根。XML 文档的根元素被称为文档元素(document element),它和在其外部出现的处理指令、注释等作为文档实体的子节点,而根元素本身和其内部的子元素也是一棵树. 实体可以包含已分析(parsed)的或未分析的(unparsed)数据.已分析的数据由字符组成,其中一些字符组成字符数据,另一些字符组成标记。已分析的实体(parsed entity)内容被称为它的替换文本,这个文本被看成是文档整体的一部分在 XML 处理器分析 XML文档时,凡是文档中出现引用已分析实体的地方,都将被该实体的内容所替换.未分析的实体(unparsed en

12、tity) 是一种资源,它的内容可以是也可以不是文本,并且,如果是文本的话,可以不是 XML 文本。每一个未分析的实体有一个相关联的用名字标识的记号(notation)。除了要求 XML 处理器能向应用程序提供可用的实体和记号的标识符之外,XML 对未分析的实体内容不作任何限限制。已分析的实体以实体引用的方式通过名字来调用:未分析的实体通过 ENTITY 或 ENTITIES 属性中给出的名字来调用逻辑上而言,文档由声明,元素,注释,字符引用和处理指令组成,在文档中,所有这些都是通过显式的标记(markup)来指明的.XML 标记(markup)包括开始标签(tag)、结束标签、空元素标签、实

13、体引用、字符4引用、注释、CDATA 段定界符、文档类型声明,处理指令、 XML 声明、文本声明以及任何在文档实体顶层的空白(即,在文档元素之外,且不在任何其它的标记内部) 。其它所有非标记的文本组成文档的字符数据。XML 文档在逻辑上主要由以下五个部分组成。-XML声明 -文档类型声明-元素 -注释 -处理指令。XML 声明:XML 文档总是以一个 XML 声明开始,其中指明所用的 XML 版本、文档的编码、文档的独立性信息。其格式如下一对中括号()中的部分表示是可选信息。版本声明 文档编码声明 在 XML 声明中还可以加上交档编码信息,默认是 UTF-8,如果要使用中文,我们可以在声明中加

14、上 encoding=“gb2312“,如下所示:独立文档声明 如果我们的文档不依赖于外部文档在 XML 声明中,我们可以通过standalone=“yes“来声明这个文档是独立的文档,如要文档依赖于外部文档,可以通过standalone=“no“来声明。完整的 XML 声明如下所示: XML 声明必须位于文档的第一行,前面不能有任何字符。文档类型声明 DTD( Document Type Definition)文档类型定义XML 从 SGML 继承了用于定义语法规则的 DTD 机制,但 DTD 本身井不要求遵循 XML规则,几乎所用的 XML 应用都是使用 DTD 来定义的。HTML 就有一

15、个标准的 DTD 文件,所以其组织结构和所有的标签都是固定的DTD 文件也是一个文本文件,通常用 “dtd“作为其扩展名通过文档类型声明,指出 XML 文档所用的 DTD.文档类型声明有两种形式一种是声明 DTD 在一个外部的文件中,如下: 一种是直接在 XML 文档中给出 DTD,如下: 元素:在 XML 中,元素由开始标签、元素内容和结束标签构成,对于空元素,由空元素标签构成。每一个元素有一个用名字标识的类型,同时它可以有一个属性说明集,每一个属性说明有一个名字和一个值。在给元素命名的时候要注意,以“xml“或其他任何匹配(X|x)(M|m) (L|l)的字符串开头的名字,被保留用于 XM

16、L 规范的当前版本或后续版本的标准化。此外,在给元素命名时,还要遵守下列规范:1、名称只能以字母、下划线()或者冒号(:)开头;2、名称中可以包含字母、数字、下划线以及其它在 XML 标准中允许的字符;3、名称中不能包含空格;4、名称中尽可能不要使用冒号(:),因为冒号在名称空间中被用于分隔名称空间前缀和本地部分,空元素 带有属性的空元素 带有内容的元素 这是一个学生的信息 张三18带有内容和属性的元素 18 提示:“元素”和“标签”这两个词具有不同的含义。元素是指开始标签、结束标签以及两者之间的一切内容,包括属性、文本、注释以及子元素。标签是一对尖括号5()和两者之间的内容,包括元素名和所有

17、属性。例如:是一个标签,也是一个标签:而Hello World则是一个元素。元素的内容可以包含子元素、字符数据、字符引用和实体引用、CDATA 段。子元素本身也是元素,被嵌套在上层元素之内。子元素是相对于父元素而言的,如果子元素还嵌套了其它元素,那么它同时也是父元素。 张三18 .在一个元素的内容中,字符数据可以是不包括任何标记的起始定界符和 CDATA 段的结束定界符的任意字符串,也就是说在元素的内容中,字符数据不能有和号()结束.如果用的是宇符引用,需要在和号(!*#$_% 公共 DTD 名称要遵守一些约定。如果一项DTD 是 ISO 标准,它的名称要以字符串“ISO“开始。如果是一个非

18、ISO 的标准组织批准的DTD,它的名称以加号(+)开始。如果不是标准组织批准的 DTD.它的名称以连宇符(-)开始.这些开始字符或字符串后接双斜杠(/)和 DTD 所有者的名字,之后是另一个双斜杠和 DTD描述的文档类型,接着又是一个双斜杠后接 ISO 639 语言标识符,如 EN 表示英语,ZH 表示中文.在 http:/www.ics.uci.edu/pub/ietf/http/related/iso639.txt 处列有完整的 ISO639 标识符。例如我们定义的人力资源 DTD 可以采用下面的命名: -/xin sun/DTD HR 1.0/ZH连字符(-) 表示这个 DTD 不是由

19、任何标准组织批准的,为 xin sun 所有,描述的是人力资源管理,用中文编写。完整的文档类型声明如下:9HTML 网页的文档类型声明,如下 :W3C 公布的在 Web 文档中使用的有效的文档类型声明列表可以在http:/www.w3.org/QA/2002/04/valid-dtd-list.html 上找到.注意:文档类型声明与文档类型定义不是一个概念,DTD 是文档类型定义(Document Type Definition)的英文缩写。是文档类型声明,这种语法是文档类型定义。文档类型声明可以包含(内部 DTD 子集)或引用(外部 DTD 子集)一个文档类型定义,但文档类型定义从不包含文档

20、类型声明.在前面我们提到,如果我们的文档不依赖于外部文档,在 XML 声明中,可以通过standalone=“yes“来声明这个文档是独立的文档。如果文档依赖于外部文档,可以通过standalone=“no“来声明。当我们使用外部 DTD 文件时,就需要将属性 standalone 的值设置为“no“。在实际应用中,很少使用 standalone 属性,它的主要用途是作为 XML 处理器和其它应用程序的标志,表示是否需要获取外部内容。如果文档依赖于外部文档,即使我们不使用 standalone 属性,XML 处理器也能够很好地进行处理。DTD 的结构: DTD 的结构一般由元素类型声明、属性表

21、声明、实体声明、记号(notation)声明等构成。一个典型的文档类型定义文件会把将来所要创建的 XML 文档的元素结构、属性类型、实体引用等预先进行定义。元素类型声明不但说明了每个文档中可能存在的元素,给出了元素的名称,而且给出了元素的具体类型。一个 XML 元素可以为空,也可以只包含字符数据,还可以有若干个子元素,而这些子元素同时又可以有它们的子元素。元素类型声明采用如下的语法格式:元素内容说明可以指明五种可能的元素内容形式:#PCDATA 、子元素、混合内容、EMPTY 和 ANY.关键字#PCDATA 说明元素包含字符数据。例子: 人力资源标准当一个元素只包含子元素,而没有字符数据时,

22、则称此元素类型具有元素型内容(elementcontent) 。在该类型的元素声明时,通过内容模型来指定在其内容上的约束。内容模型是决定子元素类型和子元素出现顺序的一种简单语法。利用括号、逗号、竖线、星号、加号、问号的组合,可以说明很复杂的内容模型。我们看下面的例子: 这说明简历中要有名字,接下来是性别和年龄,电话和手机任选一个,可以填一个家庭住址或者不填,然后是零个或多个兴趣爱好,至少要有一个教育经历,最后是零个或多个工作经验。内容模型的规则虽然简单,但是可以产生灵活多样的结构。说明元素既可以包含字符数据,也可以包含子元素。混合内容必须被定义零个或多个。10例子: 员工信息 张三在使用混合内

23、容模型时,#PCDATA 关键字必须是模型中的第一个选项,不能在模型中使用逗号、问号和加号。用竖线分隔的#PCDATA 和元素的列表是合法的,其它用法都是不合法的。关键字 EMPTY 表明该元素既不包含字符数据,也不包含子元素,是一个空元素。如果在文档中元素本身已经表示了明确的含义,就可以在 DTD 中用关键字 EMPTY 来声明空元素。例如: 表明 br 是一个没有内容的空元素。关键宇ANY 表明该元素可以包含任何的字符数据和子元素,只要它们不违反 XML 格式良好的约束就可以了。例如: 表明 employee 可以包含任何形式的内容。在实际使用时,应该尽量避免使用 ANY,一个定义明确的

24、DTD,有助于我们理清文档的结构,更好地理解文档。实体声明:有两种类型的实体:一般实体(general entity)和参数实体(parameter entity ) 。一般实体是在文档内容中使用的实体,而参数实体则是在 DTD 中使用的已分析实体。不管是一般实体,还是参数实体都是用 ENTITY 关键字来声明。一般实体的声明语法如下:引用实体的方式为: “.参数实体只能在 DTD 中使用,它的声明语法如下 : 注意在声明时,ENTITY、 %和实体名之间各有一个空格。引用实体的方式为:“%实体名;“。在内部 DTD 子集中,参数实体引用不能在标记声明内部出现,可以在标记声明允许出现的地方出现

25、。对于外部 DTD 子集,则没有这个限制。在 DTD 中,所有的参数实体必须在引用之前进行声明。这意味着内部 DTD 子集不能引用在外部 DTD 中声明的参敌实体,这是因为 XML 处理器将首先读取内部子集,也就是说,内部子集中的实体和属性表声明的优先级要比在外部子集中的高。内部实体在 XML 文档内部定义,实体的内容在声明中给出。内部实体都是已分析的实体,它们没有单独的物理存储对象。外部实体在单独的(外部)文件中定义,外部实体可以是已分析实体,也可以是未分析实体。外部一般实体的声明形式如下:关键字 SYSTEM 表明这是一个私有的外部一般实体,后口的 URI 称为该实体的系统标识符,用于给出

26、外部文件的位置。copyright.xml 文件的内容为:2004,程序员之家,ALL Rights Reserved称为文本声明。文本声明类似于 XML 声明,不过文本声明没有 standalone 属性,并且 version 属性也是可选的。外部已分析实体可以使用不同于 UTF-8 的编码,使用文本声明来指明实体内容的编码方式。每个外部已分析实体都应该以文本声明开始,文本声明只能在外部已分析实体的开头出现,不能出现在其它任何位置。在外部已分析实体中的文本声明不会作为替换文本的一部分而出现。也可以使用PUBLIC 关键字来声明公共的外部一般实体,其声明形式和使用了关键字 PUBLIC 的外部DTD 声明类似。如下:-/Textuality/TEXT Standard open-hatch boilerplate/EN“称为该实体的公共标识符,后面的URI 部分为该实体的系统标识符。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。