一.基本介绍
1.xml语言的根本目标在于描述从属关系的数据, 也常用作开发软件的配置文件, 规定模块的启动顺序.
二.语法
1.文档声明: <?xml version="1.0" encoding="UTF-8" standalone="yes/no" ?> *必须写在第一列第一行
*若文档中含有中文,必须ecoding指定编码形式 standalone属性说明文档是否独立
2.xml标签中所有的空格和换行都会当做标签内容进行处理
3.标签属性所代表的信息,可以用子元素的形式来表示
eg. <input name="text"> = <input><name>text</name></input>
5.xml语言允许用户可以自定义标签.
<![CDATA[内容]]>
7.处理指令:简称pi,用来指挥解析引擎如何解析xml文档内容
格式<?内容?>
eg.用xml-stylesheet指令应用css <?xml-stylesheet type="text/css" href="-"?>
三.xml约束
1.定义:编写另外一个文档来约束xml书写规范
2.常用约束技术:DTD Schema
四.DTD
1)元素声明 eg 书.dtd
<!ELEMENT 书架(书+)> ------在书架标签中可放一本或多本书
<!ELEMENT 书(作者,书名,售价)> -------在书中可放作者.书名.售价
<!ELEMENT 作者(#PCDATA)>--------只能放字符串
<!ELEMENT 猫 ANY>----可以放任何内容
<!ELEMENT 狗 EMPTY>-----为空元素
元素内容: , 分割,则出现顺序必须与声明一致
| 分割,表示任选其一,即只能出现一次
+:一次或多次 ?:零次或一次 *:零次或多次
2)属性定义
<!ATTLIST 元素名
属性名1 属性值类型 设置说明
属性名2......>
属性值类型: CDATA 字符串
ENUMERATED eg.<!ATTLIST 肉 品种 (鸡肉|牛肉|羊肉) "鸡肉">
为<肉>设置品种属性,可选值为三种肉的一种,若<肉/>则品种为鸡肉
id 表示每个标签该属性的值为唯一,值不要以数字开头.
设置说明: #REQUIRED 必须设定 #FIXED 属性取固定值,xml中不能设置
#IMPLIED 可选 默认值:直接写值,xml中可设可不设,不设遵循默认
3)实体
A.引用实体 : 定义:<!ENTITY 实体名称 "实体内容"> (相当于给变量赋字符串)
引用: &实体名称;
B.参数实体:参数实体被dtd文档自身使用
定义: <!ENTITY % 实体名称 "实体内容">
应用:%实体名称;
4).xml文档指定遵循dtd文件语句: <!DOCTYPE 文档根节点 SYSTEM "dtd文件名.dtd">----引用文档在本地
<!DOCTYPE 文档根节点 PUBLIC "dtd名称" "dtd文件的url">---引用公共文件
<!DOCTYPE 文档根节点 [.....]>---在xml文件中声明dtd
5).校验xml是否遵从指定dtd文件:eclipse自动校验
五.schema
1.schema符合xml语法结构,后缀名.xsd, 所以可以用dom,sax解析
2.scheme比did支持更多的数据类型,并支持用户自定义新的数据类型. 但它不能像dtd一样定义实体