今天学习了一些xml相关知识,现将其分享出来,留作笔记,以备日后查看。
xml可扩展标记语言
XML与HTML区别
1、HTML用来显示数据,XML描述数据性质和结构
2、HTML不区分大小写,XML严格区分
3、HTML可有多个根元素,XML只能有一个
4、XML属性值必须用引号
xml语法结构:xml文档声明;<?xml version="1.0"encoding="utf-8"standalone="yes"?>
必须在第一行第一列encoding默认utf-8 xml文档中含有中文字符必须用gb2312standalone独立文档声明 默认no元素<a></a> 空元素</a>属性
只能出现在开始标签中
属性值必须用引号
注释<!-- -->字符串-不能出现在注释中注释不能嵌套使用
注释不能出现在标记中
转义字符和CDATA段特殊字符< <> >" "' '& &CDATA段 character data 字符数据<![CDATA[ ]]>注意大小写
约束
DTD约束
例
<!ELEMENT 书架(书+)><!ELEMENT...>定义元素 元素名书架 (书+)元素中含有多个书元素
<!ELEMENT 书(书名,作者,售价)>(书名,作者,售价)子元素,按顺序出现
<!ELEMENT 书名(#PCDATA)>(#PCDATA)表普通文本字符串
<!ELEMENT作者(#PCDATA)>
<!ELEMENT 售价(#PCDATA)>
DTD文件引入
<!DOCTYPE 根元素名称 SYSTEM "DTD文件URL">本地DTD文件
<!DOCTYPE 根元素名称 PUBLIC "DTD名称" "DTD文件URL">公共DTD文件
元素内容
(1)#PCDATA普通文本字符串
(2)()子元素
(3)混合内容 例<!ELEMENT 书(#PCDATA|书名)*>
(4)EMPTY 例 <!ELEMENT br EMPTY>
(5)ANY
定义元素时,元素内容中可以包含一些符号
?表该对象可以出现0或1次
*表该对象可以出现0或多次
+表该对象可以出现1或多次
|表该对象中选择一个
,表对象必须按照指定顺序出现
()用于给元素进行分组
属性定义
<!ALLLIST 元素名 属性名 属性类型 设置说明>
属性类型CDATAEnumerated(枚举)
设置说明 #REQUIRED 必须的
#IMPLIED 可选
#FIXED 固定值 不可修默认值 可修
ID ID类型属性唯一标识XML文档一个元素
IDREF 建立一对一关系
IDREFS建立一对多关系,可引用多个ID类型的属性值,用空格分隔
NMTOKEN表示由一个或多个字母数字。-_组成的名称,一种列表类型
NMTOKENS
NOTATION XML无法处理的数据
ENTITY实体
实体定义
引用实体
<!ENTITY 实体名称 “实体内容”>
<!ENTITY 实体名称 SYSTEM "外部URL">
引用方法 &实体名称;
参数实体
<!ENTITY % 实体名称 “实体内容”>
引用方法 %实体名称;
新闻热点
疑难解答