XML学习笔记
xml语法规范1、在Xml中关键字不能打出,所以要用特点的字符来表示显示 2、任何xml必须具备文档声明 <?xml version="1.0" ?> 3、HTML 会把多个连续的空格字符裁减为一个: 4、在 XML 中,文档中的空格不会被删节。 例如 <test> 1 <test> 和<test>1<test>是不一样的 5、当声明standalone = "yes" 该xml是独立xml 不依赖外面其它文件,standalone = "no" 该xml 依赖外部一些文件 6、所有xml元素必须结束 <abc></abc>----- 在xml 文件中如果标签中没有内容 自结束 <abc /> 7、标签不允许交叉嵌套 8、有且仅有一个根元素 9、xml文件中 空格和换行 会被解析器进行解析的 10、严格区分大小写,元素和属性名称不能以数字开始 xml命名规则1、名称可以含字母、数字以及其他的字符 2、名称不能以数字或者标点符号开始 3、名称不能以字符 “xml”(或者 XML、Xml)开始 4、名称不能包含空格 5、可使用任何名称,没有保留的字词。 最佳命名习惯1、使名称具有描述性。使用下划线的名称。 2、名称应当比较简短,例如:<book_title>,而不是:<the_title_of_the_book>。 3、避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。 4、避免 "." 字符。如果按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。 5、避免 ":" 字符。冒号会被转换为命名空间来使用。 6、XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。7、非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题 约束DTD关联方法DTD与xml关联三种方式 1、内部DTD ----- 语法 <!DOCTYPE 根元素 []> 2、外部DTD (引用本地DTD) ----- 语法 <!DOCTYPE 根元素 SYSTEM "本地DTD文件位置" > 3、公共DTD (引用网络上DTD)<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">* 公共DTD 使用名称 W3C规范官方组织规定的 DTD约束语法(dtd工程dtd文件夹)ELEMENT定义* 内容特点符合含义 () 子元素、分组 ,代表子元素顺序 + * ? ---- 正则表达式 + 1到多个 、* 任意个(0到多个)、 ? 0或者1个 | 多选一 <!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)> ATTLIST定义<!ATTLIST 元素名称 属性列表 > 属性列表: 属性名称 类型 约束 约束 1、#REQUIERD 属性必须 2、#IMPLIED 属性可选 3、fixed value 属性值固定 4、default 默认值 <!ELEMENTsquare EMPTY> <!ATTLIST square width CDATA "0"> ENTITY定义对于xml数据内容重复,可以抽取实体 语法:<!ENTITY 实体名称 "实体内容" > 调用:&实体名称; <!ENTITYAUTHOR "John Doe"> <!ENTITYCOMPANY "JD Power Tools,Inc."> <!ENTITYEMAIL "jd@jd-tools.com"> Schema约束语法(dtd工程Schema文件夹)Schema具体介绍1、Schema 使用一套预先定义好的元素和属性开发的 2、Schema本身也是xml ,不像DTD使用单独语法 3、Schema 功能比DTD强大,但是麻烦 4、将Schema中定义元素,绑定URI地址(名称空间)上,用来唯一标识元素来自。 5、名称空间,一个xml实例引用多个Schema ,当两个schema定义同名元素,为了区分同名元素引用自哪个文档。 Schema使用方法1、编写数据xml文件 2、编写schema文件 .xsd 1)引入 W3C 名称空间 xmlns="http://www.w3.org/2001/XMLSchema" 每一个元素 对应 <element> 区分复杂元素和简单元素 2) 为schema定义元素指定名称空间 URI (URI可以是任何路径) 3、在xml实例数据文件中 ,引用自定义Schema 4、如果schema 将 elementFormDefault="unqualified",xml 实例文档 引用名称空间必须使用前缀 ---- 前缀修饰根元素 5、当前xml实例文档所有子元素必须不能用前缀 6、名称空间的作用唯一标识schema当中定义元素 简单元素 直接编写type属性、复杂元素 <complexType> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |