一、xml文件的语法 1 文档声明 <?xml version="1.0" 指明XML文件的版本号,XML解析器就会采用对应的版本进行解析 encoding="UTF-8" 指明XML文件中的中文采用UTF-8编码,在IDE工具中,指明该文件的保存编码方式? standalone="yes或no" 指明XML文件需要初其它文件DTD约束的话,就是no,如果单独的XML文件,就是yes> 各浏览器中的XML解析器只对XML文件的语法检测
文档声明以"<?xml" 开头,中间不能有空格,以"?>"结束,中间也不能有空格
注意:保存XML文件时,一定要确保XML文件保存的编码和encoding声明的编码方式一致或兼容
2 元素 (1) 通常元素都有开始和结束标签,但也可以使用空标签,即<a></a>=<a/> (2) XML中标签嵌入顺序必须一致,且字符大小写敏感
(3) 程序会将标签内的空白字符当作有效字符对待
3 属性(附加信息的描述) (1) 当一个事务必须与对象绑定在一起,没有该对象,该事务就没有意义,此时该事务就应成为对象的属性。
(2) 一个XML元素可以包含字母、数字及其他的一些可见字符,但必须遵守以下规范:
· 区分大小写,例如,<P>和<p>是两个不同的标签
· 不能以数字或"_"(下划线)开头
· 不能以xml(或XML、或Xml等)开头
· 不能包含空格
· 名称中间不能包含冒号
· 可以使用中文字符
4 CDATA区 、特殊字符 (1)Character Data(字符数据区/段) (2)CDATA段中的数据不会被XML解析器所解析 (3)不能嵌套使用 (4)XML内置5种转义字符
lt:less than的缩写
gt:greater than 的缩写 (5) 其它字符:在电脑的附件 -> 系统工具 -> 字符映射表中可以找到相应的符号,然后"&#x"+对应的符号编码就可以在页面显示出相应的符号 ★
(6) 处理指令(processing instruction),简称PI。处理指令用来指挥XML解析引擎如何解析XML文档内容 1) 可以使用CSS装饰XML文件中的内容 2)CSS目前版本只能支持英文标签
二、XML约束
1、XML DTD(Document Type Definition),全称为文档类型定义(扩展名.dtd)。
1)DTD是XML文件的约束 2)浏览器对XML和DTD进行语法的检测,但是浏览器不会检测XML是否符合DTD规则 3) XML引用DTD有二种方式: a) SYSTEM:个人或组织,小范围内使用 b) PUBLIC:大范围内使用,例如:struts框架。。。
XML文件:
DTD文件:
也可以两个文件写一块,但是这样的弊端就是两个文件耦合了
4) EMPTY:用于定义空元素 ANY:表示元素内容为任意内容 项目中尽量使用EMPTY少用ANY 5) 在DTD中,必须将所有的标签全部都声明完才行 6) 在DTD中,定义元素时,可以使用如下符号: a) 用逗号分隔,表示内容的出现顺序必须与声明时一致。 b) 用|分隔,表示任选其一,即多个只能出现一个 c)+ :有且只能出现1次或N次 d)* :有且只能出现0次或N次 e)? :有且只能出现0次或1次 f)无:有且只能出现1次 7) DTD属性的设置值情况有四种: a) #REQURIED:该属性必须出现 b) #IMPLIED:该属性可有可无 c) #FIXED "固定值":该属性可有可无,如果有的话,必须是"固定值" d) "默认值":该属性可有可无,如果没有的话,用默认值补充,如果有的话,用新值替代旧值
8) 常见的属性值类型
CDATA:表示属性值为普通文本字符串。注意这里是用在属性上,而如果是用在元素上是用"#CDATA" ENUMERATED :在 XML 文件中设置的属性值只能是这个列表中的某个值(枚举)(这里不是关键字)
ID:唯一标识符。只能由字母,下划线开始,不能出现空白字符[ 第 7) 点图中就有ID属性] ENTITY(实体):实体可分为两种类型:引用实体和参数实体。实体用于为一段内容创建一个别名,以后在XML文档中就可以使用别名引用这段内容了。
在DTD定义中,一条<!ENTITY …>语句用于定义一个实体。引用实体主要在 XML 文档中被应用 语法格式:<!ENTITY 实体名称 “实体内容” >:直接转变成实体内容 引用方式:&实体名称; 举例:<!ENTITY copyright “I am a programmer"> …… ©right;
参数实体被 DTD 文件自身使用 语法格式:<!ENTITY % 实体名称 "实体内容" > 引用方式:%实体名称; 需要使用外部实体。 举例1:<!ENTITY % TAG_NAMES "姓名 | EMAIL | 电话 | 地址"> <!ELEMENT 个人信息 (%TAG_NAMES; | 生日)> <!ELEMENT 客户信息 (%TAG_NAMES; | 公司名)> 举例2:<!ENTITY % common.attributes " id ID #IMPLIED account CDATA #REQUIRED "> ... <!ATTLIST purchaSEOrder %common.attributes;> <!ATTLIST item %common.attributes;>
2、XML Schema(扩展名.xsd) (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|