使用DTD对XML文件进行检验
来源:互联网 发布:电信提速软件 编辑:程序博客网 时间:2024/06/06 12:23
本节学习目标:
1.xml的相关概念
2.什么是良好的xml,什么是有效的xml
3.什么是DTD
4.DTD的相关语法
5.使用DTD对xml文件进行检验
1.什么是XML
--XML代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)
XML用途:配置文件 数据交换
2.什么是格式良好
2.1 有且只有一个根元素
2.2 XML标签大小写正确区分
2.3 正确使用结束标签
2.4 正确嵌套标签
2.5 使用了合法的标签名 标签名必须以字母、下划线开始,然后是字母、数字、句号(.)、冒号(:)、下划线(_)、连字符(-)的组合,但不能包括空格。(注意:不提倡使用句号、冒号作为标签名的一部分,容易混淆)
2.6 定义有效的属性
<?xml version="1.0"?>
<student>
zs
</student>
2.2 有效的XML文档必须满足以下两点:
2.1.1.首先必须是格式良好的XML文档
2.2.2.通过了DTD验证
3.什么是DTD
文档类型定义(Document Type Definition)也就是DTD,它一种保证XML文档格式正确的有效方法,可通过比较文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确
4.DOCTYPE声明
DOCTYPE声明紧跟在XML声明的后面,它可以包含其它声明,DOCTYPE声明语法如下:
<!DOCTYPE rootElement […]>
4.1元素定义的语法
<!ELEMENT element-name (type)>
5.元素的分类
5.1空元素
<!ELEMENT element-name EMPTY>
例如:<br/>
5.2字符元素
<!ELEMENT element-name (#PCDATA)>
例如:<name>zs</name>
5.3混合元素:也就是包含其它元素的元素contact
<!ELEMENT contact ( phone | email )>
例如:<contact><phone>1688888888</phone></contact>
6.混合元素的子元素限制
6.1带有固定顺序的子元素的元素
<!ELEMENT element-name(child-element-name,childe-element-name, …)>
6.2带有子元素列表的元素(或)
<!ELEMENT element-name(child-element-name|childe-element-name| …)>
6.3子元素出现的次数(1和0)
<!ELEMENT element-name(child1+,child2*,child3?,child4)>
元素的限制:
“+”号表示至少出现一次或多次
“*”号表示至少出现0次或多数
“?”号表示出现0次或1次
没有修饰符即为1次
7.属性声明
在DTD中,使用属性声明来声明XML元素的属性。元素的属性声明语法如下:
<!ATTLIST element-name attribute-name type constraint>
-------------------------------------------------------------------------------
<!ATTLIST person
pid ID #REQUIRED
sex (男|女) "男"
qq CDATA #IMPLIED
parent IDREF #IMPLIED
>
-----------------------------------------------------------------------------------------------------
7.1属性常用类型
属性类型
类型说明
CDATA
qq CDATA #IMPLIED
普通字符类型(类似于数据库中字符串)
枚举类型
sex (男|女) "男"
希望属性值为一组固定合法值的一个时(类似于数据库中检查约束)
ID
pid ID #REQUIRED
标识符类型,此值在文档中是唯一的。(类似于数据库的主键,注意ID属性的值必须以英文字母开头)
IDREF
parent IDREF #IMPLIED
也是标识符类型,将另一个元素ID作为值(类似于数据库的外键)
7.2 属性的约束
约束名
说明
default
sex (男|女) "男"
为属性指定一个默认值
#IMPLIED
qq CDATA #IMPLIED
允许属性值为空
#REQUIRED
pid ID #REQUIRED
必填属性
以下是XML中需要的转义字
&(逻辑与) &
<(小于) <
>(大于) >
"(双引号) "
'(单引号) ' [/size]
总节:
DTD是一种保证XML文档格式正确的有效方法
DTD中元素分为
空元素
字符元素
混合元素
顺序(,)
或(|)
次数:+,*,?,没有限制符-即次数1
DTD中常用属性定义
属性类型定义
CDATA
枚举
ID
IDREF
属性限制定义
默认值
允许空
非空
一个格式良好,且通过DTD验证的XML文件才能叫有效的XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE students[
<!ELEMENT students (class+,student*)>
<!ELEMENT student (name,age,(qq|email),br)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT qq (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT br EMPTY>
<!ELEMENT class EMPTY>
<!-- 约束 -->
<!ATTLIST class
cid ID #REQUIRED
>
<!ATTLIST student
sid ID #REQUIRED
cid IDREF #REQUIRED
sex (男|女) "男"
>
]>
<students>
<class cid="G160818"/>
<student sid="P1" cid="G160818" sex="男">
<name>zs</name>
<age>20</age>
<qq>1227802068</qq>
<br/>
</student>
<student sid="p2" cid="G160818">
<name>ls</name>
<age>22</age>
<email>1227802068@qq.com</email>
<br/>
</student>
<student sid="p3" cid="G160818">
<name>ww</name>
<age>23</age>
<qq>1227802069</qq>
<br/>
</student>
</students>
---------------------------------------敬请期待下一节哦!
- 使用DTD对XML文件进行检验
- 使用dtd对xml进行验证
- XML 文档可对 DTD 或 XML Schema 进行引用
- XML 文档对 DTD 或 XML Schema 进行引用
- 使用JavaScript对XML文件进行读写
- xml-使用dom4j对xml文件进行crud操作
- 编程实现DTD规范对XML文件内容 ...
- XML文件定义 DTD
- XML文件定义DTD
- XML文件定义DTD
- DTD - XML验证文件
- xml 忽略.dtd文件
- 如何使用JDOM对XML文件进行操作
- 使用java 对xml文件进行DOM操作
- 使用dom4j对XML文件进行增删改查
- 使用JAVA对XML文件进行DOM操作
- Android中使用SAX对XMl文件进行解析
- 使用LINQ技术对XML文件进行读取
- 关于Tomcat性能优化
- Linux系统编程——线程池
- 测试一下编辑器好不好用
- Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】
- 小程序实现微信支付java后端
- 使用DTD对XML文件进行检验
- excel中,0不显示,负数显示红色
- android调试系列--使用ida pro调试so
- ARP协议和ARP脚本
- 浅谈CSS样式
- [BZOJ2150]部落战争-二分图匹配
- 【已解决】使用ida pro进行动态调试so文件遇到的问题
- MySql从一窍不通到入门(一)基本概念梳理
- PYTHON数据分析之分组计算