XML语法- 幻灯片1

上传人:小**** 文档编号:242879724 上传时间:2024-09-10 格式:PPT 页数:40 大小:845.50KB
返回 下载 相关 举报
XML语法- 幻灯片1_第1页
第1页 / 共40页
XML语法- 幻灯片1_第2页
第2页 / 共40页
XML语法- 幻灯片1_第3页
第3页 / 共40页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,XML,语法,目标,章节目标:,通过本章学习,你应该能够:,掌握,XML,的文档结构,包括文档声明、处理指令与注释以及元素与属性的定义,了解,CDATA,段,了解实体及字符数据的引用,引言,任何一门语言都有自己的语法,也即特有的规定性。标记语言,用标记来定界和描述数据,是很多标记集合到一起而形成的一整套语法规则。在,HTML4.0,中有大约,300,个不同的预定义好的标记,而且大多数标记都有自己特定的属性。要控制好,HTML,页面就必须掌握好这些标记及他们的属性的使用,比较困难。,XML,作为一种新兴的标记语言也有自己的语法。虽然,,XML,具有比,HTML,更强大的可扩展性,但它却不是靠繁多的标记和属性,而是允许用户自定义所需要的标记和属性来实现的。用户在编写,XML,文档时只需遵守简单有限的语法规则,而且必须严格遵从这种语法规则,否则编写的,XML,文档将不能被正确的处理。在本章的学习过程中,您将能体会到这种“简单”且“严格”的语法特点。用户在创建自己所需的标记时,也要遵从,XML,中的特定的规则和语法。,XML,文档结构,例2-1,一个简单的,XML,文档。,张三,001,A,公司,zhang,(010)62345678,五街,1234号,北京市,北京,XML,声明,链接可扩展样式表的处理指令,XML,注释,XML,文档中的各元素,XML,文档的声明,XML,文档的声明格式如下:,声明包括以下三部分:,版本声明,编码声明,文档独立性声明,XML,文档的处理指令,处理指令以“,”,结束,包含用于指示传递给哪个应用程序的目标,(,PITarget,),和处理指令信息。即遵循下面的格式:,在例,2-1,中还有另一条处理指令:,“”,结束,表示该行是一条处理指令,包括信息如下:,xml-,stylesheet,表示用于格式化此,xml,文档所使用的样式单文件;,type=“text/,xsl,”,表示所使用的样式单为,xsl,(,可扩展样式表)。,href,=,mystyle.xsl,表明所使用的样式单文件的路径,为与此,XML,文档处于同一目录下的,mystyle.xsl,文件。,XML,文档的注释,同,HTML,中的注释一样,,XML,中的注释也是以“,”,作为定界符,语法如下:,其中,comment text,是注释字符串。,XML1.0,标准中指出,出于对,SGML,的兼容性考虑,注释字符串中不能出现“,-”,(双连字符)。同时,为避免造成结束分隔符的混乱,“,-”,(连字符)也不能出现在注释字符串中。,XML,文档的元素与标记,XML,中的标记同,HTML,中的标记有相似之处。如:,张三,一个标记由以下三部分构成:,标记的起始符:“,” 即,ASCII,码的大于号,用于表示一个标记的结束。,XML,中标记的命名必须符合以下规则:,可以以英文字母、中文文字或下划线(,_,)开头;,后面紧跟有效命名字符,除(,1,)中的内容外,还包括数字、连字符(,-,)和句点(,.,),以及在指定编码集中的合法字符;,名称中不能包含空格,要使用时,可以用连字符(,-,)或下划线(,_,)进行替代;,XML,严格区分大小写,必须保证开始标记和相应结束标记的完全一致;,不能使用“,XML”,、“,xml”、,或以此顺序排列的这三个字母的任何组合(如:,Xml、,xMl,、,xmL,等)开头。,W3C,保留对以这三个字母开头的命名的使用权;,XML,语法中对包含冒号(:)的命名没有进行限制,但在实际应用中,不应该随便包含冒号。因为冒号在命名空间(将在后续章节介绍)中是分隔符,有特殊的含义。,元素的基本形式,XML,元素是由,XML,标记进行定义的。一个元素由起始标记、元素内容和结束标记三个部分组成。一个元素的基本形式如下:,元素内容,例如下面是一个具体的元素:,罗 印,元素内容,元素的内容可以是字符数据、字符引用、实体引用,也可以是其他的元素,也可以既包含字符数据,又包含其他元素,还可以为空。根据元素内容是否为空,可以将元素分为两种:,空元素,非空元素,空元素,空元素是起始标记和结束标记之间的元素内容为空的元素。一般形式如下:,比如,想准确的说明文档中的某些位置,可以加入“,”,,这样的空元素只起说明位置的作用,而不提供容器的功能。所以可以采取一种简略的书写形式,以节省空间。空元素的简写形式如下:,在实际应用中,空元素往往带有属性,以提供更多有用的附加信息。带有属性的空元素形式如下:,非空元素,非空元素即是在起始标记和结束标记之间的元素内容不为空的元素,(,1,)只包含字符数据的元素,元素的内容为纯字符数据,如:,张三,(2,)只包含子元素的元素,元素的内容是由其他元素所构成的,例2-2,非空元素,张三,001,A,公司,(010)62345678,五街,1234号,北京市,北京,张三,001,A,公司,(010)62345678,五街,1234号,北京市,北京,(3,)既包含子元素又包含字符数据的元素,元素的内容既有其他元素,又有字符数据,在模式语言中定义此类元素时可以将其数据类型定义为包含混合内容的复杂类型。如:,张三,001,“,联系人”元素既包含字符数据“张三”,又包含子元素“,ID”。,元素的嵌套,在,XML,中,元素描述了文档的逻辑结构。对于一个稍微复杂点的文档来说,没有元素的嵌套是很难准确的描述出文档结构的。如下面一些并列的元素。,张三,001,A,公司,(010)62345678,要清晰的描述出文档的结构,就需要将这些元素放在另一个元素里,如下所示:,张三,001,A,公司,(010)62345678,李四,002,A,公司,(010)62345678,包含两个元素以上的,XML,文档都是由嵌套元素构成的。,XML,语法规定,一个,XML,文档应该有一个根元素,文档中的其他元素都被包含在这个根元素中 。元素的合理嵌套,清晰的描述出了文档的逻辑结构 。对于元素的嵌套,应该注意以下几点:,(,1,)元素之间必须正确嵌套,一个元素应该包含另一个元素的开始标记、元素内容和结束标记,才能构成嵌套关系。,(,2,)一个,XML,文档有且仅有一个根元素。文档中的其他元素都必须被根元素包含。,XML,属性,在,HTML,属性往往用来帮助标记更加精确的控制内容在网页上的显示方式。,HTML,中的属性同标记一样也是预定义好的。很多标记都有自己特定的属性。要记住所有标记的属性及这些属性的使用有一定的困难。,XML,中的属性往往起提供附加信息的作用,是可以自定义的。很多时候,我们希望给元素提供更多的说明信息,这些信息与元素本身的内容有所不同,不希望这些信息作为元素的内容出现,这时可以将这些信息作为属性附加在元素上。如果说元素可以看作是,XML,中的名词,那么属性就相当于形容词。,属性的基本形式,属性由一个“名称,-,值”对构成,并伴随着元素。一个元素可以有多个属性,多个属性通过空格分隔开,称为属性列表。在元素上使用属性的基本形式如下:,元素内容,或,元素内容,每一个属性都有属性名和属性值,并通过等号(,=,)分隔,属性值必须被包含在引号(双引号或单引号)内。对于空元素,使用形式如下:,或,例如:,1000,属性经常用来定义一个元素的特性,而且不必作为该元素的内容,具备以下两种特征的信息就应该考虑使用属性来表示。,(,1,)与文档有关,但与文档内容无关的简单信息。例如:,“,最近修改日期”这一属性能够说明文档的可靠性,但与联系人内容无关。,(,2,)对文档作者有用,但读者并不关心的信息。例如:,作者要展示一个图片,需要知道图片的大小以便预留空间。但读者并不关心精确的尺寸。,有的时候,有些信息是既可以用元素表示,也可以用属性表示的。例如:,张三,001,A,公司,(010)62345678,也可以表示成:,张三,这样,原来作为元素的,ID、,公司、电话都变成了元素的属性,作为元素的内容就只剩下姓名了。这也是符合,XML,语法规范的,但对读者来说能看到的信息就少了,因为,属性并不作为内容的一部分显示出来。对于既可以用元素表示,也能用属性表的信息,应根据实际需要确定。下面给出三点建议:,(,1,)在将已有文档转换为,XML,文档时,文档的原始数据应全部表示为元素。编写者所增加的一些信息,如对文档内容的说明、注释、文档的背景材料等简单信息,可以表示为属性;,(,2,)在,XML,文档中,希望读者看到的内容,应表示为元素,否则表示为属性;,(,3,)对于某些信息实在不知道如何处理的,就表示为元素。因为元素的处理更灵活。,在使用属性时,还应该特别注意以下几个问题。,(,1,)属性可以出现在元素的开始标记或空标记中,但绝不能出现在结束标记中;,(,2,)属性必须既有名称又有值;,(,3,)属性名称遵守,XML,命名规范,且大小写敏感;,(,4,)属性值中的字符“,”,、“,&”,必须转码。如果属性值包含在双引号中,则属性值中的双引号必须转码,同样,如果属性值包含在单引号中,则属性值中的单引号必须转码;,(,5,)同一个元素中,不能具有两个或以上的同名属性。如下属性的使用是错误的。,张三,属性的命名,属性名称的命名规则遵守,XML,命名规范,与标记名称的命名规则相似。,可以以英文字母、中文文字或下划线(,_,)开头;,后面紧跟有效命名字符,除(,1,)中的内容外,还包括数字、连字符(,-,),和句点(,.,),以及在指定编码集中的合法字符;,名称中不能包含空格,要使用时,可以用连字符(,-,)或下划线(,_,)进行,替代;,名称中含有英文字母时,对大小写敏感;,同一个元素中,属性的名称应各不相同。,属性的值,XML,属性值是用引号来界定的,属性值用引号(双引号或单引号)括起来,一般用双引号。属性值的内容没有严格限制,可以包含空格也可以以数字开头。但要注意的是,属性值中包含有特殊含义的符号时,应考虑考虑将这些字符进行转换。例如,属性值中包含“,”,时,应使用预定义实体(,&,lt,;),或字符数据引用(,)。如果属性值是使用双引号括起来的,属性值本身又包含双引号,则应使用预定义实体(预定义实体将在,2.4,节中介绍),或将属性值改用单引号括起来;同理,如果属性值是使用单引号括起来,属性值本身又包含单引号,则应使用预定义实体,或将属性值改用双引号括起来。,此外,,XML,元素的属性值在被处理的时,都被当作字符串处理,如果需要被当作整数、实数等进行处理,则应该先进行相应的“字符串”到“整数或实数”的处理。如,,中的“,100”,是字符串,而不是整数,100,。,预定义实体与字符数据的引用,在,XML,文档中,元素的文本内容和属性的值可以是任何合法的,Unicode,字符,但有时直接使用字符的文字形式会导致违反,XML,对格式正规的要求。如:,属性值中包含“,”,,单引号()或双引号(”)。因为,“,”,可能被认为是一个元素的开始,而单引号()或双引号(”)可能被认为是属性值的结束。,元素的文本内容中包含“,”,也会导致语法的错误。“,”,在被处理时会被认为是一个新元素的开始,而不会当作该元素的文本内容。,那么要在属性值或元素的文本内容中包含这样的特殊字符,该怎么办呢?,XML,规范提供了字符引用技术和实体引用技术来解决这个问题。,字符引用,在,XML,中,字符引用是一个文字形式的替代品,用来表示一个可显示的字符。它由十进制或十六进制的数字加上“,&#”,或“,&#,x”,后面紧跟分号(,;,)组成。格式如下:,&#,charNumber,;,其中,charNumber,为十进制数;,&#,xcharNumber,;,其中,charNumber,为十六进制数;,上面的,charNumber,可能是一个或多个数字,下面是一些常用的字符引用:,回车符,换行符,制表符,空格符, , , ,例如,要在,XML,中显示如下内容:,if ab and bc then ac,,则相应的,XML,文档应写成:,if ac,如果将,XML,文档写成如下形式,则会出错。,if ab and bc then ac,实体引用,实体引用允许在元素内容或属性值中插入任何字符串,这就为字符引用提供了一种助记的替代方式。,实体引用的格式如下:,&,name;,其中,name,是一个合法的,XML,名称。,在,XML,中,已经有五个预定好的实体,这些实体可以直接引用,XML,中五个预定义实体,实 体,用 途,通常用来替换字符,&,(除了在,C D ATA,部分中),&,lt,;,通常用来替换字符小于号(,)(在,C D ATA,部分中,如果,紧跟着字符串“, ,”,就必须使用该实体),&,apos,;,可用来替换字符串中的单引号(,),&,quot,;,可用来替换字符串中的字符双引号(,),除了五个预定义实体外,所有实体都必须先定义后才能进行引用。如果,XML,解析器发现一个未定义的实体引用,就会按照,XML,规范定义的那样报告一个致命错误。,要在,XML,中显示如下内容:,if ab and bc then ac,,除了使用字符引用外,也可以使用实体引用,如下:,if,ab,and,bc,then,ac,实体引用还可以用作普通的样本文件。例如下面的文本包含了一对实体引用:,党的十七大报告提出:,&,science;,核心是,&,people;,。,假设已经定义了,science,和,people,两个实体,分别代表“科学发展观”和“以人为本”则当引用被替换成它们所代表的值时,将显示为:,党的十七大报告提出:科学发展观 核心是以人为本。,CDATA,段,CDATA,段是一种用来包含文本的方法,其对象是那些其中的字符如果不如此处理就会被识别为标记的文本。这项特性对于希望在自己的文档中包含特殊标记的使用举例的作者来说是最有用的。例如,要在,XML,文档中包含如下代码:, HTML,代码示例,这是一个简单的网页,可以利用前面介绍的字符引用和实体引用技术,将上面代码中的标记符号替换成相应的字符引用和实体引用。但由于要替换的部分较多,要一一准确替换比较麻烦。如果用,CDATA,段,那就容易了。,CDATA,段的使用格式如下:,将前面的网页代码包含在,XML,文档中,就可以写成下面的形式:,!,CDATA, HTML,代码示例,这是一个简单的网页,只要有字符数据出现的地方就可能出现,CDATA,段,但它们不能够嵌套。在,CDATA,段中唯一能够被识别的标记字符串就是它的结束分隔符(“),”,)。也就是说在,CDATA,段中不能包含“,”,,因为“,”,会被认为是,CDATA,段的结束。,既然,CDATA,段和实体引用(或字符引用)都能实现相同的功能,那么在具体应用是该如何选择呢?下面给出几点建议。,如果文本内容中的特殊字符较多,例如是,XML,或,HTML,等标记语言的代码,或者格式及可读性要求较高,例如一般的程序源代码,这时比较推荐使用,CDATA,段。,如果特殊字符较少,或者有可能需要做一些特殊处理,例如要做,XSLT,转换,这时比较推荐使用实体引用或字符引用。,XML,文档类型,XML,文档可以分为三种类型:,1,、格式良好的(,Well-formed)XML,文档(或者说是格式正规的,XML,文档)。,所有遵守,XML,语法规范的数据对象(文档)都是格式良好的,XML,文档。这类文档在使用时可以不使用,DTD,或模式(,Schema),来描述它们的结构,它们也被称作独立的,XML,文档。,2,、有效(,Validate),的,XML,文档。,这类,XML,文档不仅要遵守,XML,语法规范,同时也要遵守与之相关联的,DTD,或,XML Schema,中定义的相关规则。,3,、无效的,XML,文档。,这类文档可能没有遵守,XML,语法规则,也可能没有遵守与之相关联的,DTD,或,XML Schema,中定义的相关规则。,要注意的是格式良好的,XML,文档不一定是有效的;有效的,XML,文档一定是格式良好的。无效的,XML,文档可能是没有遵守,XML,语法规范,也可能遵守了,XML,的语法规范,但不遵守,DTD,或,XML Schema,中的规则。,小结,本章介绍了:,XML,的文档结构,XML,元素及属性的使用,实体引用和字符数据引用及,CDATA,段的使用,XML,的文档类型,作业,建立一个有关学生信息的,XML,文档,具体要求:,1,、文档根元素为“学生列表”;,2,、“学生列表”元素包含至少,5,个“学生”元素;,3,、每个“学生”都包含“学号”,“姓名”,“性别”,“年龄”,“电话”等信息。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!