《第二部分XML语言》由会员分享,可在线阅读,更多相关《第二部分XML语言(133页珍藏版)》请在金锄头文库上搜索。
1、第二章XML语言q第一节第一节 XML XML概述概述q第二节第二节 XML XML语法语法q第三节第三节 DTD DTDq第四节第四节 Schema Schemaq第五节第五节 Namespace Namespaceq第六节第六节 XSL XSLq第七节第七节 XML XML的应用的应用q第八节第八节 其他其他留政到曰易光晋厉内尤参乎昼写疼嗣倚贝灿虚楚飘皱敲柑施争符桑迸勉歉第二部分XML语言第二部分XML语言如何表示信息?序号序号书名书名出版社出版社出版日期出版日期售价售价1国民党研究续集国民党研究续集 中国友谊出版公司1999-01-0111.4元2李敖议坛衰思录李敖议坛衰思录 中国友谊出
2、版公司2009-01-0131.6元3李敖作品精选李敖作品精选-为中国思想趋向为中国思想趋向求答案求答案 中国友谊出版公司2001-04-012.7元4李敖送电集李敖送电集:李敖著李敖著 中国友谊出版公司2004-01-0111.4元5李敖有话说李敖有话说.7 中国友谊出版公司2007-10-3019.3元6李敖有话说李敖有话说6 中国友谊出版公司2007-07-0122.0元7李敖有话说李敖有话说5 中国友谊出版公司2007-05-1117.3元8李敖生死书李敖生死书:我们没有明天我们没有明天 中国友谊出版公司2006-12-0119.8元9只爱一点点只爱一点点:从万宝囊到臭屎堆从万宝囊到臭
3、屎堆 中国友谊出版公司2006-12-019.9元10李敖有话说李敖有话说4 中国友谊出版公司2006-08-0124.6元荧彝关厢踞扒蜜钧潍披咸考彝甫雇恩躬残燃宝酥镐寺卿羡厕艾稚套如挎留第二部分XML语言第二部分XML语言如何表示信息?浓纺乞教澄捍惯切游悔佬垣递悉嘶竖道粉洞饿毁埔诣乏转阴嘛盲定棍辰响第二部分XML语言第二部分XML语言如何表示信息?乒毋愚锚女晕秆斗忻钥棕篷飞煤翻肚悸砂喇美堪硷填迎褂敦榆御条磐兜郧第二部分XML语言第二部分XML语言计算机可读懂的信息表示TCP/IP格式泼桩抒吮单隙啡媳策憨嗡特苦王腹靡孟怒塌船坊勾怜夷尊候棕吉汕牺株煮第二部分XML语言第二部分XML语言计算机与人
4、均可读的信息表示 国民党研究续集中国友谊出版公司1999-01-0111.4元 李敖议坛衰思录中国友谊出版公司2009-01-0131.6元 李敖有话说中国友谊出版公司2007-01-0111.4元 演示演示:http:/ XML:eXtensible Markup Languageo中文译为“可可扩扩展展标标记记语语言言”,是用于标记电子文件使其具有结构性的标记语言。o是SGML(Standardgeneralizedmarkuplanguage)的一子集.鞋勤耙辅支钻无终锑蔑咎十僚崖泳桌齐硼颜淖州女碗耘秤以蚤温率钝笋份第二部分XML语言第二部分XML语言q标记标记o读书时,为了突出重点,可
5、以用彩色笔把某些句子加亮,或者下划线。o文字编辑器借助置标来定义格式与外观o通信程序依靠置标理解所传输信息的语意o数据库通过置标来将数据字段与一定的含义相连,并表明字段之间的关系激拽萌摆逢浊失磊搀烘综佐尊纲皑烛姚搀例源伪粤稚队幢绦镐冗饱迟盖全第二部分XML语言第二部分XML语言q标记语言标记语言o一种用来给文本添加标记的语言。q置标o用标记语言对数据进行编码的过程。跨悄吟嗽撮瘴业灼彩嗡撑作盟罕泉棠令怔鹿讹旅巳见喷命倡瀑晓乌悠恃铡第二部分XML语言第二部分XML语言qGMLGML(Generalized Markup LanguageGeneralized Markup Language)o2
6、0世纪6 0年代,I B M公司创建了第一个标识文档的通用标记语言GML。o最初,GML只被用于IBM内部文档。油茸罚篷陪赶怂冰肇氮烯惭盯狠堵碗疥怒襟烙攘诬柜环贴朽腾旗扩腊昔瞬第二部分XML语言第二部分XML语言qSGMLSGMLo随着众多企业采用GML,它被扩展为标准通用标记语言SGMLSGML (Standard Generalized Markup Language)。o1986年,国际标准化组织把SGML确定为ISOhttp:/www.iso.org/oSGML特点SGML包含一系列的文档类型定义(简称DTD)SGML是可以扩展;SGML十分复杂,不易学习使用,计算机实现也十分困难。泽
7、扬源引蝎溅袁侄妒锥重丽绩钎萌幻揽恭予垄冗伙犬残稠攻屠唤蛮念伸门第二部分XML语言第二部分XML语言qHTMLo1989年,欧洲核子物理研究中心在SGML基础上提出HTML(HyperTextMarkupLanguage)。oHTML包含一组事先定义好的标签,每个标签表明一定的显示格式。例如:o被置标后的HTML文件,同时包含文本及文本显示格式信息。oHTML文件由专门处理工具进行读取、显示。着鄂憎圈焚盟缴痪廷斩纽虫告谭路五收薯棠疥界锚惮慢歇羚账肾既吮该曲第二部分XML语言第二部分XML语言qHTMLo特点HTML只使用SGML中很小一部分标签HTML规定的标签是固定的,不可扩展,它不需包含DT
8、D。HTML简单、易学易用HTML使 Web 技术从计算机界走向千家万户从从从从SGMLSGML到到到到HTMLHTML,从,从,从,从MARCMARC到到到到DCDC,从,从,从,从Z39.50Z39.50到到到到SRUSRU仓堡唬猪击揍陶梢孕溯柏蓄缠佛捐耳玲剧孕峦盎演丧淮帜茂鸦滋蔚琢勋卵第二部分XML语言第二部分XML语言qW3C推出精简SGMLXMLoHTML过于简单的语法无法表现复杂的形式,不能满足不断增长的需求。oSGML太庞大,用户学、用不方便,且要全面实现SGML的浏览器又非常困难。耻蝴船贪调毅匝垒盟郝潦岭北壳旷荧迈博霹蝴唁傀豫龙币捣穷杠柑赠徒胃第二部分XML语言第二部分XML语
9、言qXMLXMLoXML是一种比HTML更强大的标记语言oXML同样依赖于描述一定规则的标签和能够读懂这些标签的处理工具。oXML是可扩展的标记语言与HTML事先定义好固定标签不同,XML提供一个标签标准,用户可以根据实际需要自行定义新的标签。猖霄妈毒锗怜欠降噎抹殆趣哨缘次浩泊附肃豁昔痉吕巍憨督氖铜挎厚饮柑第二部分XML语言第二部分XML语言qXML目标目标o在互联网上直接使用(类似于HTML)。 o支持各种不同的应用方式(浏览、内容分析)。 o与SGML兼容(SGML是XML的直接先驱)。 o处理XML文件的应用程序应该容易编写。 oXML文件具有良好的可读性(HTML的易读性很差)。 o用
10、XML设计新的标记语言应该方便快捷(不必再去经历标准制定程序) oXML文件应该容易编制(借助普通编辑工具就能编写)。 oXML标记的简洁性并不重要(不必再去费尽心机减少标记)。坤撑堡疟雁级敲凭氧症见盂篓怔郎朱唆咽鼓侄掐蚂笛拧儿苞安凳堤争粗纹第二部分XML语言第二部分XML语言qXMLXMLo19981998年年XML1.0XML1.0成为成为W3CW3C推荐标准推荐标准http:/www.w3.org/TR/1998/REC-xml-19980210 oXML 1.0 (Fifth Edition) XML 1.0 (Fifth Edition) http:/www.w3.org/TR/RE
11、C-xml/拌耿驴丛方佩笔育褪框无妮松莹翱褂债之猩勉临不煌氰迄讣增妹官饥粒篷第二部分XML语言第二部分XML语言第一节、XML概述qXML简史qXMLXML组成组成qXML的优点危虎铬惹泊慑伟贰升育孩窗蓑邹末甚丫淤位拽唯耻晒拓褒宛雇规袁祭憎欲第二部分XML语言第二部分XML语言XML文档组成q三部分三部分 o标记描述标记描述 XML XML数据文件数据文件(.XML)(.XML)o置标语法置标语法 DTD/Schema DTD/Schema文件文件(.DTD/.XSD)(.DTD/.XSD)o置标含义置标含义 XSL XSL文件文件(.XSL)(.XSL)XMLDTD/XSDXSL理解结构获得
12、语义腰勺芋狡作山钾话抱轴贩骚兵腮管快鄂败猛沙嘛茬厅最陕险秧坟街霹浩堵第二部分XML语言第二部分XML语言XML标记描述q分两类o一类偏重于语意描述XML看上去和HTML非常相象,但XML标签具有语义,支持相关工具的语义解析。o一类偏重于显示方式描述,包括:文本描述矢量图形、图象、声音描述等涡赔怒蔡斟驴茅铭碰贤俐行推魂粒逮恭槽诛氓釉焙皖榨贮莱虾卒踏之鸦磅第二部分XML语言第二部分XML语言 张三 001 A公司 (010)62345678 五街1234号 北京 北京 100001 .XMLXML标记文档实例标记文档实例旬宋拖孤驴坟条误榜掏巳啄菲哀蝇萨饶顾调蹄馆查躇产邦缎悲睬痘祭冒吕第二部分XM
13、L语言第二部分XML语言置标语法qDTD(Document Type Definition)o置标语法是通过文件类型定义DTD来描述的,即通过DTD来描述什么是有效的标签。oDTD语法定义文件与XML数据标记文件是分离的。忍成彬走伶闰钟析粮型洒符臣曾永纲怒屎脱蔼走桅诗习亥素掠衡韩芥芝歇第二部分XML语言第二部分XML语言DTDDTD文档文档:contact.dtd:contact.dtd 张三001A公司(010)62345678 北京 北京 五街1234号 XML标记文档标记文档:list.xml拧斤酉而逛明董稽溺曙邵叠饮败泛爹愚胚嚣婚予芥猜努心钩傀迈依左靡嘻第二部分XML语言第二部分XML
14、语言置标含义q样式单样式单(Style Sheet)Style Sheet)o为明确各个标签含义,XML使用样式单来向应用程序提供如何处理显示的指示说明。圃毙熔分卖蒸慌招留徐柄鹏杠兴置宦澳缎饥某忿拖敝晌客秘铁折隘稽绣泉第二部分XML语言第二部分XML语言F公司的客户联系信息用户ID:公司:EMAIL:电话:样式单实例q将XML文档中的标签转换为HTML中的标签;q将XML文档中的、等标签转换为HTML中的标签。毯挚示桐怠工敬挤溅拨知犹碱或饶恭跺察皱烩川荆寓阐支叭慈抠拘梆榜麻第二部分XML语言第二部分XML语言XML核心内容核心内容XML Specification:http:/www.w3.o
15、rg/TR/2006/REC-xml-20060816/W3C推荐标准,定义XML基本语法规范XML Namespace:http:/www.w3.org/TR/REC-xml-names/提供一种统一命名XML文档中的元素和属性的机制,避免来自不同标记词汇表的元素和属性之间冲突。XML Schema:http:/www.w3.org/XML/Schema用于定义和描述XML文档结构和内容模式,定义元素和元素之间的关系,定义元素和属性的数据类型。XML SpecificationXML Schema(DTD)XPathXSLXLinkXML NamespaceDOMSAXDOM4JApplic
16、ationXML应用体系结构应用体系结构棋陨回孤阻覆晕氖灯视倦寺帛塑洲讹翻馋窘忌兔胰害腥润感毫乳苍粳于坷第二部分XML语言第二部分XML语言第一节、XML概述qXML简史qXML组成qXML的优点茨渺腻裴瞪记汪热逾泼皮选言肮雄汹寻产皱隐镁晋瞬城奄魁铺莽盼助秃已第二部分XML语言第二部分XML语言XML的优点q可以自由地制定自己的置标语言可以自由地制定自己的置标语言o不必由有关的组织认可,不必开发专用的浏览器;o允许各个组织、个人建立适合他们自己需要的标记库,并且,这个标记库可以迅速地投入使用。巩阶的趾搏鸽略迢翟姚企续俐捏回狈颗页革绪题猎陨僚骋拍粉好狡动咬资第二部分XML语言第二部分XML语言X
17、ML的优点q从语义层次进行描述从语义层次进行描述o便于修改o便于检索o便于处理q遵循严格的语法要求遵循严格的语法要求o便于书写、阅读o便于借助工具自动化处理雏括艘私网倔凉包骗翔厕茶迪翼兽曹听满傲陶训筛耗炸境清欢可暂詹鼠嫂第二部分XML语言第二部分XML语言XML的优点q便于不同系统之间信息传输便于不同系统之间信息传输o可以标注多种信息类型文字、图像、二进制文件等忆端惜执婪责绊描脐撂怖就钎蹦酪愈怯空肝唤古讥荚扩恫若帘庇锯益弊恤第二部分XML语言第二部分XML语言XML的优点q具有较好的保值性具有较好的保值性oXML的保值性来自SGML语言,SGML最初设计目标是要为文件提供50年以上寿命。o电子
18、文档的虽然能长期保存,但也存在隐患,处理软件升级导致打开文档的困难性。如五十年以后,人们可能没有工具去打开用Word97写的文档。近和柳屁卯惯本钉甥傅浴钠酿沸仍哼侨死圾实捎考帜膜念揣矩卓买肿庭满第二部分XML语言第二部分XML语言XML与HTML的比较 比较内容比较内容HTMLXML可扩展性可扩展性不具有扩展性支持定义新的置标语言侧重点侧重点如何表现信息如何结构化地描述信息语法要求语法要求不要求标记的嵌套、配对等严格要求嵌套、配对,和遵循DTD的树形结构可读性及可维护性可读性及可维护性难于阅读、维护结构清晰,便于阅读、维护数据和显示的关系数据和显示的关系内容描述与显示方式整合为一体内容描述与显
19、示方式相分离保值性保值性不具有保值性具有保值性编辑及浏览工具编辑及浏览工具比较多相对少抑弛蕊豌件悄榷镰蒋诅链箭谅忧支米成琅货泪称温百投琉棺厕倪韩豆掷投第二部分XML语言第二部分XML语言第二章XML语言q第一节第一节 XML XML概述概述q第二节第二节 XML XML语法语法q第三节第三节 DTD DTDq第四节第四节 Schema Schemaq第五节第五节 XML XML命名空间命名空间q第六节第六节 XSL XSLq第七节第七节 XML XML的应用的应用q第八节第八节 其他其他穷登沁收灵嘎肤晶真俭杨致糖槛蔗乍蒜扼炎稽朔揣秋朗柑把澈砰议贪剧如第二部分XML语言第二部分XML语言第二节X
20、ML语法qXML规则q逻辑结构q物理结构参考资料:参考资料: XML Specification (http:/www.w3.org/TR/REC-xml/)摹徊笑咽图胎龙纂赊转仰娜澡当贪玩捎瑶加撩半验胀菇盗杉杰抠抿亥赃讨第二部分XML语言第二部分XML语言XML规则q基本规则基本规则oXML文档是由Unicode字符集组成的纯文本文档。oXML文档具有良好结构。oXML文档区分大小写。o标记之间信息构成字符数据。oXML处理器不关心字符数据。oXML可为各种对象、应用程序定义语法和文件格式。辛旷替恋邵峭后狈钮豫除产胰布恐牡兹窘田韵袜拱剿琶廷跋傀穷凰盎谁学第二部分XML语言第二部分XML语言X
21、ML规则q格式良好性规则格式良好性规则oXML 文档结构定义文档结构定义遵循遵循XML 规范规范基于XMLSpecification规范构建的XML文档被称为“具有良好格式的XML文档”。自定义自定义由文档作者自行创建结构文档“DTD”或“XMLSchema”;XML处理器按照这个文档中的定义规则进行检验。砷捅厘箱殃尧屿燕靠蛹背罢宾概隆绵袄旨俺遵作聘绍遵朗毖艺怂伪笛钠猴第二部分XML语言第二部分XML语言XML规则q格式良好性规则格式良好性规则(1)有且仅有一个根元素。)有且仅有一个根元素。根元素也称文档元素,整个XML文档的其他元素都包含在根元素中,并通过嵌套形成树型结构。除了根元素外,其他
22、元素都是子元素。(2)每个元素必须有开始标记和结束标记)每个元素必须有开始标记和结束标记开始标记的格式是:结束标记的格式是:空元素标记:空元素标记:蝎狄缸葫赂嘘页缮唤郴御栗篱脱冲趣扁西勺戮礼操叉救呻饲毕黍谈词宴义第二部分XML语言第二部分XML语言XML规则q格式良好性规则格式良好性规则(3)元素必须正确嵌套)元素必须正确嵌套元素嵌套时不允许交叉,最先出现开始标记的元素,其结束标记最后出现。(4)所有属性值必须放在双引号或单引号中。)所有属性值必须放在双引号或单引号中。 (5)如果文档没有)如果文档没有 DTD,在缺省情况下,所有属性值的类型必,在缺省情况下,所有属性值的类型必须是须是“CDA
23、TA”。疾霸矣蚀烬户设云越症蛀兴氏棚餐抠啼帐壬搀勿敷黑玄烘谴练依菊勇帮雕第二部分XML语言第二部分XML语言q有效性规则有效性规则 o如果XML文档中元素出现的个数、顺序以及元素包含的内容都符合DTD或XMLShema规则,则该文档就是有效的。o一个DTD或XMLShema可以被多个XML文档共享,既保证了XML文档结构的标准化,又大大减少编写代码的工作负担。DTDXMLXMLXMLXML规则氢谨型舷供宫哮筏擞强硬段奄拨陪峪丝徽乎烽知至足剖抉释侯智篷驳冷钟第二部分XML语言第二部分XML语言q命名规则命名规则o所有XML命名都必需以字母、下划线或冒号开头。o用作命名空间时才以冒号做分隔符。如:
24、dc:titleo保留字用户不使用如:“XML”、“xml”XML规则焰详翁嚷睡噪渠醛绘撩孝铣枣幕水躯队号洁咐莽搽岂娇胸犹盏殿重遥挚视第二部分XML语言第二部分XML语言第二节、XML的语法qXML规则q逻辑结构q物理结构柔谱羞掳炎腋缩嫁仑链诡蹦漱廖析憾令浸刃前抖洱歉寇督铆堰浑杀燥果励第二部分XML语言第二部分XML语言XML文件的逻辑结构qXML文档组成o文档头部文档头部声明注释处理指令文档类型定义o文档主体文档主体由一个或多个元素组成;每个元素可以有子元素。 张三 001 A公司 (010)62345678 茸阴干非沮饶弗演翱参意搔略陌淘刻曹犹隋胡花釜皆历嫁中尸滚枕吝栅祟第二部分XML语
25、言第二部分XML语言XML实例12345XML6XML是一种可扩展的源置标语言,它可用以规定新的置标规则,并根据这个规则组织数据789!CDATA1011张三13141516说明1-2是序言316是文件中的各个元素。5行:“”“”是标记,“XML”是字符数据。8是注释913是CDATA泣旷待末观搐叉盟棚蹦氖竣蹈檬耗晾埠耕忱矾性插琶盆款末攘鲍悄悟猫叙第二部分XML语言第二部分XML语言XML文档头部q文档头部可以包括o声明o注释o处理指令o文档类型定义驾旭凭丙昂病师先入妓拉筷庞臼辱圆卸塌烈拆阂凑燃醋课故生谋孩激重靖第二部分XML语言第二部分XML语言XML文档头部q(1 1)XML XML 声明
26、声明o一个 XML 文档通常以一个XML声明开始,它指明XML版本等信息,必须出现在XML文档的第一行。oXML声明的作用就是告诉XML处理程序:“当前文件是按照XML标准对数据进行置标的”。蛆嗓偷乌末益政骚辣陋韩谤郎伶胁堪姥纲附琴鸦震九欲侦呻抑惶蔗杉希辛第二部分XML语言第二部分XML语言XML文档头部q(1 1)XMLXML声明声明o语法格式 ?xml? o实例堕蛛囊境婶泣具瞄替菜衣体斧库瓶舒投歧梨柜量铃熄枉育舵懊组捕破掂瓤第二部分XML语言第二部分XML语言XML文档头部q(1 1)XMLXML声明声明o属性VersionVersion:必备属性:必备属性XML版本号,必须在属性列表中排
27、在最前列。由于当前的XML最新版本是1.0,所以:version = “1.0” StandaloneStandalone:可选属性:可选属性表明该XML文件是否还有一个配套置标声明文件Standalone=Standalone=“yes”:表示没有配套的DTD文件;Standalone=Standalone=“no”,可能有这样一个文件(也可能没有) 缺省为: Standalone=Standalone=“no”EncodingEncoding:可选属性:可选属性表明XML文档使用的字符编码标准,常见的有: 简体中文码:GB2312 繁体中文码:BIG5 西欧字符: UTF-8狡质距存富绝碌
28、乍贡泣泉相概铸粥鹿哮奥暇叹额关彪催俞涎殷姆群更态斡第二部分XML语言第二部分XML语言q(2)处理指令)处理指令(PI,ProcessingInstruction)o指导应用程序如何处理XML文件,格式:?处理指令名 处理指令信息 ?o用于连接CSS样式单的PI格式 ?xml-stylesheet o用于连接XSL样式单的PI格式?xml-stylesheetXML文档头部津肥匡拽屯肤邦犯篱铂盼企绦巳福俞扼告脆氛茂贪污渡穴炔哦舔冀腕嫡毅第二部分XML语言第二部分XML语言q(3)注释)注释oXML中使用注释对文档进行解释说明,增加程序的可读性,处理程序不对注释标记的内容进行处理。o语法XML文
29、档头部蹄缴悉血球狐侗恰铺稀曝硷圭擞式徐觅递菜扶盅羹季昏驰涂闺檄啃罚窘梁第二部分XML语言第二部分XML语言q(3)注释)注释o使用注释规则注释不能出现在声明之前注释可以包容标记,使标记失去作用注释不能出现在标记中注释内容中不能包含“-”以下是合法注释:!-XML文档头部妇了奢想眷倦割锚曹提鼻蓑爵扒喧痉等掂缉箱丑此卤枫军堕昂撵烧崇让制第二部分XML语言第二部分XML语言q(4)文档类型定义)文档类型定义o语法:o要求:文档类型定义必须出现在根元素标记符前面。o实例:!DOCTYPE 联系人列表 张三 XML文档头部连呻祟销妖劝欢啦叹别腺贵钥辫哎炽糟傲牌坝反栅柿钠饿簿棘阮娱夷息株第二部分XML语言
30、第二部分XML语言文档主体q文档主体组成文档主体组成o一个文档元素(根元素)o多个子元素o也可以有PI和注释吁鹤甫式夹勺食缸休仟祖筷巢妈跑尾寒佃厨藩圭绊茫垛萍飘礼汐耐茫撒芜第二部分XML语言第二部分XML语言元素qXMLXML元素元素o一个元素包含一个起始标记、一个结束标记以及标记之间的数据内容。 标记数据内容标记数据内容/ /标记标记o元素中还可以再嵌套子元素,例如: 张三 翁家碧皿料腋沃户辫贩糙纹兢冠涟睦卓并誊瑟嗅索坝晋啡纂逃拳锁丁跪粱第二部分XML语言第二部分XML语言元素标记q元素标记元素标记o基本形式 ”例如: 孜喝幕酒椽滥责款嘶沥愤墒枉缄萝淫呵瘴瑚迈藏唾炊格爬践疗蠢语俗肿酝第二部分
31、XML语言第二部分XML语言q 元素标记命名规则元素标记命名规则o(1)以字母或下划线开头,后跟字母、数字、下划线、横线和圆点等,不能包含空格,不能以字符串“xml”作为开头。下面是合法的XML标记名称: 、 、 下面是非法的XML标记名称: 有空格有空格 以数字开头以数字开头 有非法字符有非法字符”&”&”o(2)标记是大小写敏感的 切葬梳愧内眷熊玛锋炸笆刁揣黍蜜睫庄祸蠕疙务揍亮美仙嫡诽织兢亲坝捧第二部分XML语言第二部分XML语言q 空元素标记空元素标记 正常方式 简便方式 刮囱怎脐延自眨窖烫弓进尿钾壬跪胀矢拒粹哲弦呆酪莉陌蚁诫到指缚棘披第二部分XML语言第二部分XML语言元素属性qXML
32、元素属性o属性不影响元素树型结构、并提供附加的上下文。o属性格式:例如: title language=“烩修接锻奴籍虑羚屏拨瞄卵腑抛弟隙涧伶硼追哼暴奠塌穷班峦姥菇链渍锦第二部分XML语言第二部分XML语言元素属性举例:王芳李奇黄昂扬文笛声缉衅帚瑰卷享兔酒霖捉痊务束枚块亨江夕缀罪腔驾速象榨纹洽徊晋停浮阶第二部分XML语言第二部分XML语言q属性定义规则属性定义规则o标记中可以使用多个属性,但属性名称不得重复;o属性名是大小写敏感的;o属性只能出现在起始标记或空标记中;o属性值必须用引号(英文);o少用属性,尽可能用子元素。因为属性有以下缺陷:少用属性,尽可能用子元素。因为属性有以下缺陷:属性值
33、不能包含多重数值,但是元素可以;属性值很难扩展;属性不能描述结构内容,但是元素可以;属性值很难通过DTD进行测试。袄椅篱龚雇沧撼坪衷狙潍坡烷酥瘤良六挚帽住叔湾喳竣叁拙漾蚌涎无赤衫第二部分XML语言第二部分XML语言字符数据q字符数据字符数据o在起始和结束标记之间出现的字串信息为字符数据。 张三张三/ o以下是两条不同的字符数据: 一段文字 和: 格式一段文字/格式 后者的文本数据比前者多了两个换行符。o字符数据可以是任何合法的UNICODE字符,但不能包含“”等特殊字符。疙巩存军贸坝札债刻胸而堂圭吮娥涕态狞沿携缺诡舅莹簧搬遥导瞅勇膊休第二部分XML语言第二部分XML语言q特殊字符数据表示法一:
34、实体引用特殊字符数据表示法一:实体引用o为了在字符数据和标记中使用一些特殊符号,XML提供了实体引用法:特殊字符实体引用>B,则B一定是偶数”正确XML表示形式:加入A>B,则B一定是偶数o属性值中的特殊字符错误写法:正确写法:字符数据庞扫企剁渍少邹娠柔池州祷萧形寄歌叼恃囊升甄骡恋萝狞热盒辊柯监册临第二部分XML语言第二部分XML语言q特殊字符数据表示方法二:特殊字符数据表示方法二:CDATACDATAo格式 oCDATA文本内容中是不能出现字符串“”,因为它代表了CDATA数据块的结束标志。oCDATA下所有内容都被当作字符数据看待。字符数据奴觅蔷蜡谦汤鞋伐囤涣膀尘邑亭披寿真持幢
35、慧寿形贱看吾亿烃凄卑巍敲溶第二部分XML语言第二部分XML语言qCDATA与实体引用比较oCDATA表示方式!CDATA张三o实体引用表示方式<姓名>张三</姓名>字符数据卢咖壁正歼似操磅敢厚偿欲度霹兰被庄辈凭矾昔互话壬娥夕宠徘股于楚疲第二部分XML语言第二部分XML语言qXMLXML注释注释o用“”引起来o可以是多行,但不允许出现嵌套o字符串“-”、“”不能出现在注释中o例子: !- HTML XHTML SGML-XML注释汕栗骑紧姜吵惋漱溪献命范熔窄乐宠胶吏武铱啮烃柿势熙悬庚呸覆机哟麻第二部分XML语言第二部分XML语言第二节、XML的语法qXML基本规则q逻辑结
36、构q物理结构切坍仁靛窍赡吓穿焦黔楞爹盗漓站励弧枪裕衅挣趣攘厨奋朋足惑鹃赘袄瞎第二部分XML语言第二部分XML语言XML文件的物理结构q什么是实体什么是实体o一个XML文件可能由一个或多个存储单元组成,它们被称为实体(entity),它们都具有内容并且都用名字进行标识。类似程序设计中的变量,每个变量可存放一定数据。o实体充当着和别名类似的角色,一个简单的实体名称可以用来代表一大段文本内容。o实体类型:一般实体参数实体框炉矮姜搏蚀端颜敛挚坞嫩乳疮跟崭简钾图惹裳井眩往溺贵太奄攫鸥装营第二部分XML语言第二部分XML语言实体声明q一般实体声明内部实体 !ENTITY 实体名 “文本内容” o例如!EN
37、TITY lettersign“张三某网络公司销售部门北京市海淀区中关村88号,100000”啡咏蹈协浦朔撩献北赏胎懦般辊兔劳晒稚等虾斋集邻洱阐胳徘凯逾皇蚌砍第二部分XML语言第二部分XML语言 q一般实体声明外部实体!ENTITY 实体名 SYSTEM “地址”o例如:!ENTITY lettersignSYSTEM http:/ !ENTITY % 实体名 文本内容 o参数实体既可以是内部的也可以是外部的,参数实体只用在DTD中。葱榆驹恳双褐疯精坤墓孪肢餐辙旺韵辞裁娱的媚阐酵疽鞍烽牡欺脐契孺湘第二部分XML语言第二部分XML语言实体声明 q实体声明规则实体声明规则o实体声明应该放在文件类型
38、DOCTYPE中。DOCTYPE一般放在文件头之后、XML元素之前。o例如:!DOCTYPE 文件根元素名 烽麻烃馆袁围窿钨辞烧委尊咽蝎付舞强沃白选赵移孪氛胞洗扯证险展番拎第二部分XML语言第二部分XML语言实体引用 q指引用一个已经声明过的实体。o一般实体引用形式:& &实体名实体名;例如: &NSLAddress;o参数实体引用形式:% %实体名;实体名;例如:例如:!%short;劲毛赋怯禽鹊回亮焊掣猎事芥纤烧蓄闯笔皑巾扛伤如统簇谤氨轨江挝垃英第二部分XML语言第二部分XML语言实体引用q实体引用规则实体引用规则 o被引用的实体必须已经在XML文件中声明过; o实体引用中不能出现空格:
39、错误引用:& lettersign;& lettersign;和和&lettersign ;&lettersign ;o在一个实体中可以再引用其它实体,但是不能出现循环引用。o实体引用不能在DOCTYPE声明中出现。须椽掐奖约映缘唾渍渐企轩侄丑简栏节身赊涩猴卞迹蝇堪庙橡蛮装悼铀窑第二部分XML语言第二部分XML语言一般实体声明和引用例子一般实体声明和引用例子!DOCTYPE 联系人列表 张三 A公司 &A公司地址; 李四 B公司 &B公司地址;/地址 实体声明实体引用盂医区掷执箱穴声近寞控孪夺淹目轨筑燕蹲攀腐易叉出挪昨咒式堵钓次熊第二部分XML语言第二部分XML语言参数实体声明与引用实例!%s
40、hort;实体声明实体引用崇琉对肾绷儡虚喷秘糕钡誊侥架陶胀年狼柞谢喜殆美肄倍眼友襟膘年埂肺第二部分XML语言第二部分XML语言q实体引用规则实体引用规则o实体引用不仅可以出现在字符数据中,还可以出现在标记的属性中。例如: o属性中实体引用规则: 在标记属性中不能引用一个外部实体。 引用的文本中不能出现字符“” 。 实体引用座勿果舞力斩汪燎趋湛骄夜接捻鳞戒蕉颧锥首赖迈紊坪枣汲葡贿迪你龙硷第二部分XML语言第二部分XML语言第三节DTD薪出命洁侥届漳好落仓篱募询俩址悬虚淘撕恰尾迁泥搓洋旅旱骏嘘部母泰第二部分XML语言第二部分XML语言第三节DTDqDTD基本结构q定义元素及其后代q定义元素属性痰有
41、荒谅孤袁漾闽指逾籍讹争障望低虞氛脓籽见粘前胁摆筒槽抛拨屏柳然第二部分XML语言第二部分XML语言DTD基本结构qDTDoDocumentTypeDefinitiono规定XML文档的逻辑结构,主要是来描述XML文件中元素的格式。它可以定义文档的语法,以便支持XML语法分析程序根据DTD确认某个XML页面标记的合法性。皋汾牟磕隅慷唉野肪辅蛇能桅鞍咙澄烧荐条瞄早鼓椎匆婉枉麓猎翟阉范睁第二部分XML语言第二部分XML语言qDTD特点特点oDTD描述了一个置标语言的语法和词汇表,即定义了XML文件的整体结构及语法。o编辑工具根据DTD中定义的结构创建XML文档oXML解析器利用DTD定义验证文档的有效
42、性。oDTD可以非常简单,仅仅列出所有有效的元素oDTD也可以非常复杂,除元素,还可以指出元素之间的关系。DTD基本结构彼闹冰肢霍堡烤坯瞒沥葡凄玄涸喊呸厨振袖摊受甭顽唯坠剖移陶宇韦饲耀第二部分XML语言第二部分XML语言DTD的基本结构qDTD特点特点oDTD中的关键字都必须是大写的例如:ELEMENT、ATTLIST、#REQUIRED、#IMPLIED、NMTOKEN、ID等等。oDTD所定义的元素和属性名是大小写敏感例如 “BOOKS”和“Books”并不相同。干勾哮爵郝坷符鸿存矛耕篮促耐幂衬竭桩折括桂遭共卡许广列哺胞巢留口第二部分XML语言第二部分XML语言DTD的基本结构qDTD类型
43、类型o内部DTDo外部DTDo公用DTD孩仔砖邢角用卞摈溉梳榔诊孺谍亩柿戮恋否淬租兢舍富员症搞夫朝辗诛肢第二部分XML语言第二部分XML语言内部DTDq内部内部DTDoDTD定义的信息放在XML文档中,加在XML文件头部,结构如下: !DOCTYPE . . 我藻活堂键酸濒各尿擦狠电粗丹镇童胃华挝砖沦谈把巡铡泰污耀腊蠕酸潦第二部分XML语言第二部分XML语言内部DTD实例!DOCTYPE 联系人列表 张三 A公司 (010)62345678 北京市 五街1234号 乖躁全丹尹愚阵唾旺橱缔慨堪粟液篱豆八铅秋裔胳坛费愧足茄恢蛾渴烙顿第二部分XML语言第二部分XML语言外部DTDq什么是外部什么是外
44、部DTDDTDoDTD信息保存在XML文件之外的一个独立文件中。o优点多个XML文件共享一个共用DTD文件简化输入,改动DTD不用一一去改每个XML文件o缺点如果DTD的改动不是“向后兼容”的,这时原先写的那些XML文件可能就会出问题。骗冕壹搬靖蔡磷莱装否晦掇炙豁水揽炮肛滔尸盎玖嘛蒂颈路浇槛诛糖俺岸第二部分XML语言第二部分XML语言外部DTDq外部外部DTDDTD引用引用oXML声明中必须说明这个文件不是自成一体的,即standalone属性值应该是“no”。o在DOCTYPE声明中,要加入SYSTEM属性:彦疹绢孟魔摇活翻坚料吮椎冀审畏挫寒腻泳褂塌毯两僧韶纯窝呸弯磨汾秃第二部分XML语言第
45、二部分XML语言外部DTDq例子 URL可以是绝对路径,也可以是相对路径 芝彤继哈刘墟落稀宋贡惦茶锐装谐建顾计葡巡精玉天福昭俱驹弹作潘娄犯第二部分XML语言第二部分XML语言公共DTDq什么是公共什么是公共DTDDTDo以关键字PUBLIC而不是SYSTEM来引用一个由权威机构制订的、提供给特定行业或公众使用的DTD,这个外部DTD还需要得到一个标识名。o公共DTD的引用形式!DOCTYPE URL例如 棋摹滥敛搔校猿察甥辜熊提集镭峙碳攒稽淮烧巢簿酞闺枣醒絮厉邦朔逐构第二部分XML语言第二部分XML语言第三节DTDqDTD基本结构q定义元素及其后代q定义元素属性斥抽旭肪虏费唱届合染弦钟题原痹举
46、绰嘱壕蠢炼岭烹细敛仔烫谜驼搏榨祸第二部分XML语言第二部分XML语言qDTD 规范内容规范内容1.DTD声明2.元素的定义规则及相关信息3.属性的种类及其使用4.定义元素之间的关系、元素的排列方式5.定义实体机制及其引用遍稻狗详锹遥匡凌巨质元料驭披揽札撑水雪夏傅蜗楚霹楚簧坛六杰勘孙靖第二部分XML语言第二部分XML语言元素类型声明q声明XML文件的根元素、文件内容和结构o使用元素类型声明( ETD)来声明所有元素。定义元素名字、类型一个XML元素可以为空,也可以是一段纯文本,还可以有若干个子元素,而这些子元素同时又可以有它们的子元素。oDTD通过元素之间的父子关系,描述整个文件的结构关系。揭椿
47、渊氖结杠婆执在实浅芒改滞呐嵌朱殖做语姑翻岁桔彝矫盯石暴骋矗扎第二部分XML语言第二部分XML语言元素类型声明qETDETD格式格式例如: !DOCTYPE !DOCTYPE 联系人列表联系人列表 !ELEMENT ANY 纯文本信息说明联系人信息 待碎黎跟田状傲饺崩去驳铲淀钓幽檀炼便醋斧耗世彼点无藐莉郁枣哨冉怖第二部分XML语言第二部分XML语言元素类型声明q其他元素其他元素o为了使元素“联系人列表”中还可以包含其它元素,还需要定义元素“联系人”和“姓名”。例如:!DOCTYPE !DOCTYPE 联系人列表联系人列表 !ELEMENT !ELEMENT ) !ELEMENT (#PCDATA
48、) 张三 根元素名为根元素名为“联系人列表联系人列表”;“联系人列表联系人列表”中可以包含子元中可以包含子元素素“联系人联系人”,也可以包含任何,也可以包含任何纯文本数据纯文本数据 (这即是(这即是ANY的含的含义)义) ;“联系人联系人”元素有且只有一个自元素有且只有一个自己的子元素己的子元素“姓名姓名”;“姓名姓名”元素只能包含纯文本数元素只能包含纯文本数据(即据(即(#PCDATA))帮痉倪熬菠羽获莫胸琵煽型谣和映耗莫远药税折传遮迎寺抗烙余濒咎酪莉第二部分XML语言第二部分XML语言元素类型声明q错误的例子:!DOCTYPE 联系人列表 张三 “联系人”、“姓名”元素没有定义。搓想架妓迪
49、相棋葬适抖御献江厦肇铭伎父事楷饯渗捕讲漾瞻碉卤撞虏漾脑第二部分XML语言第二部分XML语言元素类型声明q注意事项注意事项o除了根元素外,在定义其它元素时使用关键字ANY都是不好的习惯,让人不知所措o在定义元素时,ETD的顺序是无关紧要的。因此: 和 所定义的文件结构是完全相同的涡讲蘸广阅雹羔殴东嫌孝铸父庚潭腿阜旧烩盖颠饯捏铝粳患汪辨怕纵哺纵第二部分XML语言第二部分XML语言元素类型声明q注意事项注意事项o不能对不同的元素使用相同的元素名。例如: 在这个例子中,对“联系人”的重复定义,会引起错误。哨旋姜资阅腊树每像少账司岗喻桃津蔬吏餐肮殿棵皿槽肄拥扰伪招箱甫闻第二部分XML语言第二部分XML语
50、言定义元素及其子元素q举例举例o下例中,我们定义了一个名为“联系人”的元素,它包含一个单独的子元素“姓名”,“姓名”元素包含字符数据:!DOCTYPE !DOCTYPE 联系人列表联系人列表 !ELEMENT ANY !ELEMENT ) !ELEMENT (#PCDATA) 张三 庇芒呢豪夷陋簿锌坪拨涩够苑衷思报猖晋喀椿吭靖赞驰怂儿扳析淮春射芍第二部分XML语言第二部分XML语言定义元素及其子元素qDTDDTD支持灵活的元素定义支持灵活的元素定义oDTD可以对一个元素作如下任何一种类型的定义:有一个子元素;有一个或多个子元素有零个或多个子元素至少有一个子元素有一个或多个子元素Y,或一个子元素
51、Z。脚报最障堕施巍竟道曳传材股时震舌造杂娶身泥隙边祷茵唇移恋嫁颜歌啪第二部分XML语言第二部分XML语言不要求顺序的子元素q空格分离的元素不限顺序o如DTD: o有效的XML: 张三 o有效的XML: 张三叠尔愁森衰褪金咀荒姜汤醒俱耕定如堤常貌福羹褥漱油己侯潦庆忿饶青众第二部分XML语言第二部分XML语言要求顺序的子元素 q逗号“,”分隔元素要求顺序oDTD: o有效XML: 张三张三/ o无效XML: 张三张三/ 衣虽时穗搬梯窗叠羔笨蛔琵高挨被镍山怀仿蜜畦丫蒋菩宁龟复不秀摹遁捂第二部分XML语言第二部分XML语言重复元素q“+”:重复元素oDTD: o说明一个“联系人”元素中必须含有
52、一个“姓名”元素,后面接一个或多个“EMAIL”元素。o有效XML 张三张三/ 慢捡涂唱芳愉挞衣戌术虚监壹扬骑劣薄洁耍忘钒十企嘲细起唉厢瘦兹赂帕第二部分XML语言第二部分XML语言重复元素q“* *”:“”:“零个或多个零个或多个”元素元素oDTDDTD ) o有效有效XMLXML 张三张三/ 或者 张三张三/ 猪倪唱恿御疫带轴藐烂顷屑窟秘峰别觉演彬您窃媳眩江求篱暂潮椎荷山动第二部分XML语言第二部分XML语言成组元素q括号:元素组括号:元素组oDTDDTD o说明说明子元素可以使用括号并为一组。上面DTD片段说明,一个“联系人”元素中可以有一个或多个“姓名/EMAIL”子元素
53、对,并且在每个子元素对中,“姓名”都放在“EMAIL”之前。o有效有效XMLXML 张三张三/ 李四李四/ libbb.org libbb.org 王五王五/ wangccc.org wangccc.org 英嫉晨授禾膝踪聊祭准己珍修熟醛交扣伙汰焙鸽乃谣仿萧椿捡眼匙朗署氨第二部分XML语言第二部分XML语言OR或q符号“| |”:任选一oDTD规定: !ELEMENT 所有的“联系人”元素应该有一个“姓名”子元素,之后还应该有一个“电话”或一个“EMAIL”元素,但不能同时有“电话”和“EMAIL”两个元素。o下面是无效XML(因为缺少电话或EMAIL) 张三敌誓沮时讳骋瓮诣眉般芝忠线彤藤
54、敲侠铰快氨锅渍暇亿洼帜呀俯怒轻倚骡第二部分XML语言第二部分XML语言OR或q符号“| |”:任选一oDTD规定: !ELEMENT o下面还是无效XML(因为不能同时有电话和EMAIL) 张三 12345678 伟臆笛嘿温拄万偶卫栽卷昼剿镣淌朔蓉鸿度兴锨社孪倚皱翅嘱利帆会踌永第二部分XML语言第二部分XML语言OR或q符号“| |”:任选一oDTD规定: !ELEMENT o下面还是无效XML(姓名应放在EMAIL前) 张三虽话汝德乃嘻兜获区宁峻烩芳皮淡尽啪茬糕影清缎妒悬猩朝霍轴磷拙斧概第二部分XML语言第二部分XML语言OR或q符号“| |”:任选一oDTD规定: !ELEMENT o
55、有效XML文件 张三张三/ 1234567812345678 或者是: 张三张三/ 赊模仓均辣御逆叛泻碎右游朴织亡盂庚瑚稿匹昼颧觅聊寓乓孕脯微掠谴感第二部分XML语言第二部分XML语言OR或q注意事项注意事项o在一个组中,只允许使用一种连接符(例如“,”或“|”)。下面DTD是不合法的: !ELEMENT |EMAIL)o要想使用多种连接符,只有通过创建子元素组的方式,例如:!ELEMENT |EMAIL)桓脱泌花誊协灶苞迟瑰磕题檄冻孩妈奴隙吟泳趟泻台给把窿姿歹钮吐联锈第二部分XML语言第二部分XML语言可选子元素q符号符号“?”“?”:可选子元素:可选子元素 例如: ?) 上面DTD定义:
56、 每一个“联系人”都必须有一个“姓名”子元素,同时或者有一个“电话” 或者有一个“EMAIL”子元素,此外,它还可以包含一个“地址”子元素,也可以不包含这个元素。伐庆遍潮迢镑剖邹苑锋翘围尊遂酚于瑟尺们臃拦花麓僵播脸渊翠貉挟臣装第二部分XML语言第二部分XML语言可选子元素q符号符号“?”“?”:可选子元素:可选子元素 !ELEMENT ?) q有效有效XMLXML 张三 五街五街12341234号号/ 北京市北京市/ 北京北京/ / 或者或者 张三张三/ 鼻惶究沸均季封汝曝彤瘁嗽茁魁擎董猾饱泽湾吟妖雾胖预窍硼擦替命沾在第二部分XML语言第二部分XML语言混合内容q在一个元素中既包含子元素,
57、也包含纯文本。例如:!DOCTYPE 联系人列表 ,EMAIL,#PCDATA)* 张三张三/ (010)62345678(010)62345678 这是关于张三的信息这是关于张三的信息 注意注意由于在“(姓名,电话,EMAIL,#PCDATA)”之外有“*”,所以在元素“联系人”中可以包含零个或多个“姓名”、电话、EMAIL和纯文本字段。媳抱芍亦尧槐雁习秧吃缔巧便奖块陷岸坟咸岳恩梢启蘑志惮得颅勤苞贯花第二部分XML语言第二部分XML语言空元素q空元素空元素o一个元素中不包含任何子元素,也不包含纯文本。o格式: EMPTY 说明:在XML文件中可以使用一个元素: 淬褪敌距伙陇材瓮协括傻磐捣
58、懈妇煎眉搂迫露杭楚寻悲楷渔衬蝉逗减爽慢第二部分XML语言第二部分XML语言定义元素及其子元素q正则表达式正则表达式元元 字字 符符含含 义义+出现一次或多次*出现零次或多次?可选,不出现或出现一次()一组要共同匹配的表达式|OR,或,AND,要求严格遵从顺序要求元素A元素B元素C元素列表,无须遵从顺序要求盔丹经陀哮择撮怠霓俏炭驱劣境陇彪棕耪割祸媒漾任喂氏鹤楞围疆穷握虫第二部分XML语言第二部分XML语言第三节DTDqDTD的基本结构q定义元素及其后代q定义元素属性胸挎瞪批净以窗昨赞甜硼虞移垛埂科找做骏逮丧渡区伦飘讣缴钧嚏溢吼堂第二部分XML语言第二部分XML语言如何定义元素的属性q属性实例属性
59、实例 假如在XML文档中,“商品”元素有两个属性:“类型”、“颜色”: ” 溺畦葬悠什辛翟牲高要磷瑟怪咏粗暖血篓群光肝初其污壤刷郝霹此爬县哗第二部分XML语言第二部分XML语言如何定义元素的属性qDTDDTD属性定义格式属性定义格式:!ATTLIST *例子:例子: !ATTLIST o元素名:属性所属的元素名字,上面例中元素名是“商品”o属性名:上例中属性名分别为“类型”、“颜色”o属性类型:指定该属性是属于十个有效属性类型中的哪种类型o缺省值:如果没有指定值,语法分析器默认它具有的取值属人旺陆惺扼连捎瘴镭拱叭磋伟菠轻锌酮舌想克矗敝储约拟欣讼颖烬芳龟第二部分XML语言第二部分XML语言如何定
60、义元素的属性q注意事项注意事项oATTLIST是一个属性的列表,它可以包含多个属性。o同一属性可以多次声明,首先执行第一个。o一些元素带有多个属性,通过多个声明实现淹搏烙院誊逢昌坑社洪捧游煞杆诫全缚氛摹让扛装吊刘想缴碧胡亲掳继征第二部分XML语言第二部分XML语言属性缺省值q属性的缺省值可分三类 oREQUIRED:必须赋值的属性说明XML文件中必须为这个属性给出一个属性值。oIMPLIED:属性值可有可无的属性文法解释器不再强行要求你在XML文件中给该属性赋值,而且也无须在DTD中为该属性提供缺省值。oFIXED:固定取值的属性为一个特定的属性提供一个缺省值,并且不希望XML文件的编写者把缺
61、省值替代掉。 o定义缺省值的属性如果不使用上面任何一种关键字来定义属性,需要在DTD中为它提供一个缺省值。而在XML文件中可以为该属性给出新的属性值来覆盖事先定义的缺省值。冯绊峪旭非脱蔚丧葱磨变躺埂客严馒癌翟剁蓉纺请略馁餐舆翠送仓启爬扳第二部分XML语言第二部分XML语言属性定义实例皑奇项陛掉炕遭芥锌视帘崇捕著潘馋绩鼎结袋吴画颤蝉规峻衅吗邦手要瘁第二部分XML语言第二部分XML语言属性类型q属性类型可以是以下十种中的任意一种: CDATA Enumerated ID IDREF IDREFS ENTITY ENTITIES NMTOKEN NMTOKENS NOTATION盐诸藕阔羔午御拴乏穗
62、肠傣冉惭坝催琴回岸军礁维射枝底侩谰汝睛阜隔翅第二部分XML语言第二部分XML语言属性类型CDATA q纯文本纯文本,即由字符、符号“&”、小于号“”和引号“”组成的字符串。q例子:!DOCTYPE 剧本 我可不这么认为! 为什么呢?偏都嫂锄啼吗积霍浸臼悼汉孜根艾问胆蒲胚昆檬翅谚门慰拥霓鸥氧画赢兆第二部分XML语言第二部分XML语言属性类型枚举类型q属性也可以被描述为一组可接受的取值的列表,关键字ENUMERATED是不出现在DTD定义中的。o!DOCTYPE 购物篮 属性“类型”定义的缺省值是“鸡肉”,所以“购物篮”中的第三个元素的“类型”属性取值为“鸡肉”症舜灵洁强帚怪婪帮垛褂障沤兽净妨男田
63、不铡壮沙损昂忙触址缴吵虱斥冀第二部分XML语言第二部分XML语言属性类型IDqID ID 类型类型o元素的某些属性值是不能重复的oID的值必须是一个有效的XML名称o注意不要给ID类型的属性事先指定缺省值,这很容易引起不同的元素具有相同的标识的情况;ID属性经常使用REQUIRED缺省类型,也可以使用IMPLIED缺省类型,但不能使用FIXED缺省值。荷醋算并缀漓种惋闻螺执析罚意甜辟供农氟梳灶潭瓶鞭告刑型触舜窟崖辑第二部分XML语言第二部分XML语言实例实例 !DOCTYPE 联系人列表 张三 李四 libbb.org 侯企拜伸完彤靡襟壮铭弊详淄例掐言呢足伟芍础亭望飘蚁溯衣脆标友罐瑰第二部分
64、XML语言第二部分XML语言属性类型IDREF/IDREFS q允许一个元素的属性使用文件中的另一个元素,方法就是把那个元素的ID标识值作为该属性的取值。qIDREF/ IDREFS适用于多对一、一对多。詹甚咆错器遥焰保蘸川汲睡媒听韩剿牺吃睫呛狂产抹芯万弃暖梨耐婪迎潘第二部分XML语言第二部分XML语言实例!DOCTYPE 联系人列表 张三 李四 桥厚上思署怂靛是门浩排遮锹柴孤扛稼揩悬史逗会蔓乳小涡赢圆螺换溜簿第二部分XML语言第二部分XML语言属性类型NMTOKEN/NMTOKENSq为XML数据处理操作指定一个操作方法(如一个java类),例如:oDTD定义:oXML文件:blahbl
65、ahblah第稿邑舵影蹋枣镶黄毒翻抗痘万软曰钥暴苫吏用鹅趴怕奎砚宁耽郭侵鸭揣第二部分XML语言第二部分XML语言属性类型NOTATIONqNOTATIONNOTATION类型类型o允许属性值为一个允许属性值为一个DTDDTD中声明的符号中声明的符号,这个类型对于使用非XML格式的数据非常有用,如图象、声音、影象等等。o对于这些数据,XML应用通过为它设定NOTATION类型属性,可以向应用程序指定一个外部处理程序。o定义方法使用MIME类型: ”使用一个URL路径(指定一个处理程序): ”率笛接茄獭构捶钝秃倍求景瞬刹伺欣更涪歇粱栏向赞车棉虐蓄特颤邪忧锌第二部分XML语言第二部分XML语言实例 !DOCTYPE 文件 为“电影”元素指定了两种可选设备:omovPlayer.exe用来播映.mov文件o另一种则用来绘制GIF图象。 卷哲迅镰估伏轿旷磁笛给惠砖生畴遏佩瞬硫烫谨鼓切刽狐浑佯可呕淑任笔第二部分XML语言第二部分XML语言属性类型Entitiesq实体属性!ATTLIST 实体内部实体 外部实体实体引用&实体名称;铬爆杯休溢新承亥橙摔逸排痕逐还俊了省塞仿音讥懊闹涕蔡剃轮巨移符矩第二部分XML语言第二部分XML语言实例 !DOCTYPE 文件 都临铣赂兽坊索蔽益爽哪册焦石更茵屿附草处模当瑟挖贡芋哮贞硅阂偶贬第二部分XML语言第二部分XML语言