1、DTD的作用

DTD是XML的型,列出了XML中的元素有哪些、元素间的关系、元素可以有哪些内容,元素的属性也有哪些。DTD实质说明的是元素间的关系,也就是类之间的关系。是一棵树状结构的说明,与XML相似。

DTD的职责只负责对文档的结构进行规范,真正的验证工作由应用程序执行。所以XML不是一门处理语言,而是一门描述数据的语言。

DTD的关键字是面向对象中的Attribute属性,是对各种类型的一个说明。

DTD是对要描述的XML所有的关键字的一个定义,相当于自定义了关键字(XML的元素的标签结构)

2、DTD的内容:

(1)DTD的引用

DTD可以在XML的内部,必须要有DOCTYPE关键字进行引导。在外部则要进行相关的引用,分为系统标识符和公共标识符。采用多种方式来参照DTD。

<!DOCTYPE XXX根元素 SYSTEM “路径” [内部定义]>

<!DOCTYPE XXX根元素 PUBLIC “FPI的定义”“文件名称”>

(2)元素的声明

元素的内容模型 元素内容、混合内容、空内容、任意内容。

元素内容:子元素、顺序、选择。(,,)(|)

混合内容与元素内容形似。(PCDATA|元素)

空 <!ELEMENT 元素 EMPTY>
任意<!ELEMENT 元素 ANY>

(3)属性声明

<!ATTLIST 元素名 属性名 属性类型 属性值声明>

属性类型:对属性能够取的值进行限制。特别强调,在定义的时候是对属性的类型限制,但在使用的时候却不一样。

ID类型,则属性在使用的时候必须保证唯一性。

定义一个属性为IDREF类型,则此属性在用的时候要参考元素属性类型为ID的属性名称。

标识作用NMTOKEN

枚举类型的属性

实体(配合实体的定义使用,实体在属性中存在的时候)

属性值的取值方式:可以是默认、固定,必须、隐含。是对属性是否存在的进行限制。可以理解为属性的值是多少。

(4)实体引用(在XML中使用这些在DTD中定义的实体)

内置实体(5个标准的)字符实体(字符直接引用&)普通实体(一段内容的替换通常XML引用DTD--DTD引用文本文件无符号 &)参数实体(DTD的定义中进行替换%)

DTD指定了游戏规则。的更多相关文章

  1. python小练习:使用循环和函数实现一个摇骰子小游戏。游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“大”,3<=总值<=10为“小”。然后告诉玩家猜对或者是猜错的结果。

    python小练习:使用循环和函数实现一个摇骰子小游戏.游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“ ...

  2. 在WebGL场景中建立游戏规则

    在前三篇文章的基础上,为基于Babylon.js的WebGL场景添加了类似战棋游戏的基本操作流程,包括从手中选择单位放入棋盘.显示单位具有的技能.选择技能.不同单位通过技能进行交互.处理交互结果以及进 ...

  3. md5增加指定的加密规则,进行加密

    import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.securit ...

  4. 游戏流程&游戏规则

  5. 开源 RISC-V 架构正在改变 IoT 处理器的游戏规则

    by Paddy McWilliams, Director of Product Marketing, CEVA   在过去的十年里,开源软件已经成为了科技世界最大的催化剂.现在开源的力量带来了自由发 ...

  6. 转载请注明出处: https://github.com/qiu-deqing/FE-interview

    转载请注明出处: https://github.com/qiu-deqing/FE-interview Table of Contents generated with DocToc FE-inter ...

  7. web面试题大全

    $HTML, HTTP,web综合问题 常见排序算法的时间复杂度,空间复杂度 前端需要注意哪些SEO web开发中会话跟踪的方法有哪些 <img>的title和alt有什么区别 docty ...

  8. 前端面试题集锦及答案解析--HTML、 HTTP、web综合问题

    前端需要注意哪些SEO 合理的title.description.keywords:搜索对着三项的权重逐个减小,title值强调重点即可,重要关键词出现不要超过2次,而且要靠前,不同页面title要有 ...

  9. DOCTYPE的作用以及标准模式和兼容模式的区别

    <!doctype>声明必须处于HTML文档的头部,在<html>标签之前,告知浏览器的解析器用什么文档标准解析这个文档.DOCTYPE不存在或格式不正确会导致文档以兼容模式呈 ...

随机推荐

  1. 解读浮动闭合最佳方案:clearfix

    .clear{clear:both;height:0;overflow:hidden;} 上诉办法是在需要清除浮动的地方加个div.clear或者br.clear,我们知道这样能解决基本清浮动问题. ...

  2. Java之流程控制语句

    一.Java条件语句(if...else)    ifelse语法:                                              多重if语法:              ...

  3. 微信内嵌浏览器sessionid丢失问题,nginx ip_hash将所有请求转发到一台机器

    现象微信中打开网页,图形验证码填写后,经常提示错误,即使填写正确也会提示错误,并且是间歇性出现. 系统前期,用户使用主要集中在pc浏览器中,一直没有出现这样的问题.近期有部分用户是在微信中访问的,才出 ...

  4. 在VC++6.0开发中实现全屏显示

    全屏显示是一些应用软件程序必不可少的功能.比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“View\Full Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态. ...

  5. php案列4

    一个最简单的利用php生成随机数或者随机字符串的函数.$chars变量中的字符自己修改就能达到数字或者字符串的目的     $len表示长度,代码如下: 复制代码 代码如下: /** * 产生随机字符 ...

  6. 如何用php生成1-10之间的不重复随机数

       今天跟大家分享一个PHP中的案列,大家一起学习学习.                                                        使用shuffle函数生成随机 ...

  7. PHP 的 __FILE__ 常量

    今天碰到了PHP的常量__FILE__的问题了. 在网上查了一下.总结了以下规律. dirname(__FILE___) 函数返回的是脚本所在在的路径. 比如文件 b.php 包含如下内容: < ...

  8. Groovy中文教程(链接收藏)

    学习Gradle前,需要有一个Groovy语言的基础,以免被Groovy的语法困扰,反而忽略了Gradle的知识.这里有一个Groovy的简明中文教程文档,可以快速学习Groovy的一些语法:http ...

  9. 优化Android Studio/Gradle构建

     使用Android Studio进行开,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这 ...

  10. [Matlab] 如何在矩阵中查找特定的字符串

    题目 A = {'abcd','efgh','ijkl'; 'bd3','skge','zxe2'}:怎样查找A中字符串的是否含有字符串"bd3",如有返回字符串所在的行号和列号. ...