Xml语法
DTD束缚
PHP DOM
SIMPLEXML
一、 简介
1、 生长
gml 通用标记言语 1969年 软件假如想完成高度的移植性,必须要有一个一致的范例
sgml 范例通用标记言语1985年
html 超文本标记言语1993年,处置惩罚差别平台,差别浏览器接见统一网页
xml可扩大标记言语 1998年
2、 关于xml的定义
extensible markup language ,用于标记电子文件使其具有结构性的标记言语,能够用来标记数据、定义数据范例,是一种许可用户对本身的标记言语举行定义的源言语。
3、 xml和html的差别
html:显现数据 <div> <font color=’red’
xml:保留数据
html标签不能自定义,从标签上不能到达“见词知意”的目标
html:<table>武松</table>
xml:<表格>武松</表格>
html将数据与花样绑定在一起
<span>商品名</span>
差别浏览器解html差别:IE,火狐。
html语法请求不严厉
<table><tr><td></td></table>
等等
4、 xml的主要用途
递次之间的互相通信
作为递次的配置文件
存储数据
范例数据花样
二、 xml疾速入门
形貌一个人的信息
<?xml version="1.0" encoding="UTF-8"?>
<!-- 这里有很多人的信息 -->
<persons>
<person id='s101'>
<name>张三</name>
<age>30</age>
</person>
</persons>
三、 xml语法
xml文件的组成
文档声明
元素
元素属性
解释
CDATA区
特别字符
处置惩罚指令
文档声明:
须要先运用文档声明来声明XML文档
最简朴的语法:<?xml version=“1.0”encoding='字符集编码' standalone='yes/no'?>
encoding
指定编码花样
standalone
当前文档是不是自力 yes/no
元素:
一个标签分为肇端和完毕标签(不能省略)
毛病:<tr><td>内容</tr>
准确:<a></a>
一个标签中能够嵌套多少子标签,但一切标签必需合理的嵌套,不许可有交织嵌套
毛病:<a><b></a></b>
准确:<a><b></b></a>
一个XML文档必需有且唯一一个根标签,其他标签都是这个根标签的子标签
元素-定名:
元素(标签)的称号能够包括字母、数字、减号、下划线和英文句点
严厉辨别大小写;
<name>和</NAME>示意两个标签
只能以字母或下划线开首;
A123
_123
毛病:12a
不能以xml(或XML、Xml等)开首
毛病:xmlabc
称号字符之间不能有空格或制表符;
毛病:<a b>,<ab>;准确:<a_b>
称号字符之间不能运用冒号:毛病:<a:b>
元素属性
一个元素能够有多个属性
<person id=’s101’ sex=’男’ ….. >
属性值肯定要用引号(单引号或双引号)引起来
<person id=’s101’>
<person id=”s101”>
属性称号的定名范例与元素的定名范例雷同
元素中的属性是不许可反复的
毛病 <person id=’s101’ id…
标签属性所代表的信息也能够被改成用子元素的情势来形貌
<person id=’100’><name></name></person> 能够改成
<person><id>100</id></person>
解释
<!—这是解释-->
XML声明之前不能有解释
解释不能嵌套,
毛病<!--<!---->>
CDATA区:
CDATA:Character Data 字符数据
作用:把标签当作一般文本内容
语法:<![CDATA[内容]]>
特别字符:
关于一些特别字符,若要在元素主体内容中显现,必需举行转义。
<img border="0" alt="xml教程" src="http://www.phpstar.cn/uploads/allimg/130126/1_130126174632_1.png" width="585" height="164" />
<img border="0" alt="xml教程" src="http://www.phpstar.cn/uploads/allimg/130126/1_130126174651_1.png" width="554" height="65" />
处置惩罚指令:
作用:用来批示软件怎样剖析XML文档。
语法:必需以“<?”作为开首,以“?>”作为末端。
经常使用处置惩罚指令:
xml指令
xml-stylesheet指令
#p#xml教程-xml的dtd束缚#e#
DTD束缚
一、 什么是束缚
XML手艺中,能够编写一个文档来束缚一个XML的誊写范例,这个文档称之为束缚,Xml束缚文档
束缚文档定义了在XML中许可涌现的元素称号、属性及元素涌现的递次等等。
花样优越的XML:遵照XML语法的XML
有用的XML:遵照束缚文档的XML
遵照xml语法的文档称之为正当的
遵照束缚文档的xml文档称之为合理的
正当的xml不肯定是合理的
合理的肯定是正当的
二、 罕见的束缚
XML DTD
XDR
SOX
XML Schema
三、 什么是dtd
l Document Type Definition 文档范例定义
束缚XML的誊写范例
四、 dtd寄存的位置
文件中:能够将dtd束缚放在当前xml文件中
外部文件:也能够将束缚放到一个外部的.dtd的文档中
五、 dtd疾速入门
六、 怎样检测我们xml文档是不是相符dtd束缚???
递次
ActiveXObject("Microsoft.XMLDOM") //实例化xmldom对象
doc.validateOnParse //是不是开启磨练
doc.async //是不是异步
doc.load() //加载
doc.parseError.reason //毛病信息
doc.parseError.line //毛病行号
软件 iexmltls 这个小插件能够在ie下检测你写的文档是不是是有用的xml'文档。
七、 怎样援用外部dtd
DOCTYPE声明:
<!DOCTYPE 根元素 SYSTEM “DTD文档途径”> //外部引入dtd文档
<img border="0" alt="xml教程" src="http://www.phpstar.cn/uploads/allimg/130126/1_130126175853_1.png" width="535" height="116" />
八、 dtd语法
定义元素
定义属性
定义实体
1、 定义元素
语法:
<!ELEMENT 元素名 运用划定规矩>
运用划定规矩:
(#PCDATA) :文本数据
EMPTY :空
ANY :恣意
(子元素) :只涌现一次
(子元素1,子元素2,……) :递次指定子元素
(子元素+) :最少涌现一次
(子元素*) :子元素能够涌现恣意次数
(子元素?) :子元素涌现0次或1次
(子元素1|子元素2) :任选其一
2、 定义属性
语法:
<!ATTLIST 元素称号 属性称号 属性范例 默认值>
属性范例:
CDATA :文本
(en1|en2|……) :值任选其一
ID :值为唯一
默认值:
#REQUIRED 非空 运用这个润饰的属性必须要写
#IMPLIED 可选 可写可不写
#FIXED 固定值 能够不指定,假如指定,只能运用这个值
值 默认值 假如指定值,则以指定值为范例,假如没有指定,则运用默认值
3、 定义实体
定义实体就是为一段内容指定一个称号,运用时经由过程这个称号就能够援用其所代表的内容
内部实体
外部实体
定义内部实体
定义语法:
<!ENTITY 实体称号 "实体的值">
援用语法:
&实体名;
定义外部实体
定义语法:
<!ENTITY 实体称号 SYSTEM "URL">
援用语法:
&实体名
<img border="0" alt="xml教程" src="http://www.phpstar.cn/uploads/allimg/130126/1_130126180610_1.png" width="554" height="104" />
以上就是xml编程(一)-xml语法的内容,更多相关内容请关注ki4网(www.ki4.cn)!