已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第5讲XML文件的设计 2 教学内容 XML文档与其结构的匹配命名空间XML文档的有效性验证 3 XML文档与其结构的匹配 濒危动物 案例通过该例 介绍怎样通过已有的信息抽象出XML文档结构 并最终生成XML文档 4 XML文档与其结构的匹配 根据信息的描述 生成XML文档的具体步骤如下 第一步 确定各种元素 确定表3 1 表3 2 表3 3所对应的元素 第二步 根据各元素之间的关系生成结构树 图3 1对应表3 1的结构树 图3 2对应表3 2 表3 3的结构树 通过合并和添加根元素 可得图3 3 再通过分析 进一步修改图3 3 得到一个完整的 适当的结构树图3 4 5 XML文档与其结构的匹配 第三步 根据结构树生成XMLSchema根据图3 4的结构树 生成名为animal xsd的代码 第四步 XML文档的生成根据前一步的XMLSchema 生成XML文档animal xml 6 命名空间 命名空间的概念先来看一个例子 ChrisBatesSchoolofCMS两个名字相同的元素代表不同的对象 如何处理 7 命名空间 命名空间的概念什么是命名空间 是名称的集合 是把多个词汇混合为一个单一文档的标准工具 一般情况下 为了方便使用者集成词汇 所有的XML应用都应该为元素定义一个命名空间 命名空间是W3C推荐标准提供的一种统一命名XML文档中的元素和属性的机制 使用命名空间可以明确标识和组合XML文档中来自不同标记词汇表的元素和属性 避免了名称之间冲突而带来的问题 8 因为XML文档中使用的元素不是固定的 那么两个不同的XML文档使用同一个名字来描述不同类型的元素的情况就可能发生 而这种情况又往往会导致命名冲突 请看下面两个例子这个XML文档在table元素中携带了水果的信息 ApplesBananas这个XML文档在table元素中携带了桌子的信息 AfricanCoffeeTable80120 9 如果上面两个XML文档片断碰巧在一起使用的话 那么将会出现命名冲突的情况 因为这两个片断都包含了元素 而这两个table元素的定义与所包含的内容又各不相同 使用命名空间ApplesBananas下面的XML文档携带了家具table的信息 AfricanCoffeeTable80120在上面两个例子中除了使用前缀外 两个table元素都使用了xmlns属性 使元素和不同的命名空间关联到一起 10 不同的名称空间 XMLSchema名称空间 用于定义XMLSchema元素 可以定义成默认名称空间http www w3 org 2001 XMLSchemaXMLSchema数据类型名称空间 用于定义内置数据类型http www w3 org 2001 XMLSchema datatypesXMLSchema实例名称空间 用于XML实例文档的引用http www w3 org 2001 XMLSchema instance 11 如何声明命名空间 通常使用一个简短的代号来代替URI 这个简短的代号称为命名空间前缀 由编写XML文档的人员自由决定 前缀只能包含XML标准中规定允许用作元素和属性名的字符组成 这包括了英文字母和所有收录在Unicode中的汉字 命名空间声明的一般形式 也称显示声明 如下图 图3 5 所示 12 第 1 部分是一个关键字xmlns 第 2 部分是命名空间的前缀 第 3 部分是一个等号 第 4 部分是双引号 将第 5 部分的命名空间标识URI包括起来 需要注意一点 命名空间的前缀不能叫 xml 因为在XML中这个字符串是保留作特殊用途的 如xml space 13 还可以隐式声明命名空间 即省略掉冒号和命名空间前缀 如图3 6所示 命名空间 14 在XML文档中使用命名空间在XML中 命名空间的使用涉及到一个范畴的概念 范畴即命名空间的覆盖范围 它指的是哪些元素和属性在该命名空间里 哪些又不在 命名空间既可以是限定整个XML文档 参见例3 4 也可以只针对XML文档中的一部分 参见例3 5 如何使用命名空间 15 例3 4CalderMichael12345例3 5CalderMichael12345 如何使用命名空间 16 例3 4和例3 5使用的是隐式声明的方法 它的覆盖范围是从开始声明的元素开始到该元素结束中间的所有内容 任何希望元素与其子元素不在同一个命名空间中 就需要用显示声明的方式 如例3 6 例3 6CalderMichael12345 如何使用命名空间 声明了一个新的命名空间 用前缀newclub与之关联 newclub member number被定义在新的命名空间中 其余元素仍然使用原来的命名空间 17 在XMLSchema中使用命名空间Schema中的命名空间的用法与一般XML文件中的用法是相同的 Schema中的全局成分全局成分指的是元素xsd schema的直接子节点 参见例3 7 P68 如何使用命名空间 18 Schema中的非全局成分在例3 7中 只有全局成分才能与命名空间相关联 而非全局的成分并不在命名空间中 如例3 7的元素animal threats和weight 如果需要将非全局的Schema成分定义到目标空间中 可以使用如下的方法 如何使用命名空间 19 XML文档的有效性验证 格式良好的XML文档必须服从下面的规则 文档包含一个或多个元素它只有一个包含所有其它元素的元素其元素相互间的嵌套要正确用在开始和结束标识符中的元素名要精确匹配属性名不能在同一元素开始标识符中出现多次属性值必须括在单引号和双引号中属性值不能直接或者间接地引用外部实体属性值中引用的任何实体的替换文本中不能含有字符 但可含字符串 实体在使用前要进行声明任何实体引用不能含有不分析实体的名字逻辑和物理结构的嵌套要正确 20 以XMLwriter检查下面的XML文档Howtouseasharednetworkprinter InNetworkNeighborhood locateanddouble clickthecomputerwheretheprinteryouwanttouseislocatedToseewhichcomputershavesharedprintersattached clicktheViewmenu clickDetails intheHelpindex 21 第一个错误如下 第一行的末尾缺少 XML文档的验证 22 第二个错误如下 clickDetails lookfor中的 要进行转义 改为 amp lookfor XML文档的验证 23 第三个错误如下 引用了未定义实体 doubleclick 问题在于 修改此错误 XML文档的验证 24 第四个错误如下 标识符在关闭前未关闭 修改此错误 tosetuptheprinter followtheinstructionsonthescreen XML文档的验证 25 第五个错误如下 属性值应该用双引号括起来 修改此错误 XML文档的验证 26 第六个错误如下 标识符与不匹配 修改此错误 将改为 XML文档的验证 27 第七个错误如下 元素未关闭 修改此错误 添加 XML文档的验证 28 经过上述修改 最后得到格式良好的XML文档 XML文档的验证 29 验证XML文档结构正确性 XML是用一套预先规定的XML元素和属性创建的 这些元素和属性定义了文档的结构和内容模式 为了验证XML文档是否匹配其Schema文件 首先要将XML文档与Schema文件关联起来 已有的Schema文件见例3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气体分离设备装配调试工岗前岗中技能考核试卷含答案
- 广东省深圳市格睿特高级中学2025-2026学年物理高一第一学期期末经典模拟试题含解析
- 湖南省衡阳县江山学校2025-2026学年高一上物理期末监测试题含解析
- 江西省吉安市新干县第二中学2025-2026学年生物高二第一学期期末监测模拟试题含解析
- 移动端客户行为研究-洞察与解读
- 2025年体育职业技能鉴定考试题库及答案
- 2025年护理学搬运法题目及答案
- 离职风险预警系统-洞察与解读
- 2025年职业技能鉴定国家题库育婴师中级操作技能常考试题及答案
- 四川省凉山2025年化学高一第一学期期中统考模拟试题含解析
- 2025年宁夏交建投校园招聘和社会招聘230人考试笔试参考题库附答案解析
- 食材配送投标方案技术标
- 中医护理适宜技术工作计划
- 虚拟电厂负荷调控系统建设方案
- 临床医学导论期末测试习题与答案
- 商业伦理与企业责任课件
- 企业该如何正确如何选人
- 机器人输尿管重建手术治疗成人输尿管狭窄的现状
- 水景工程喷泉
- 我的家乡邢台内丘县宣传介绍
- DB15T+3176-2023北虫草栽培技术规程
评论
0/150
提交评论