XML之外部DTD和内部DTD
DTD(Document Type Definition):文档类型定义,可以定义合法的XML文档结构,它使用一系列合法元素来定义文档的结构。DTD分为内部DTD和外部DTD,所谓内部DTD是指该DTD在某个文档的内部,只被该文档使用。外部DTD是指该DTD不在文档内部,可以被其他所有的文档来共享。
|
符号 |
含义 |
|
+ |
>=1 |
|
* |
>=0 |
|
? |
=0 或=1 |
数据的分类:
1、PCDATA(parse character data):可以解析的字符数据;
2、CDATA(character data)字符数据,不会由解析器解析。
DTD在XML文档中定义方式:<!DOCTYPE 根 SYSTEM "验证文档.dtd">
内部DTD举例:

电影movie和actor后跟+表示xml文件中movie元素大于等于一个存在,rating后跟*表示元素大于等于0个存在,其中#PCDATA表示该元素可解析。
外部DTD举例:
dtd在XML文件外称为外部dtd
1、XML如下

2、demo3.dtd如下:

XML之外部DTD和内部DTD的更多相关文章
- 作业:xml练习2-写.xml的外部约束文件(dtd文件)
写外部DTD: 步骤: 1.在srd目录下新建DTD文件,并命名为:scores.dtd 2.在练习1的基础上,剪切练习1的DTD内部声明.粘贴到一个新建的DTD文件中.剪切之后的地方换上:包含外部D ...
- myBatis配置提示xml和内部DTD
–配置环境:macOS high Sierra 10.13.6/window10–生产环境:eclipse2018.a,myeclipse2018 首先了解xml文件的参数——<!DOCT ...
- 【代码笔记】XML深入学习:DTD约束与DTD语法(1)
2015-12-27 文件名 student.xml <?xml version="1.0" encoding="GB2312" standalon ...
- xml dtd 内部dtd 外部DTD 公共DTD
(一个可以用来校验xml有效性的网站:http://www.xmlvalidation.com/) (经测试 eclipse neon 对于dtd的校验并不严格,比如DOCTYPE后面的根元素名与实际 ...
- XML内部DTD约束 Day24
<?xml version="1.0" encoding="UTF-8"?> <!-- 内部DTD --> <!-- XML:ex ...
- XML学习笔记(二)-- DTD格式规范
标签(空格分隔): 学习笔记 XML的一个主要目的是允许应用程序之间自由交换结构化的数据,因此要求XML文档具有一致的结构.业务逻辑和规则.可以定义一种模式来定义XML文档的结构,并借此验证XML文档 ...
- 16.XML语法、CDATA、约束(DTD、Schema)讲解
xml主要用来描述数据,比如配置文件,网络之间传输数据等,并且在android中也经常用xml来布局,,接下来便来学习xml常用的东西 1.XML语法 xml语法分为: 1.1 文档声明 必须位于文档 ...
- 【代码笔记】XML深入学习:DTD约束与DTD语法(2)
DTD语法之定义实体(了解即可) 实体分为一般实体和参数实体. 定义实体:定义变量 引用实体:使用变量 一般实体:定义实体在DTD中,实体引用在xml中. 参数实体:定义实体在DTD中,实体引用在DT ...
- 那点你不知道的XHtml(Xml+Html)语法知识(DTD、XSD)
什么是XHtml: 摘录网上的一句话,XHTML就是一个扮演着类似HTML的角色的XML. XHtml可当模板引擎应用: CYQ.Data 框架里有一套XHtmlAction模板引擎, 应用在QBlo ...
随机推荐
- WebSocket部署服务器外网无法连接解决方案
首先要说的是我遇见的问题: WebSocket connection to 'ws://www.xxxx.com/xxx/xx' failed: Error during WebSocket hand ...
- C语言bitmap的使用技巧
bitmap是一种以位的状态来表示某种特性的状态的一种操作方式,类似嵌入式中的寄存器操作,在表示某种特性enable/disable的时候很适用且占用的内存空间也很小 比如:做过交换机或者企业网管,路 ...
- oracle pl/sql 控制结构(分支,循环,控制)
一.pl/sql的进阶--控制结构在任何计算机语言(c,java,pascal)都有各种控制语句(条件语句,循环结构,顺序控制结构...),在pl/sql中也存在这样的控制结构.在本部分学习完成后,希 ...
- IDEA用maven创建springMVC项目和配置
工具准备:IDEA2016.3 Java jdk 1.8 1.DEA创建项目 新建一个maven project,并且选择webapp原型. 然后点击next 这里的GroupId和Artifac ...
- struts标签与jstl标签互换
近期在做struts切换spring mvc时发现代码中使用了大量的struts标签,对常用的struts标签做了总结,首先需要引入 <%@ taglib prefix="c" ...
- C++拷贝构造函数专题
C++拷贝构造函数 在定义任何C++类时,拷贝空置操作都是必要部分,类需要控制拷贝.赋值和销毁对象时发生的行为.拷贝构造函数的用途:当创建了一个新对象时,可以用另一个对象的数据初始化这个新建的对象. ...
- 浅谈PHP7的新特性
我以前用过的php的最高版本是php5.6.在换新工作之后,公司使用的是PHP7.据说PHP7的性能比之前提高很多.下面整理下php7的新特性.力求简单了解.不做深入研究. 1.变量类型声明 函数的参 ...
- python之HTMLParser解析HTML文档
HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析.本文主要简单讲一下HTMLParser的用法. 使用时需要定义一个从类HTMLParser继承的类,重定义函 ...
- ZOJ1181 Word Amalgamation 字符串 排序查找
传送门:ZOJ1181 思路:自身排序来判断两个字符串拥有相同的字符. #include<cstdio> #include<cstdlib> #include<io ...
- win 7 系统ie浏览器升级11版本后,f12功能不可用的问题
自从把ie8升级成11后,f12功能就不可用了.浏览器兼容模式也无法使用. 解决办法:下载windows补丁 IE11-Windows6.1-KB3008923-x64.msu 下载地址: 64位:h ...