- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 XML文档基本语法
本章要点:
文档类型定义(DTD)
文档类型声明
DTD的合法性
可在文档间共享的通用DTD
使用名称空间(Namespace)
预习问题备忘录:
本章简介
XML作为一种元标记语言,是一种描述标记语言的语言。元标记语言(也叫标记集)需要通过文档类型定义(DTD)来定义,这正是本章要讲述的内容。XML文档与其DTD相比较的过程被称为合法性检验。如果文档符合DTD中的约束,这个文档就被认为是合法的,否则就是不合法的。
2.2 文档类型定义
在上一章中,我们详细介绍了一个“形式良好的”(well-formed)XML文档应该满足哪些要求。“形式良好”是对XML文档的基本要求,它使得XML文档结构清晰、完整,便于应用程序对其进行解析。除此之外,“形式良好的”XML文档还应基于信息描述,并能够体现数据信息之间逻辑关系,而且还可以确保文档的易读和易搜索性。这就需要XML文档遵循所谓“形式良好”要求的种种语法规则,即必须遵守文档类型定义DTD(Document Type Definition)中定义的种种规定。
DTD实际上是“元标记”这个概念的产物,它描述了一个标记语言的语法和词汇表,也就是定义了文档的整体结构以及文档的语法。简而言之,DTD规定了一个语法分析器,用于解释一个“有效的”XML文档所需要知道的所有规则的细节-—元素清单、属性、标记、文档中的实体及其相互关系。
2.2.1一个DTD文档
在这一节中,我们先展示给大家一个完整的文档定义实例,请大家直观感受一下DTD定义的文法并思考其中的奥妙。下面的示例XML文档“内部DTD.xml”包含了内部的DTD定义:
示例代码2-1:内部DTD ?xml version=1.0 encoding=GB2312 standalone=yes?
!--DTD定义--
!DOCTYPE 公司[
!-- 元素定义 --
!ELEMENT 公司 (雇员)+
!ELEMENT 雇员 (姓名,雇佣日期,项目清单)
!ELEMENT 姓名 (#PCDATA)
!ELEMENT 雇佣日期 (#PCDATA)
!ELEMENT 项目清单 (项目)*
!ELEMENT 项目 (产品,价格)
!ELEMENT 产品 (#PCDATA)
!ELEMENT 价格 (#PCDATA)
!--属性定义--
!ATTLIST 项目清单 数量 CDATA #REQUIRED
!ATTLIST 雇员
部门 CDATA #REQUIRED
全职 CDATA #IMPLIED
]
!—内容定义--
公司
雇员 部门=市场部 全职=是
姓名李东/姓名
雇佣日期2005-01-15/雇佣日期
项目清单 数量=2
项目
产品打印机/产品
价格$111.00/价格
/项目
项目
产品笔记本/产品
价格$9897.00/价格
/项目
/项目清单
/雇员
雇员 部门=客服部
姓名王权/姓名
雇佣日期2005-10-02/雇佣日期
项目清单 数量=1
项目
产品扫描仪/产品
价格$200.00/价格
/项目
/项目清单
/雇员
/公司 此文档“内部DTD.xml”包含了两个主要部分:一是开始部分的内部DTD定义,二是后半部分的XML内容定义。
DTD定义部分含义如下:
公司可以由一个或者多个雇员组成,用“+”号表示。
雇员有两个属性:部门(必须有,REQUIRED)、全职(可忽略,IMPLIED)。
雇员包含了三个子元素:姓名,雇佣日期、项目清单,前两个类型为#PCDATA,即它可以包含任何字符数据。
特别指出的是项目清单元素,它既包含了子元素:项目,可以是零到多个(“*”号表示),还包含了一个必须的属性:数量。
项目子元素包含了两个子元素:产品、价格。
XML内容定义部分是完全按照文档中的内部DTD的种种规定编辑的整体结构和标记语法。
提示:还可以把DTD定义部分单独
您可能关注的文档
- 《机械CADCAMa》教学大纲.doc
- 《计算机图形学》教学参考书目.doc
- 《离散数学课程实验》大纲.doc
- 《模流分析基础入门》1.doc
- 《软件工程》复习题1和答案.doc
- 《软件工程练习题及参考答案》.doc
- 《商务网站模拟与实现》模板(适用09级信管&电商).doc
- 《数据结构01》复习题_答案.doc
- 《数据结构02》复习题及答案.doc
- 《数据结构》(开放本科)课程教学一体化设计方案.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
文档评论(0)