加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML

发布时间:2020-12-16 00:13:50 所属栏目:百科 来源:网络整理
导读:一、xml文件的语法 1 文档声明 ?xml version="1.0" 指明XML文件的版本号,XML解析器就会采用对应的版本进行解析 encoding="UTF-8" 指明XML文件中的中文采用UTF-8编码,在IDE工具中,指明该文件的保存编码方式? standalone="yes或no" 指明XML文件需要初其它文

一、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"+对应的符号编码就可以在页面显示出相应的符号
&#x2605;

(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">
……
&copyright;

参数实体被 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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读