DTD文档说明
模块说明
l 元素
l 属性
l 实体
l PCDATA(parsed character data)
PCDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。
l CDATA(character data)
CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开
DTD文件元素说明
元素的声明方式:
<!ELEMENT 元素名称 类别>
或
<!ELEMENT 元素名称 (元素内容)>
修饰符选项
|
符号 |
描述 |
|
() |
用来元素分组 |
|
| |
在列举中选择一个 |
|
+ |
至少出现一次(1次或者多次) |
|
* |
0次至任意次(0到多次) |
|
? |
0次或者一次 |
|
, |
对象必须 按照指定顺序出现 |
|
EMPTY |
没有子元素 |
|
ANY |
任何可解析的数据组合 |
|
#PCDATA |
(#PCDATA)会被文本解析器解析的文本 |
仍用mybatis dtd文件说明:
<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)>
说明:
Configuration元素下子元素可以有properties等元素,且必须按照指定顺序定义,否则会出现解析错误,同时,只能出现一次或者不定义。
<!ELEMENT databaseIdProvider (property*)>
说明:
databaseIdProvider元素子元素是property,可以出现0次至任意次
<!ELEMENT property EMPTY>
说明:
Property元素的子元素为空。
<!ELEMENT settings (setting+)>
说明:
settings的子元素为setting,且至少出现一次。
另外两种没有使用 情况说明
<!ELEMENT author (#PCDATA)>
<author>蜗牛</author>
说明:
通过解析文本得到具体值,author值为蜗牛
<!ELEMENT 元素名称 ANY>
说明:
通过类别关键词 ANY 声明的元素,可包含任何可解析数据的组合
DTD文件属性说明
声明属性的默认说明:
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
以下是属性类型的选项:
|
类型 |
描述 |
|
CDATA |
值为字符数据 (character data) |
|
(en1|en2|..) |
此值是枚举列表中的一个值 |
|
ID |
值为唯一的 id |
|
IDREF |
值为另外一个元素的 id |
|
IDREFS |
值为其他 id 的列表 |
|
NMTOKEN |
值为合法的 XML 名称 |
|
NMTOKENS |
值为合法的 XML 名称的列表 |
|
ENTITY |
值是一个实体 |
|
ENTITIES |
值是一个实体列表 |
|
NOTATION |
此值是符号的名称 |
|
xml: |
值是一个预定义的 XML 值 |
默认值参数可使用下列值:
|
值 |
解释 |
|
值 |
属性的默认值 |
|
#REQUIRED |
属性值是必需的 |
|
#IMPLIED |
属性不是必需的 |
|
#FIXED value |
属性值是固定的 |
以mybatis dtd中的一个配置说明:
源文件中的配置如下:
1、databaseIdProvider说明
<!ATTLIST databaseIdProvider
type CDATA #REQUIRED
>
说明:
元素databaseIdProvider,属性为type,字符类型,必选。
2、<!ATTLIST properties
resource CDATA #IMPLIED
url CDATA #IMPLIED
>
说明:
元素properties,属性为resource,字符类型,非必选
属性为url,字符类型,非必选
实体
|
实体引用 |
字符 |
|
< |
< |
|
> |
> |
|
& |
& |
|
" |
" |
|
' |
' |
DTD文档说明的更多相关文章
- 课时14.DTD文档声明上(掌握)
1.什么是DTD文档声明? 由于HTML有很多格版本的规范,每个版本的规范之间又又一些差异,所以为了让浏览器能够正确的编译/解析/渲染我们的网页,我们需要在HTML文件的第一行告诉浏览器,我们当前这个 ...
- 课时15.DTD文档声明下(了解)
W3C的官方网站是W3School,我们可以去官方网站查询DTD文档声明. HTML4.01 Strict 非常严谨的 如果你写了这个DTD文档声明,你就不能写如下样式: <fon ...
- xml基础之二(XML结构【2】)DTD文档模版
xml基础之二(XML结构[2])DTD文档模版 xml 模板 文档结构 我们知道XML主要用于数据的存储和传输,所以无论是自定义还是外部引用DTD模板文档,都是为了突出数据的存储规范.DTD(文档 ...
- DTD文档模型和HTML基础
html是超文本标记语言,现在常用到的2中文档格式是html5和XHTML 1.0 Transitiona(过渡). <!DOCTYPE html> <!--当前文档为html5-- ...
- 【HTML&CSS】 第一章:DTD文档声明
<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. <!DOCTYPE> 声明不是 HTML 标签:它是指示 web 浏览器关 ...
- 有效的XML: DTD(文档类型定义)介绍(转)
文档类型定义和命名空间 有效(Valid)的XML文档: 首先,XML文档是个格式正规的(Well-formed)XML文档:(见格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节). ...
- 【HTML/XML 10】XML文档中的Schema文件
导读:DTD是对XML文档进行有效性验证的方法之一,事实上,继DTD之后,出现了用来规范和描述XML文档的第二代标准:Schema.Schema是DTD的继承,但是也有其不同的地方,它是真正的以独立的 ...
- Doctype 文档类型,标准模式,混杂模式
HTML4.01和XHTML1.0 基于 SGML,支持DTD声明,HTML5不是,但是需要 doctype 来规范浏览器的行为. 标准模式是指,DTD声明定义了标准文档的类型后,浏览器按W3C标准解 ...
- dom4j解析xml文档全面介绍
一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...
随机推荐
- mysql float 浮点型
定点数类型 DEC等同于DECIMAL 浮点类型:FLOAT DOUBLE 作用:存储薪资.身高.体重.体质参数等 m,d 都是设置宽度 =============================== ...
- python 面向对象 __dict__
打印 类或对象中的所有成员 类的构造函数属性 属于对象:类中的公有属性和方法等属于类 打印信息 class schoolMember(object): '''学校成员分类''' member = 0 ...
- LockSupport HotSpot里park/unpark的实现
每个java线程都有一个Parker实例,Parker类是这样定义的: class Parker : public os::PlatformParker { private: volatile int ...
- Java8新特性(转载)
1.Lambda表达式 Lambda表达式(也称为闭包)是整个Java 8发行版中最受期待的在Java语言层面上的改变.使用 Lambda 表达式可以使代码变的更加简洁紧凑. Lambda允许把函数作 ...
- boost pool 和 object_pool
内存池(Memory Pool)是一种内存分配方式. 通常我们习惯直接使用new.malloc等API申请分配内存,这样做的缺点在于:由于所申请内存块的大小不定,当频繁使用时会造成大量的 ...
- cookie、session、sessionid ,jsessionid 的区别
本文是转载虫师博客的文章http://www.cnblogs.com/fnng/archive/2012/08/14/2637279.html cookie.session.sessionid 与js ...
- Redis 入门之Redis简介
Reids 是一个开源的高性能键值对数据库.它通过多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存.队列系统等不同的角色. 1.Reids的诞生 Redis到底是在 ...
- P2831 愤怒的小鸟(状压dp)
P2831 愤怒的小鸟 我们先预处理出每个猪两两之间(设为$u,v$)和原点三点确定的抛物线(当两只猪横坐标相等时显然无解) 处理出$u,v$确定的抛物线一共可以经过多少点,记为$lines[u][v ...
- HBase优化相关
1.HBase预分区 HBase在创建表时,默认会自动创建一个Region分区.在导入数据时,所有客户端都向这个Region写数据,直到这个Region足够大才进行切分.这样在大量数据并行写入时,容易 ...
- Tinkoff Challenge - Elimination Round D. Presents in Bankopolis(区间DP)
http://codeforces.com/contest/793/problem/D 题意:给出一些点和他们之间的距离,是有向的,这些点从1~n顺序排列,现在选出k个点组成一条路径,使他们之间的距离 ...