DTD指定了游戏规则。
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指定了游戏规则。的更多相关文章
- python小练习:使用循环和函数实现一个摇骰子小游戏。游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“大”,3<=总值<=10为“小”。然后告诉玩家猜对或者是猜错的结果。
python小练习:使用循环和函数实现一个摇骰子小游戏.游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“ ...
- 在WebGL场景中建立游戏规则
在前三篇文章的基础上,为基于Babylon.js的WebGL场景添加了类似战棋游戏的基本操作流程,包括从手中选择单位放入棋盘.显示单位具有的技能.选择技能.不同单位通过技能进行交互.处理交互结果以及进 ...
- md5增加指定的加密规则,进行加密
import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.securit ...
- 游戏流程&游戏规则
- 开源 RISC-V 架构正在改变 IoT 处理器的游戏规则
by Paddy McWilliams, Director of Product Marketing, CEVA 在过去的十年里,开源软件已经成为了科技世界最大的催化剂.现在开源的力量带来了自由发 ...
- 转载请注明出处: https://github.com/qiu-deqing/FE-interview
转载请注明出处: https://github.com/qiu-deqing/FE-interview Table of Contents generated with DocToc FE-inter ...
- web面试题大全
$HTML, HTTP,web综合问题 常见排序算法的时间复杂度,空间复杂度 前端需要注意哪些SEO web开发中会话跟踪的方法有哪些 <img>的title和alt有什么区别 docty ...
- 前端面试题集锦及答案解析--HTML、 HTTP、web综合问题
前端需要注意哪些SEO 合理的title.description.keywords:搜索对着三项的权重逐个减小,title值强调重点即可,重要关键词出现不要超过2次,而且要靠前,不同页面title要有 ...
- DOCTYPE的作用以及标准模式和兼容模式的区别
<!doctype>声明必须处于HTML文档的头部,在<html>标签之前,告知浏览器的解析器用什么文档标准解析这个文档.DOCTYPE不存在或格式不正确会导致文档以兼容模式呈 ...
随机推荐
- VB检测按键CTRL+C的次数
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As IntegerPriv ...
- IDEA建立---- java web项目
1.新建一个javaweb项目 2.给项目命名 3.建立完的项目结构大概是这样(在web 下新建 两个目录lib 和 classes) 4.找到project Structure---------&g ...
- JAVA GUI布局管理器
边界布局管理器: a.布局方式:是把整个容器划分为五个部分.东西南北中,南北要贯通,中间最大 (不仅是中间的范围最大,权利也最大)当周边不存在的时候中间会占领周边,当中间不存在的时候周边不能占据中间 ...
- JAVA语法02之课程问题解决
(一)示例程序+运行结果: ①EnumTest.java public class EnumTest { public static void main(String[] args) { Size s ...
- js localStorage 设置和取值
定义 Storage 对象,对象有get(取值), set(设置), add(加入新值)三个方法 const Storage = {} Storage.get = function (name) { ...
- 关于不断刷新界面jsp+ajax
jsp主要就是用之前的jsonArray读取 ajax可以设置个定时器,然后设置的方法,至于方法是今天学习到的 function ajax(method,data,url,success){ var ...
- innoDB 存储引擎
innodb 是在mysql 5.5.8 及之后的版本中成为mysql的默认存储引擎.之前都使用myisam. innodb 是事务型的存储引擎 支持ACID事务,适用于小事务. 1.表空间类 ...
- C# 扩展类
C# 中提供一个非常实用的供能,扩展方法(Extension method) 扩展方法是通过额外的静态方法扩展现有的类型.通过扩展方法,可以对已有类型做自己想做的相关扩展.方法:定义静态类,扩展方法也 ...
- ASCII、UNICODE、UTF-8等关系
参考如下: 网址1:http://blog.csdn.net/lx697/article/details/5914417 网址2:http://www.php100.com/html/it/bianc ...
- Install Atom editor in ubuntu 14.04
Step 1: Add repository sudo add-apt-repository ppa:webupd8team/atom Step 2: Update the repository su ...