




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XML基础XML简介XML代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)。XML 被设计用来传输和存储数据。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。 XML特点 标记需要自己去创建!一个最大的特殊处(与HTML不同处),它可以创建标签,包括使用中文标签 语法更严格!标签必需成对嵌套,并且属性必须有属性值,属性值也必须包含在引号中 XML仅仅用来存储数据,不包含与数据显示相关的样式信息(这部分信息可以通过CSS等语言来传递),XML是具有语义的 书写XML一个完整的XML必须包含XML声明与一个文档根元素!XML声明必须包含版本信息,文档根元素可以是空元素,但一个XML文档只能有一个根元素!注意:XML目前存在1.0与1.1两个版本,但浏览器只支持1.0版. XML声明的version属性是必须的. XML声明之前不能有任何东西,比如空格及注释(XML注释和HTML注释是一样的).XML文档只能且必须包含一个根元素,当元素是空元素时需要闭合 XML声明还有其它两个属性:standalone与encoding.encoding属性用来指明XML文档所使用的字符编码,如指定为gbk或gb2312则可以使用中文本,standalone属性指明XML文档是否独立不依赖于外部文档,默认值是yes,当使用外部XML DTD时需要将这个属性设为no格式良好的XML与有效的XML格式良好的XML(Well-formed XML)是指文档格式符合XML语法规范的XML,解释器在解释一个Not Well-formed XML的时会出现错误而停止!一个遵守XML语法规则,并遵守相应DTD文件规范的XML文档称为有效的XML文档(Valid XML)。注意我们比较Well-formed XML和Valid XML,它们最大的差别在于一个完全遵守XML规范,一个则有自己的文件类型定义(DTD)。 将XML文档和它的DTD文件进行比较分析,看是否符合DTD规则的过程叫validation(确认)。这样的过程通常我们是通过一个名为parser的软件来处理的。 DTD文档类型定义(Document Type Definition)由于XML可以自定义标签,那么自然各人编写的标签不一样,这样同步数据便成了问题,因为其它人不知道某个标签应该怎么用,表示什么意思.DTD就是为了解决此问题的!DTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。DTD分为内部DTD与外部DTD,内部DTD包含在XML文档中,外部DTD则通过URL引用.一个DTD文件是以.dtd结尾的文本文件在XML中引入DTD DOCTYPE 文档类型声明内部DTD,可以将standalone设置成yes.!DOCTYPE root 外部DTD,需要将standalone设成noDOCTYPE分析DTD声明始终以!DOCTYPE开头,空一格后跟着文档根元素的名称,如果是内部DTD,则再空一格出现,在中括号中是文档类型定义的内容. 而对于外部DTD,则又分为私有DTD与公共DTD,私有DTD使用SYSTEM表示,接着是外部DTD的URL. 而公共DTD则使用PUBLIC,接着是DTD公共名称,接着是DTD的URL.下面是一些示例 公共DTD,DTD名称格式为注册/组织/类型 标签/语言,注册指示组织是否由国际标准化组织(ISO)注册,+表示是,-表示不是.组织即组织名称,如:W3C; 类型一般是DTD,标签是指定公开文本描述,即对所引用的公开文本的唯一描述性名称,后面可附带版本号。最后语言是DTD语言的ISO 639语言标识符,如:EN表示英文,ZH表示中文,在下面的地址有完整的ISO 639语言标识符列表/pub/ietf/http/related/iso639.txt 下面是XHTML 1.0 Transitional的DTD.以!DOCTYPE开始,html是文档根元素名称,PUBLIC表示是公共DTD,后面是DTD名称,以-开头表示是非ISO组织 组织名称是W3C,EN表示DTD语言是英语,最后是DTD的URL 注意:虽然DTD的文件URL可以使用相对URL也可以使用绝对URL,但推荐标准是使用绝对URL.另一方面,对于公共DTD,如果解释器能够识别其名称,则不去查看URL上的DTD文件 开始编写DTDXML 文档构建模块所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成: 元素 , 元素即所说的自定义标签,它是 XML 以及 HTML 文档的主要构建模块。 属性 , 属性可提供有关元素的额外信息。属性总是被置于某元素的开始标签中。属性总是以名称/值的形式成对出现的。 实体 , 实体是用来定义普通文本的变量。实体引用是对实体的引用。如HTML文档中的 即是一个实体引用当文档被 XML 解析器解析时,实体就会被展开。 PCDATA , PCDATA 的意思是被解析的字符数据(parsed character data)。可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。PDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。文本中的标签会被当作标记来处理,而实体会被展开。不过,被解析的字符数据不应当包含任何&、 字符;需要使用 &、< 以及 > 实体来分别替换它们。 CDATA , CDATA 的意思是字符数据(character data)。CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。 CDATAPCDATA是指会被解析的字符串,这解析是指将其中的实体引用换成对应的实体内容.也就是说,一般的XML中的文本节点都是PCDATA,当这些文本中要包含一些XML特殊字符时,需要使用实体引用,当这些字符很少时,使用实体引用还不是很麻烦,而当特殊字符很多时,则需要使用CDATA,即不解析字符串. CDATA 区段开始于 ,CDATA段中可以包含除CDATA限定符之外的任何字符 元素声明元素声明使用或的语法 /EMPTY关键字表示元素是个空元素 /ANY关键字表示元素中可以出现任何内容,也可以为空/下面这个声明表示root中可以有文本,也可以是空 /()表示一个分组,其中是放的允许在元素出现的内容,#PCDATA表示文本 /child是子元素的名称,这个声明表示root中必须且只能有一个child元素 /以逗号分隔,表示子元素依次出现 /竖线与OR的意思相近,表示root元素中只能出现child1或child2 /root中child子元素可以出现一次,也可以不出现 /root中child子元素至少出现一次 /root中child子元素可以出现任意次数或不出现 /()还可以嵌套,这里表示root元素中第一次子元素必须是child/紧接着是a或b /*,?,+这些量词可作用于分组,这里表示root元素中第一次子元素必须是child/紧接着是a或b出现一次或多次属性声明属性声明使用的语法.示例如下:上面的属性声明表示:元素input的type属性值是文本,默认值是text;以下是属性类型表类型描述CDATA值为字符数据 (character data)(en1|en2|.)此值是枚举列表中的一个值ID值为唯一的 idIDREF值为另外一个元素的 idIDREFS值为其他 id 的列表NMTOKEN值为合法的 XML 名称NMTOKENS值为合法的 XML 名称的列表ENTITY值是一个实体ENTITIES值是一个实体列表NOTATION此值是符号的名称xml:值是一个预定义的 XML 值默认值参数可以使用下列值值解释值属性的默认值.该属性可以出现,也可以不出现,当没有明确指定该属性时,属性值使用默认值#REQUIRED属性值是必需的#IMPLIED属性不是必需的,可以出现,可以不出现#FIXED value属性值是固定的.属性可有可无,但有的时候,其值必须是value /img元素的src属性是必须的,值为字符串 /script元素的type属性默认值是text/javascript /div元素的id属性是唯一的ID标识,可有可无 /input元素的type属性是三个值中的一个,默认值是text /label元素的for属性是页面中另一个元素的ID实体声明一般实体实体是用于定义用于定义引用普通文本或特殊字符的快捷方式的变量。实体引用是对实体的引用。实体可在内部或外部进行声明。一个内部实体是以的形式声明的,一个外部私有实体是以格式声明 ,一个外部公共实体是以 ,其中公共实体名称和DOCTYPE中的公共DTD名称格式是一样的. 一个实体引用是&实体名称;格式/实体定义 /内部实体 /外部私有实体 /外部公共实体/实体引用&abc;参数实体参数实体是只在DTD中使用的实体(并且参数实体只能在外部DTD中声明),它的声明语法与一般实体不同处在于其要在实体名称前加个百分号,而引用时则使用%实体名称;的形式/这句将声明元素root,具有一个子元素childXML 命名空间XML 命名空间可提供避免元素命名冲突的方法。由于 XML 中的元素名是预定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。命名空间其实就是给这些标签名加个前缀!现在,root下仍然是两个template元素,它们的节点名称仍然是template,但是它们的意义不一样了,因为它们使用了不同的前缀!但是XML命名空间前缀需要声明才可以使用,如果不声明,则被视为元素名称的一部分! XML 命名空间属性被放置于某个元素的开始标签之中,并使用以下的语法:xmlns:namespace-prefix=namespaceURI . 当一个命名空间被定义在某个元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。 注意,用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中家长会课件光荣榜
- 员工离职交接管理流程
- 现代农业企业学徒制联合培养项目协议
- 离婚协议中关于子女居住环境改善补充协议
- 按揭房屋买卖合同贷款还款期间权益及义务协议
- 离婚协议中关于保险理赔及受益人变更的合同
- 餐饮经营场地租赁及品牌授权合同
- 行政合同纠纷解决途径与行政争议化解机制
- 髋部骨折相关课件
- 骨髓造血知识培训课件
- 粮油作物种植与管理作业指导书
- 《三角函数的诱导公式(第1课时)》导学案2
- 全国赛课一等奖2024版新教材统编版七年级历史上册《中华文明的起源》课件
- IT项目经理招聘笔试题及解答2025年
- GB/T 22838.5-2024卷烟和滤棒物理性能的测定第5部分:卷烟吸阻和滤棒压降
- 江苏省镇江市2024-2025学年高三上学期期初考试数学试卷(解析版)
- 全国职业院校技能大赛高职组(供应链管理赛项)备赛试题库(含答案)
- JT叔叔医道课1-50集完整稿
- 部编版五年级道德与法治上册第3课《主动拒绝烟酒与毒品》精美课件(第3课时)
- JB-T 8881-2020 滚动轴承 渗碳轴承钢零件 热处理技术条件
- 2024年四川省水电投资经营集团普格电力有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论