1、XML技术:与数据相关的技术,在企业中xml技术常用来存储数据和传输数据,流行的原因----xml与任何编程
语言无关,可用于php、java、.net等任何语言。
XML:可扩展标记语言
XML标记随意定义-----可扩展
XML典型存储和传输应用:
1)、xml充当数据库,保存数据信息,
2)、在AJAX中传输数据,WebService技术,网络中传输数据时,格式采用xml
在html中预定义了很多标记,每个标记都有相应的显示效果,xml所标记没有被预定义,
在xml中随便写个<name>HGL</name>都是合法的,但是你不知道这是什么意思-----所以,要想确定name标记
的含义,需要对xml添加约束。
XML语法;
1>、文档声明
2>、元素
3>、属性
4>、注释
5>、CDATA块
6>、处理指令
任何XML必须具备文档声明:<?xml version="1.0" Encoding="utf-8" ?>
版本一般就写1.0,当然也可以写其他的,编码格式,我个人建议最好注明为好。
XML是一种标记语言,存储和传输数据----保存数据内容
如果在文档声明里没有指明编码格式,浏览器在解析的时候默认是ISO-8859-1编码(不支持中文数据)
2、注意:
1)当xml指定Encoding="utf-8"是浏览器查看编码集---------------浏览器查看编码集必须和文件保存
编码集一致。
2)、新建文本文档的编码格式是ANSI也就是GBK格式,我们平时用文本写xml时最好改一下编码格式。
3)、当声明standalone="yes",该xml是独立的xml,不依赖外面其他文件,standalone="no",该xml依赖一些文件
4)、xml通过元素描述复杂关系模型数据。
3、XML语法规范:
1)、所有的xml元素必须有开始,有结束----<book>xxxx</book>,如果标签中没有内容,可以简写为----<book/>
2)、标签不允许交叉嵌套,也就是必须要有一定秩序,哪个标签在前,哪个标签在后,都是顺这来的。
3)、在xml文档中有且仅有一个根元素,有点类似于HTML中的<html>xxx</html>一样。
4)、xml文件中,空格和换行都会被解析器解析的。这点和HTML不同。
5)、严格区分大小写,属性和元素名称不能以数字开始
4、属性定义语法:
1)、<元素名称 属性名称="属性值" 属性名称="属性值"...>,一个元素可以定义多个属性,每个属性值必须用双引号或单引号引起来。
2)、xml注释与HTML注释相同,都是<!--这里是注释的内容-->,注意,注释不允许嵌套!!
3)、CDATA区域内,保留不被解析器解析的内容-----通常存放特殊的代码
4)、部分转义字符:>:greaterthan > <:lessthan <
5、CDATA和转义字符在哪些情况下使用?
**优先使用CDATA
6、通过PI指令控制xml显示样式(指令之前不能有注释)
当xml使用PI指令引用css样式------效果等同于HTML,进行页面数据显示。(CSS可以认为是HTML的样式表)
**如果真的需要xml来进行页面显示,通过XSLT来对xml进行修饰,可以认为XSLT就是xml的样式表。
7、XML技术应用,两大类:
1)、传输和存储数据-----程序员为了简化开发,不对xml使用约束技术。
**不实用xml约束技术,xml格式不一定正确
**所有xml数据内容的生成,解析过程,都是通过程序来完成的。
2)、使用xml作配置文件
程序员为了保证xml的准确性,通常对xml文档使用约束技术。
3)、为什么xml使用约束技术??
使用约束xml文档------使元素内容格式更加规范
8、xml技术的约束: DTD和Schema
9、DTD快速入门:
1)、编写数据xml----books.xml
2)、编写dtd文件
**为xml文档的每一个元素写一个:<!ELEMENT 元素名 (子元素)>,如果子元素是文本的话,就用#PCDATA代替。
3)、将xml文件和dtd文件关联起来
10、DTD和xml关联的三种方式:
1)、内部DTD-------<!DOCTYPE 根节点 [这里写具体的ELEMENT等]>,其实就是将dtd文件和xml文件写在同一个文件中。
2)、外部DTD(引用本地DTD)-------在xml文件中引用本地的dtd,语法格式:<!DOCTYPE 根节点 SYSTEM "dtd的路径">
3)、公共DTD(引用网络上的DTD)-----<!DOCTYPE 根节点 PUBLIC "DTD名称" "DTD文件的url">
注意:公共DTD在使用的时候,名称 要是w3c规范的官方名称,大家都知道的。
11、属性(ATTLIST)定义
语法:<!ATTLIST 元素名称 属性列表>
属性列表:
属性名称 类型 约束
属性名称 类型 约束
属性名称 类型 约束
....
属性类型
1、CDATA文本类型属性
2、(值1|值2|值3)三个选一个
3、ID 表示属性值唯一
12、约束
1)、#REQUIRED
2)、#IMPLID
3)、fixed value 属性值固定
4)、default value 默认值
13、实体(ENTITY)定义
对于xml数据内容重复,可以抽取实体
语法:<!ENTITY 实体名称 "实体内容">
======================================================================================