XML介绍(web基础)

来源:互联网 发布:手指充电魔术软件 编辑:程序博客网 时间:2024/06/05 10:48
1.清单
2.文档声明
3.元素定义
4.属性定义
5.文档注释
6.CDATA区
7.转义字符
8.处理指令
9.xml约束模式
10.DTD 
11.DTD元素定义
12.DTD的属性定义
13.DTD定义实体
14.XML Schema
15.XML Schema名称空间
16.xml:space和xml:lang属性


2.文档声明:
声明必须在第一行出现
<?xml version="1.0" encoding="GB2312" standalone="yes" ?>

//encoding 编码
//standalone 是否是独立文档,必须在encoding之后。

3.元素定义:
规范:可以包含字母、数字以及其它一些可见字符,
如:
    区分大小写。
    不能以数字或“_”(下划线)开头
  不能以字符组合xml或XML或Xml开头
    不能包含空格
     名称中间不能包含冒号(:)。

元素标记建议:
不要使用“.”
不要减号,使用下划线代替
尽量短
大小写统一

4.属性定义
一个标签可以有多个属性,每个属性都有它的名称和值
  属性值一定要用双引号"或单引号'引起来
属性遵循与标签相同的命名规范
属性可以被改成用子元素来描述同样的信息

5.文档注释
<!--注释-->
配置文件如果存在“中文注释”则应设置文档编码

6.CDATA区
不编译区,在两者之间嵌入不想被解析程序解析的原始数据。
   以“<![CDATA[”开始,以“]]>”结束
例:
<script>
<![CDATA[
//这里写脚本语言
]]>
</script>

7.转义字符
特殊字符替代字符
&amp;
<&lt;
>&gt;
"&quot;
'&apos;

8.处理指令 PI
用来处理xml文档的应用程序提供指示信息
以“<?”作为开头,以“?>”作为结尾,xml声明语句就是最常用见的一种处理指令。
xml分析器把指令原封不动地传给应用程序。
如:使用css控制显示效果:
<?xml-stylesheet type="text/css" href="book.css" ?> //css语法详解javascript编程


9.xml约束模式
格式良好
如果没有为一个xml文档指定约束模式,那么该文档可以包含任何类型的标记;如果为一个xml指定了约束模式,那么它必须瞒住约束模式所规定的结构、数据类型和数据关联等内容
约束模式语言:XML DTD 和XML Schema 和 XDR 和 SOX
简单:XML DTD (早期)
主流:XML Schema

10.DTD (早期出现的简单xml模式语言)
例:book.dtd
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
 

11.DTD元素定义
语法:<!ELEMENT 元素名称 使用规则>
使用规则:
(#PCDATA) :普通文本
(书名,作者,售价):子元素
(书名,#PCDATA):
EMPTY:空元素
ANY:所有类型

组成成分关系:
      <!ELEMENT MYFILE (TITLE AUTHOR EMAIL)> :顺序随意
<!ELEMENT MYFILE (TITLE,AUTHOR,EMAIL)> :按照title-author..顺序
<!ELEMENT MYFILE (TITLE|AUTOR|EMAIL)>  :只能包含任意一个
子元素出现次数:
书+:一次以上
书?:一次或不出现
书*:可以不出现,或出现一次或以上
书:一次

12.DTD的属性定义
语法:
<!ATTLIST 元素名 
属性名1 属性类型 设置说明
属性名2 属性类型 设置说明
...
>
设置说明: 
#REQUIRED :必须设置
#IMPLIED :可有可无
#FIXED (提供一个值):固定为一个值
使用默认值
属性类型:
CDATA:普通文本
ENUMERATED:一组值中的一个
ID: 不能相同
IDREF 和IDREFS:
....

13.DTD定义实体
引用实体 <!ENTITY 实体名称 SYSTEM  "外部的xml文档的URL">
应用实体 <!ENTITY 实体名称 "内容">

使用:&实体名称;  
参数实体:<!ENTITY % 实体名称 "实体内容">

例:
<!ENTITY %TAG_NAMES "姓名|EMAIL|电话|地址">
<!ELEMENT 个人信息(%TAG_NAMES;|生日)>
<!ELEMENT 客户信息(%TAG_NAMES;|公司名)>

14.XML Schema (主流格式) .xsd
优点:
     容易解析
符号xml语法结构
与xml同样的合法性验证
对名称空间支持更好
支持更多的数据类型
定义约束能力非常强大
满足了关系模式在数据上的描述
缺点:
不能像DTD那样定义实体

15.XML Schema名称空间
每个约束模式文档被赋予一个惟一的名称空间
元素名称前增加前缀名

声明:
xmlns:前缀名称="URI"
默认:
xmlns="URI"

属性名称空间:

16.xml:space和xml:lang属性
自定义前缀不能为xml:
xml:space:设置下游应用程序如何处理解析器传递的空格
值为:default :应用程序自行处理空格
      preserve :当作普通字符


xml:lang :设置本地话语言
    值为: ISO-639
  en
  zh-CN

17.使用名称空间引人xml schema
xmlns: 声明
schemaLocation:引入
targetNamespace:指定当前xml schema 文档的命名空间
原创粉丝点击