文档章节

23XML DTD

恋佳
 恋佳
发布于 2015/07/22 14:06
字数 652
阅读 4
收藏 0

1 #PCDATA (Parsed Character Data),可解析的字符数据。


DTD文档与XML文档是类与对象的关系

DTD是抽象的定义

XML是具体的内容


第一种  内部DTD文档

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE student[

<!ELEMENT student (id,name,score)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT score (#PCDATA)>
]>


<student>
<id>1</id>
<name>sx</name>
<score>100</score>
</student>
第二种  外部DTD文档  便于DTD文档复用
<?xml version="1.0" encoding="UTF-8"?>
	<!ELEMENT student (id, name, score)>
	<!ELEMENT id (#PCDATA)>
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT score (#PCDATA)>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE student SYSTEM "myfirst.dtd">
<student>
	<id>1</id>
	<name>sx</name>
	<score>100</score>
</student>

2 DTD中元素的类型

dtd中ELEMENT元素的类型有 EMPTY、ANY、#PCDATA等

(1)EMPTY类型规定了元素不能有值但可以有属性,不能包括文本。
(2)ANY类型则规定一个元素下面可以包括子元素,文本,属性。
将根元素设置为ANY后 子元素出现的次数和顺序将不受限制。

(3)#PCDATA则规定元素下面不能包括子元素,且元素的值是字符串。


3DTD元素修饰符号



4 属性的定义


属性类型

(1)CDATA 字符创

(2)NMTOKEN CDATA的一个子集 ,表示属性值必须是英文字母,数字,句号,破折号,下划线或冒号,属性值不能有空格

(3)ID 表示属性值是唯一的

(4)IDREF 指向文档中其他地方声明的ID类型的值

属性特点

(1)#REQUIRED 必须有的属性值

(2)#IMPLIED可选的,可有可无

(3)#FIXED value    属性值必须为指定的固定值,value

(4)#Default value   为属性提供一个默认值

2关于普通实体与参数实体


1) 普通实体是在dtd中定义,xml中使用,使用的时候格式为:&address;
2) 参数实体是在dtd中定义,dtd中使用,定义的时候使用%,使用的时候也需要使用%, %address;
3) 外部普通实体的定义方式是:
<!ENTITY address SYSTEM “http://www.shengsiyuan.com/xml.xml”>
表示使用http://www.shengsiyuan.com/xml.xml网址的内容来替换掉address,而不是使用http://www.shengsiyuan.com/xml.xml字符串本身来替换掉address
4)外部参数实体:

<!ENTITY % address SYSTEM “http://www.shengsiyuan.com/xml.xml”>,使用的时候:%address;




命名空间

避免重名

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE 学生名册 SYSTEM "dtd1.dtd">
<S:学生名册   xmlns:S="http://www.dldd.com">
	<学生 学号="t1">
		<姓名>张三</姓名>
		<性别>男</性别>
		<年龄>20</年龄>
	</学生>
	<学生 学号="t2">
		<姓名>李四</姓名>
		<性别>女</性别>
		<年龄>19</年龄>
	</学生>
	<学生 学号="t3">
		<姓名>王二</姓名>
		<性别>男</性别>
		<年龄>21</年龄>
	</学生>
</S:学生名册>









© 著作权归作者所有

恋佳
粉丝 0
博文 76
码字总数 62107
作品 0
大连
私信 提问
有关jqGrid应用里的字体大小不能控制的问题

最近项目里用到了struts2里的jqGrid插件,有个很奇怪的问题找了好长时间,比如:字体样式修改不了的问题,具体描述请参考附件图片,包含有问题的和修改后的对比图(je不能直接插入本体图片啊) 就...

鱼北子
2012/09/07
3.1K
0
详细剖析

<!DOCTYPE>的定义: <!DOCTYPE>声明位于文档中的最前面的位置,处于<html>标签之前。此标签可告知浏览器文档使用哪种HTML或XHTML规范。该标签可声明三种DTD类型,分别表示严格版本、过渡版本...

黄裳23
2014/05/06
104
0
另类的前端页面不居中,警惕手误漏掉声明

jquery博客前端这边经历了不少关于页面居中的问题,一般margin:0 auto;text-align:center;之类的,能搞定。 昨天遇上一个事,很诧异,那些已经固定宽度高度,也无法居中。 排查了很久,外部样...

天外飘雪
2012/11/17
69
0
XML学习03-DTD约束

一、什么是约束 XML技术中,可以编写一个文档来约束一个XML的书写规范,这个文档称之为约束。约束文档定义了在XML中允许出现的元素名称、属性及元素出现的顺序等等。遵循约束文档的XML文件称...

valderfeild
2017/10/24
0
0
Ext.viewPort 在IE下显示空白问题

在使用Ext之ViewPort的border进行页面布局时,有时会出现页面加载不显示问题,让人很是头痛。 其实,这个问题解决很简单,就是在页面的头部加入<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0...

again-Y
2013/12/20
80
0

没有更多内容

加载失败,请刷新页面

加载更多

可见性有序性,Happens-before来搞定

写在前面 上一篇文章并发 Bug 之源有三,请睁大眼睛看清它们 谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug 为了解决 CPU,内存,IO ...

tan日拱一兵
36分钟前
3
0
网络七层模型与TCP/UDP

为了使全球范围内不同的计算机厂家能够相互之间能够比较协调的进行通信,这个时候就有必要建立一种全球范围内的通用协议,以规范各个厂家之间的通信接口,这就是网络七层模型的由来。本文首先...

爱宝贝丶
40分钟前
4
0
Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
57分钟前
10
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
今天
8
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
1K
13

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部