xml之DTD约束
来源:互联网 发布:兼职淘宝客 编辑:程序博客网 时间:2024/05/18 03:58
一、什么是DTD约束
DTD(Document Type Definition):定义xml文件的结构,为xml文件提供语法与规则。内容既可以定义在xml文件中,也可以定义在xml文件之外。使用xml进行数据交换的行业或组织可以定义自己的DTD。DTD对于xml是可选的内容。
二、为什么要使用DTD
为了正确交换数据,xml文件需要确定的结构。
三、DTD约束的使用
以下是一个xml文件:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE store SYSTEM "store.dtd"> 本地引用<!DOCTYPE store PUBLIC "//UNKNOWN/" "unknown.dtd"> 互联网引用
<store><product category="手机数码"><pid>100</pid><pname>OPPO手机</pname><price>2500</price></product><product category="电脑办公"><pid>1000</pid><pname>联想笔记本</pname><price>3500</price></product><product category="大型家电"><pid>600</pid><pname>全自动洗衣机</pname><price>6500</price></product></store>
以下是约束它的DTD文件:
<?xml version="1.0" encoding="UTF-8"?><!ELEMENT store (product+)><!ELEMENT product (pid,pname,price)><!ELEMENT pid (#PCDATA)> 代表普通文本<!ELEMENT pname (#PCDATA)><!ELEMENT price (#PCDATA)><!ATTLIST product category CDATA #REQUIRED> 必须写属性
我们来分析一下上述DTD文件:
(1)使用ELEMENT描述一个元素
<!ELEMENT store (product+)>子标签出现的次数:
+:一次或多次 最少一个
?:0次或1次
* :0次或多次
(2)子标签出现的顺序:
<!ELEMENT product (pid,pname,price)> 子标签有顺序,使用逗号隔开另一种情况:
<!ELEMENT product(name|price),price> 竖线代表或者
(3)属性
<!ATTLIST product category CDATA #REQUIRED>
格式:
ATTLIST 属性所属的标签 属性名称 属性值的类型 属性是否必须写
属性值的类型:CDATA:文本类型;
属性是否必须:必须:#REQUIRED 不必须:#IMPLED
四、总结:
上文讲述了什么是DTD约束,为什么要使用DTD约束,以及DTD约束的一个实际应用的小例子。大千世界,没有规矩不成方圆,xml中的标签可以自定义,但是这种自定义是需要在一种规则的约束下才能更好的发挥它的作用。
阅读全文
0 0
- xml约束之---DTD
- XML约束之DTD
- XML约束之DTD
- XML约束之DTD
- XML约束之DTD
- xml之DTD约束
- xml约束技术之dtd
- xml约束技术之dtd
- xml教程之dtd约束
- XML简介之XML的DTD约束
- XML约束--DTD约束
- xml约束之dtd约束和schema约束---3
- struts-config.xml 之DTD约束文件
- xml入门二 之dtd约束
- XML简介之DTD约束详解三
- XML约束之DTD约束&DTD对元素的约束规则
- XML约束之DTD约束&DTD对元素属性的约束规则
- xml DTD约束
- ReactiveCocoa 5.0 初窥:可能是最痛的一次升级
- el表达式
- python函数学习二(几个常用函数)
- WebRTC的模块处理机制
- Apache Shiro
- xml之DTD约束
- JS 中sort()排序
- K-means聚类算法
- js中Prototype属性解释及常用方法
- Android知识点textview加横线的属性。Android 删除已添加下划线,中线
- BZOJ3223[Tyvj 1729 文艺平衡树]题解--splay
- Linux服务器安全配置
- C# 异常类 Exception 枚举所有类型的异常
- @Scheduled注解 定时任务 cron表达式