xml
a. 可扩展的标记语言。 b. 设计用来传输和储存数据。 c. 允许开发人员自定义标签的名字,但是要符合一定的规范。
xml和html的区别
a. xml不是html的替代,他们各有各自的功能。 b. xml设计用来传输和储存数据,重点在于数据。 c. html设计用来显示数据,重点是数据的显示。
声明
<?xml version="1.0" encoding="utf-8"?> <!--这是一个注释-->
<!--根元素,一个xml文件有且仅有一个根元素-->
结构完整的XML文档
必须有xml声明语句 <?xml version="1.0" encoding="utf-8"?>
- 必须有且仅有一个根元素
- 标记大小写敏感
- 属性值用引导
- 标记成对
- 空标记关闭
- 元素正确嵌套
xsl/xslt:
- xml最大的特点就是内容和格式分离。XML不包含如何显示数据,xls解决了XML数据显示的问题
- xsl、xslt可以随意将XML文档转换为html,pdf
XPath/XQuery:
- 类似于数据库和sql之间的关系
DOM/SAX
- DOM:文档对象模型,定义了一组接口,用这些接口可以解析或者创建XML文档,基于对象的,与平台和语言无关。
- SAM:sax是XML简单应用程序的接口,sax解析文档时基于事件驱动,sax使用回调机制来通知桌面应用程序。
- dom特点:整个文档必须在内存解析和储存。对大型的文档来说占用资源严重。数据都在内存,解析获取数据效率高。
- SAX特点:基于事件驱动模型。标签一个一个解析,开始标签和结束标签对应不同的事件,不会将整个文档加载到内存所以不会浪费内存资源。 缺点: 要到达指定的位置,只能按照顺序处理,不能随机访问。SAX只读(无法修改)。文档只能遍历一次。
XLink/XPointer
- 文档定位技术,可以定位节点和节点集。
dtd(文档类型定义) document type definition
-
主要约束xml文档书写的规范。XML约束
-
常用的 xml DTD , XML Scheme
-
<!DOCTYPE 根元素(PUBLIC | SYSTEM)>
-
PUBLIC:表示约束的文件来自于网络文件,第一个表示dtd的名字 第二个表示url 。
-
SYSTEM:当前的约束条件来自于本地的dtd文件 直接接上路径。
-
<!ELEMENT user (username+,pwd?)>
-
<!ELEMENT 元素名字 (约束条件) >
-
+号表示username可以出现1次或者多次,?表示可以出现0次或1次,*表示可以出现2次到多次,#PCDATA表示名字里面可以放任意文本。逗号,表示对象必须按指定的顺序出现 |表示不管顺序,可以出现或者不出现。
-
对属性的约束
-
<!ATTLIST 元素名称 属性名字 属性的类型 属性的特点>
1)属性类型-CDATA,表示属性值可以是任何字符(包括中文和数字)
(2)属性类型-ID,表明该属性的取值必须是唯一的,但是属性的值不能是以数字开头!
(3)属性类型-IDREF/IDREFS
属性的特点
(1) #REQUIRED,表示这个属性必须给,不给就报错
(2) #IMPLIED,表示这个属性可以给也可以不给
(3) #FIXED value,表示这个属性必须给一个固定的value值
(4) Default value,表示这个属性如果没有值,就分配一个默认的value值