电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

山东大学《网站设计与建设》课件第14章 XML简介

47页
  • 卖家[上传人]:东***
  • 文档编号:280913191
  • 上传时间:2022-04-22
  • 文档格式:PPT
  • 文档大小:181.50KB
  • / 47 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第第14章章 XML简介简介第三部分 网站设计技术141 XML语法与文档结构nXML是一种元标记语言n它与HTML等标记语言的区别:XML提供了创建标记语言的准则。作为元标记语言,XML不包含标记。使用XML设计一种标记语言时,必须要定义一个标记集合,标记集合中每个标记内容的意义要明确规定。严格来说,使用XML设计出来的标记语言称为XML应用程序。但是,对于一个用来处理存储在文档中信息的程序来说,如果这个文档也是用XML写的,那么通常也被称为一个XML应用程序。为了避免这种混淆,把一种基于XML的标记语言成为一个标记集合,而把使用XML的标记语言编写的文档称为XML文档。1.实例实例nfirst.xml。 Honda 2008 red 2XML声明nXML文档以声明开始,在上面例子中,文档的声明部分就是文档的第一行。 n一个XML文档可以包含三种不同类型的属性:版本、编码和独立。编码属性(encoding)指定XML文档使用的语言,一般在编码属性中指定XML文档所使用语言的字符集。独立属性(standalone)指定是否需要文档类型定义(DTD),关于DTD的概念将会在后面介绍。3X

      2、ML的标记与属性n与HTML类似,也将标记及它们包含的信息叫做元素。与HMTL不同的是,XML中所有的元素必须有开始标记和结束标记,否则格式就将出错。nXML是一种元标记语言,因此XML本身并不定义任何的元素。标记及属性是由用户自己定义的,通常用来描述文档中的数据。在上例中,、等标记都是用户自定义的。与HTML一样,标记的属性值必须是有引号的。n需要注意的是,XML中的标记中“”前是允许有空格的。nXML中的注释语句与HTML的完全相同。4XML的格式要求XML对大小写敏感XML标记必须有结束标记在XML中,通常单标记是不允许出现的。在上面的例子中可以看到一个特殊的标记,这个标记是没有结束标记的。在XML中,这样的标记叫做空标记。与HTML中单标记不同,XML中的空标记必须在”前加”/”表示标记结束。XML文档必须有根标记n在HTML中,一个HTML文档会用和标记文档的开始和结束。在XML中同样要求用一对跟标记来标志文档的开始与结束。需要注意的是,XML声明部分并不是根标记的组成部分。在上面例子中,根标记是和。从该例子中可以看到,根标记必须出现在XML声明部分后,其他所有标记必须嵌套在

      3、根标记中。XML标记必须正确嵌套n嵌套的例子n嵌套的例子就会出现错误。5XML的特殊字符n在XML中有5种字符属于特殊字符通过实体引用n左尖括号“” >n与符号“&” &n单引号“” &aposn双引号“” "2008年将在中国上市<新款Focus三厢>2008年将在中国上市n有一些经常用在数学公式中的特殊符号是无法从键盘输入到文档中的,比如希腊字母。n在XML中,解决这一问题的手段是使用字符引用。n通常,这些字符会在Unicode字符集中找到,需要记住这些特殊字符在Unicode字符集中的编号,然后进行引用。n引用的格式为“&#+编码”,比如“α”会被解析为希腊字母“”。n如果编码采用十六进制,则引用格式为“&#x+编码”。α+ β=100将被解析为:+=100。 142 文档类型定义对XML的数据结构进行限制有两种途径:n使用文档类型定义(Document Type Definition,DTD)nXML架构(XML Schema)。1什么是DTDnDTD是一个一系列关于数据结构规则的集合,这些规则被称为声明。声明规定了一个

      4、将出现在文档中的标记的集合以及这些标记如何和在哪里出现。一个DTD可以为一个XML文档服务,也可以被一系列XML文档使用,因此它可以为团队开发提供良好的开发规范。nDTD分为内嵌DTDn位于由它来描述语法规则的XML文档中,因此它只能约束它所在的XML文档;n外部DTD两种。n被单独存储为一个文件,因此可以为一组XML文档服务。n需要注意的是,浏览器的XML解析器只检查XML文件是否规范。当用浏览器打开一个被DTD约束的XML文档时,解析器只检查XML文档所关联的DTD文件是否有语法错误,并不检查XML文件是否遵守该DTD规定的约束条件。2DTD中的元素DTD中的元素用来约束关联XML文档中的标记。元素的声明格式为:约束标记中只包含文本数据n标记中只包含文本数据,实际上就说明了在标记中不能包含子标记。n其声明格式如下:n下面的SANTANA标记是符合约束条件的 Santana is the most famous car in China n而下面的标记则是不符合条件的: Shanghai Santana is the most famous car in China 约束标记中的子标

      5、记n子标记列表可以约束标记的子标记有哪些、它们的排列顺序如何。而规定一个子标记重复出现的次数,可以通过为子标记的规范说明添加一个修饰符来实现。这些修饰符包括:+:一次或多次重复*:零次或多次重复?:零次或一次重复ndtd_sample1.dtdnxml_sample1.xml 宝来 Bora 1.8T 被誉为驾驶者之车 RMB 18万 9折 途安 Turan 2.0 兼顾家用与商用 RMB 17.5万 92折 EMPTY与ANYn如果约束一个标记是空标记,或者是只包含空字符的非空标记,可以将标记的约束规则设置为EMPTY。n而如果标记可以在字面上包含任何内容,可以将标记的约束规则设置为ANY。比如下面的两个例子:3DTD中的属性nDTD中的属性是标记的属性,它可以为标记添加附加信息。n在DTD中,属性的声明与标记的声明是分开的。一个属性的声明必须包含下面的内容:属性对应的标记名称、属性名称和属性类型。属性是允许包含一个默认值的。n属性的声明格式如下:属性的默认值n具体值:若没有规定任何值,则使用该默认值n#FIXED 具体值: 所有该属性元素都使用这个值,不能改变n#IMPLIED:未

      6、给出默认值,元素的属性值可以没有(暗示)n#REQUIRED:未给出默认值,但元素的实例必须有属性值属性的类型nCDATA任意字符串,如果包含特殊字符,需要字符引用nEnumerated枚举类型nNMTOKEN由字母、数字、下划线和连字符构成的字符串nNMTOKENS与NMTOKEN类似,但字符串间可以使用空格做间隔nID属性值有专用性。可以由字母、数字、下划线、连字符和点构成,但必须以字母或下划线开头nIDREF用来判断标记之间的关联。通过定义IDREF类型,可以找到某个ID类型标记的后代标记nIDREFS与IDREF类似,但可以约束某个属性的属性值是若干个其他ID属性的属性值的组合ndtd_sample2.dtdnxml_sample2.xml王刚李强4DTD中的实体n可以在DTD中定义实体,从而在与DTD关联的XML文档中可以引用它。nDTD中的实体分为两类:普通实体n普通实体在DTD中定义,与DTD关联的XML文档通过实体引用来使用实体,解析器在解析标记中的数据时,使用实体的内容来替换实体引用;参数实体。n参数实体也在DTD中定义,但仅在标记声明中才能使用。n在DTD中声明实体

      7、的格式如下:如果实体声明中使用了%选项,表示这个实体是参数实体,否则就是普通实体。 ndtd_sample3.dtdnxml_sample3.xml本周特别推荐产品是&BMWX5本周特别推荐产品是&CAYENNE143 命名空间n由于XML允许自定义标记,因此可能会使得不同的XML文档或同一个XML文档中出现名字相同的标记,这显然会带来混乱,因为处理XML文档的软件系统必须能无二义地识别XML文档中的标记。n为了解决这一问题,就需要在XML中使用命名空间。n命名空间的目的是有效地区分名字相同的标记,也就是说,当两个标记的名字相同时,可以通过它们所在的命名空间不同来进行区分。nW3C为命名空间定义了一个标准,详细信息可以查阅http:/www.w3.org/TR/REC-xml-names。1命名空间的声明格式n命名空间的声明格式如下: n其中的方括号表示是可选项。n如果在定义命名空间名时定义了前缀,那么每次使用该标记及其子标记时,都必须把前缀放在标记名前面,表明此标记是属于这个命名空间的。n如果不加前缀,说明此命名空间是默认命名空间,一个标记最多只能有一个默认命名空间。n如果两个标记同

      8、名,只要它们所在的命名空间不同,就被视为两个不同的标记。n对于命名空间的名称来说,如果两个命名空间名字相同,即使它们的前缀不同,也被视为相同的命名空间;n而如果两个命名空间名字不同,即使它们的前缀相同,也被视为不同的命名空间。n当然作为良好的代码规范来说,在XML文档中一般不会使用相同的前缀名来表示不同的命名空间,也一般不会为同一个命名空间取两个不同的名字。宝马公司产品介绍n这个例子中定义了一个名为BMW的标记,其前缀名为sample,那么将来如果这个标记及其子标记隶属于这个命名空间,那么必须通过这个前缀来引用此命名空间 宝马公司入门级商务轿车系列产品 宝马5系车型 $30,000-50,0000 宝马7系车型 $55,000-80,00002命名空间的作用域n一个标记如果使用了命名空间声明,那么该命名空间的作用域就是该标记及其所有的子孙标记。这个标记及其子孙标记在使用时如果要隶属于这个命名空间,需要通过前缀来引用此命名空间。n但即使在父标记中声明了一个命名空间,在它的子孙标记中同样可以重新声明同名的命名空间,虽然这么做不是一种好习惯。宝马公司产品介绍宝马5系介绍宝马520介绍 3命名

      9、空间名n命名空间的名字通常有三种形式:Internet主机名Email地址一个文件的绝对路径n这三种形式统称为统一资源标示符(Uniform Resource Identifier,URI)。大多数情况下,URI会以URL的形式出现。n需要特别注意的是,在XML中,一个URI不必是有效的,尤其是以URL做URI的时候。比如www.aaab.ccn不是一个存在的URL,但是在XML中可以将它作为URI存在。也就是说,XML不负责判断URI是否有效,只要格式上存在URI即可。 4DTD与命名空间n在DTD中,命名空间的名字被看成一种特殊的属性, 使用ATTLIST来声明,n格式为:一般将命名空间名类型固定为CDATA类型,命名空间名固定为#FIXED加命名空间名。144 XML架构n使用DTD来对XML文档的数据组织进行限制是有缺陷的。DTD对XML文档中数据的类型不做判断,它会认为XML中所有的数据都是文本类型,显然,如果数据是数值、日期等类型的话,DTD无法完成对数据格式的限制。DTD的语法与XML无关,因此XML解析器不能分析它们。以上的缺陷会使得DTD的使用受到一些限制,当需要XM

      10、L中的数据类型进行约束的时候,DTD显然不能胜任。1什么是XML架构n一个架构类似于一个类,一个符合架构定义结构的XML文档类似于这个架构类的一个对象。或者说,符合一个特定架构的XML文档都是这个架构的实例。nXML架构(XML Schema)的提出是为了弥补以上所说的DTD的缺陷。目前,XML架构是最可能的DTD替代者。nXML架构的问题在于它的标准过于复杂,而且支持它的解析器目前数量也比较少,本节所介绍的也只是它的一些基本概念和特征。n如果对XML文档的约束只限于文档中的标记和属性结构,而不涉及数据的具体内容的话,还是推荐使用DTD对XML文档进行约束。2架构中的标记nXML架构是扩展名为.xsd的一个文本文件,这个文本文件需要使用XML语法来编写。n架构本身使用一个来自叫做源架构的命名空间的一个词汇表写成,这个源架构就是http:/www.w3c.org/2001/XMLSchema。每个架构都需要在第一行就指定这个命名空间,其格式为: 如果要从源架构中引入名字,那么这个名字的前缀必然是xsd。一个架构文件的根标记就是schema。n架构的主要目的是约束相关联的XML文档中的标记

      《山东大学《网站设计与建设》课件第14章 XML简介》由会员东***分享,可在线阅读,更多相关《山东大学《网站设计与建设》课件第14章 XML简介》请在金锄头文库上搜索。

      点击阅读更多内容
    TA的资源
    点击查看更多
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.