版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XML基础,第2章 XML语法,2,没有规矩,不成方圆 XML语法,什么是“形式良好的”XML文件 XML文件的逻辑结构 XML文件的整体结构 用XML声明作为开头 XML文件的精髓XML元素 XML元素 字符数据 标记 CDATA 注释 处理指示 XML文件的物理结构 实体 实体的两种类型 实体的使用方式,3,什么是“形式良好的”XML文件,XML是一个元标记语言,可以看作是用来产生标记语言的工具。因此,XML并没有预定义一个特定的标记集,而是描述了一个用来定义标记集的方法。当我们用这个方法规定好一个标记集,并根据这些规定填入文本内容后,这些标记就和纯文本一起构成了一个XML文件。 XML文
2、件实际上是广义的文件,更准确的叫法应该是一个“数据对象”,但是为了简便起见,我们仍称它为“文件”。 在XML中,“形式良好”(well-formed)有着明确的标准,即是要遵守XML1.0规范中的语法规则。无论是从物理结构上讲,还是从逻辑结构上讲,XML都必须符合规范,才能被正确解释处理。 XML创建之初的目标就是希望XML文件既容易被人阅读,又容易被机器理解。所以,确保你的文件是“形式良好的”,这是一个最低标准,符合了这个标准,就能保证连最笨的机器也能阅读你的XML文件了。保证了XML严密的条理性、逻辑性和良好的结构性,XML的优点也正是依靠它们体现出来的。,4,没有规矩,不成方圆 XML语
3、法,什么是“形式良好的”XML文件 XML文件的逻辑结构 XML文件的整体结构 用XML声明作为开头 XML文件的精髓XML元素 XML元素 字符数据 标记 CDATA 注释 处理指示 XML文件的物理结构 实体 实体的两种类型 实体的使用方式,5,XML文件的逻辑结构 XML的整体结构,1 2 3 4 5 XML 6 XML是一种可扩展的源标记语言,它可用以规定新的标记规则,并根据这个规则组织数据7 8 9 11 张三12 13 14 15 16 17,XML文件最基本的构成 XML声明:1 处理指示(可选): 2 XML元素:317 标记: e.g. 5 字符数据:e.g. 5 “XML”
4、 CDATA: 914 注释:8,6,XML文件的逻辑结构 用XML声明作为开头,当写一个XML文件时,最好以一个XML声明作为开始。XML声明在文件中是可选内容,但W3C推荐加入这一行声明。因此,作为一个良好的习惯,我们通常把XML声明作为XML文件的第一行。 XML声明是处理指示的一种。它的作用就是告诉XML处理程序:“下面这个文件是按照XML文件的标准对数据进行标记的”。 一个完整的XML声明是: XML声明由“”结束。在“?”后面紧跟着处理指示的名称 “xml”。,7,XML文件的逻辑结构 用XML声明作为开头(cont.), 三个属性 version属性 在一个XML的处理指示中必须
5、包括version属性指明所采用的XML的版本号,而且,它必须在属性列表中排在第一位。当前的XML最新版本是1.0. standalone属性 (可选) 这个属性表明该XML文件是否和一个独立的标记声明文件配套使用。因此,如果该属性置为“yes”,说明没有另外一个配套的DTD文件来进行标记声明。相反,如果这个属性置为“no”,则有可能有这样一个文件。 encoding属性 (可选) 所有的XML语法分析器都要支持8位和16位的编码标准。 几个常见的编码: 简体中文码(GB2312)、繁体中文码(BIG5)、(UTF-8),8,XML文件的逻辑结构 XML元素,元素的形式:数据内容 元素中还可以
6、再嵌套别的元素 所有的XML文件都至少包含一个形式良好的根元素。根元素,又称为文件标记,紧跟在XML声明之后,如果该XML文件中还内嵌了DTD,则这个根标记紧跟在DTD之后。根标记必须是一个非空的标记,其中包含了整个文件的数据内容。 XML中开始和结束标记之间的文字称作“字符数据”,而把标记内的标示文字称作“标记”。,9,XML文件的逻辑结构 字符数据,一对标记之间出现的字符数据可以是任何合法的UNICODE字符 为了避免把字符数据和标记中需要用到的一些特殊符号相混淆,XML还提供了一些有用的实体引用。当在字符数据中需要使用这些特殊符号时,我们采用它的实体引用来代替。 在“示例”这个标记中出现
7、文本:“张三” 示例,10,XML文件的逻辑结构 标记,XML的标记和HTML的标记在模样上大体相同,除了注释和CDATA部分以外,所有符号“”和符号“”之间的内容都称为标记。其基本形式为: 标记名 (属性名=“属性取值”)* XML对于标记的语法规定比HTML要严格得多 标记必不可少 大小写有所区分 要有正确的结束标记。 结束标记除了要和开始标记在拼写和大小写上完全相同,还必须在前面加上一个斜杠“/”。如果开始标记是HELLO,结束标记应该写作/HELLO。 当一对标记之间没有任何文本内容时,可以不写结束标记,而在开始标记的最后惯以斜杠“/”来确认。这样的标记称为“空标记”。如: 标记要正确
8、嵌套,11,XML文件的逻辑结构 标记(cont.),标记命名要合法 标记应该以字母、下划线“_”或冒号“:”开头,后面跟字母、数字、句号“.”、冒号、下划线或连字符“-”,但是中间不能有空格,而且任何标记不能以“xml”起始。另外,最好不要在标记的开头使用冒号,尽管它是合法的,但可能会带来混淆。 在XML1.0标准中允许使用任何长度的标记,不过,现实中的XML处理程序可能会要求标记的长度限制在一定范围内。 有效使用属性 标记中可以包含任意多个属性。在标记中,属性以名称/取值对出现,属性名不能重复,名称与取值之间用等号“=”分隔,且取值用引号引起来。 如: 属性命名的规范与标记命名规范大体相似
9、,需要注意有效字母、大小写等一系列问题。不过,在必要的时候,属性中也可以包含空白符,标点和实体引用。需要特别注意的是,在XML中属性的取值必须用引号引起来,但在HTML中这一点并不严格要求。 属性的所有赋值都被看作是字符串。如: 圆柱体 半径=“10” 高=“13”程序应该能够把字符串“10”和“13”转化为它们所代表的数字。,12,XML文件的逻辑结构 CDATA,在一个特殊的标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当作字符数据看待。CDATA的形式如下: !CDATA 文本内容 CDATA的文本内容中是不能出现字符串“”,当你的文本数据中包含大量特殊符号
10、时,你不得不通篇地使用实体引用,把本来很清晰的一段文字搞得乱七八糟。 ,为了避免这种不便,你可以把这些字符数据放在一个CDATA数据块中,这样不管它看上去是一个标记还是一个实体引用,这些数据统统被当作字符照单全收。 张三 ,13,XML文件的逻辑结构 注释,在HTML中,注释是用“!-”和“-”引起来的。在XML中,注释的方法完全相同。如: XML处理器对于注释中的一切内容都会视而不见,注释中出现的标记也一同被忽略。 在XML文件中使用注释时,同样要遵守几个规则 在注释文本中不能出现字符字符串“-” 不要把注释文本放在标记之中,否则,它就不是一个“形式良好的”XML文件了。类似地,不要把注释文
11、本放在实体声明中,也不要放在XML声明之前。 注释不能被嵌套。,14,XML文件的逻辑结构 处理指示,处理指示是用来给处理XML文件的应用程序提供信息的。也就是说,XML分析器可能对它并不感兴趣,而把这些信息原封不动地传给XML应用程序。然后,这个应用程序来解释这个指示,遵照它所提供的信息进行处理,或者再把它原封不动地传给下一个应用程序。正如我们前面看到的,XML声明就是一个处理指示。 所有的处理指示应该遵循下面的格式: ?处理指示名 处理指示信息? 一个处理指示来指定与这个XML文件配套使用的样式单的类型及文件名: ,15,没有规矩,不成方圆 XML语法,什么是“形式良好的”XML文件 XM
12、L文件的逻辑结构 XML文件的整体结构 用XML声明作为开头 XML文件的精髓XML元素 XML元素 字符数据 标记 CDATA 注释 处理指示 XML文件的物理结构 实体 实体的两种类型 实体的使用方式,2002-8-16,16,XML文件的物理结构 实体,从物理结构上讲,XML文件归根结底是由一组“实体”构成的。 实体充当着和别名类似的角色。即,一个简单的实体名称可以用来代表一大段文本内容。象任何计算机别名系统一样,实体引用简化了你的录入工作,因为每当你要使用那一大段文本时,你只须使用它的别名就可以了,处理器会自动为你把这个别名替换为相应的文本。 所有的XML文件都包含了一个“根实体”,又
13、称作“文件实体”。这个实体是由XML本身给出的,无须显式定义就可以使用,它指的其实就是整个文件的内容。,假如你为你的信件署名定义了一个实体lettersign,它代表下面这一大段文本: 张三 某网络公司销售部门 北京市海淀区中关村88号,100000,信件 收件人李四/收件人 主题hello/主题 正文hello!&lettersign ;/正文/信件,17,XML文件的物理结构 实体的两种类型,一般实体 定义一般实体的格式 !ENTITY 实体名 “文本内容” 也可以指定一个实体代替一个外部文件的内容,此时要使用SYSTEM这个关键字。 参数实体 参数实体既可以是内部的也可以是外部的。不过,
14、参数实体只用在DTD中。参数实体的格式与一般实体很类似,只不过中间要加上“%”符。 !ENTITY % 实体名 文本内容,!ENTITY lettersign张三某网络公司销售部门北京市海淀区中关村88号,100000,!ENTITY lettersignSYSTEM ,18,XML文件的物理结构 实体的使用方式,实体声明 对于实体的声明应该放在文件类型DOCTYPE中。DOCTYPE一般放在文件头(即XML声明和DTD)之后,XML元素之前。 实体引用 一般实体 &实体名; 参数实体 %实体名;,实体引用的几点规则 在引用XML实体之前,必须已经在XML文件中对此实体进行过声明; 在实体引用中不能出现空格。也就是说,的用法都会引起错误。 尽管在一个实体中可以再引用其它实体,但是不能出现循环引用。也就是说,一个实体不能引用它自己;同样,也不能出现实体A引用实体B,然后实体B再反过来引用实体A的情况。 实体引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西省上饶市“山江湖”协作体2026届高三英语第一学期期末考试模拟试题含解析
- 北京市西城区41中2026届高二生物第一学期期末学业水平测试模拟试题含解析
- 医疗数据区块链共享的动态定价模型
- 医疗数据共享平台的安全:区块链身份认证
- 医疗数据主权与医疗AI数据安全
- 科学护眼关爱老人
- 2026 年中职航海捕捞(渔网作业规范)试题及答案
- 医疗废物处理风险与合规管理策略
- 浙江 公务员 考试试题及答案
- 未来五年地震前兆观测服务企业县域市场拓展与下沉战略分析研究报告
- 二十届四中全会测试题及参考答案
- ISO9001-2026质量管理体系中英文版标准条款全文
- 国开(四川)2025年《数字与图像处理》形考作业1-2终考答案
- 2025及未来5年中国水电解氢氧发生器市场调查、数据监测研究报告
- 普通话拼音发音技巧大全
- 2024-2025学年山东省威海市文登区八年级(上)期末数学试卷(五四学制)(含部分答案)
- 创业孵化基地课件
- 2025液化石油气站年度安全教育培训计划及考试试题(含答案)
- 2025年标准广东省食品安全员试题及答案
- 医疗物资(血液制品)低空无人飞行器运输技术
- 三年级上册语文1-8单元习作范文暑假预习
评论
0/150
提交评论