博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xml约束技术之dtd
阅读量:4544 次
发布时间:2019-06-08

本文共 1505 字,大约阅读时间需要 5 分钟。

DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。这篇文章作简单介绍下DTD的用法。想学习完整的请点击下面w3c的教程。

1.

##2.xml约束技术:

DTD约束:语法相对简单,功能也相对简单。先出现
Schema约束:语法相对复杂,功能也相对强大。采用和xml语法类似的编写方式,Schema约束出现就是为了替换DTD约束。

3.DTD简介:

  文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

3.1导入DTD的方式:

1.内部导入:

#导入方式:#实例:
]>
Tove
Jani
Reminder
Don't forget me this weekend
  1. (第二行)定义此文档是 note(根标签) 类型的文档。
  2. (第三行)定义 note 元素有四个元素(标签):"to、from、heading,、body"
  3. (第四行)定义 to 元素为 "#PCDATA" 类型
  4. (第五行)定义 frome 元素为 "#PCDATA" 类型
  5. (第六行)定义 heading 元素为 "#PCDATA" 类型
  6. (第七行)定义 body 元素为 "#PCDATA" 类型

2.外部导入方式:

  本地文件:

#导入方式: #note.dtd文件内容:

  公共的外部导入:一般项目采用公共外部导入,比如ssh的xml文件基本上就是采用了这种方式

#导入方式: #如hibernate.cfg.xml:

3.2DTD语法:

  1.约束标签

 语法:

 类别:

  1. 空标签: EMPTY。 表示元素一定是空元素.例如:<bb/>:<!ELEMENT bb EMPTY>
  2. 普通字符串: (#PCDATA)。表示元素的内容一定是普通字符串(不能含有子标签)。例如:<!ELEMENT to (#PCDATA)>
  3. 任何内容: ANY。表示元素的内容可以是任意内容(包括子标签) 例如:<!ELEMENT note ANY>

 元素内容:

顺序问题:
: 按顺序出现子标签次数问题:标签 : 必须且只出现1次。标签+ : 至少出现1次标签* : 0或n次。标签? : 0 或1次。声明"非.../既..."类型的内容

  2.约束属性:

 语法:

 属性类型:

CDATA :表示普通字符串(en1|en2|..): 表示一定是任选其中的一个值ID:表示在一个xml文档中该属性值必须唯一。值不能以数字开头

 默认值:

#REQUIRED 属性值是必需的#IMPLIED   属性不是必需的#FIXED value 属性不是必须的,但属性值是固定的

3.3测试如下,请细看注释:

]>
Tove
Jani
Reminder
Don't forget me this weekend

转载于:https://www.cnblogs.com/onepeace/p/4907311.html

你可能感兴趣的文章
Java的访问权限
查看>>
HTML5 1.5 表格元素
查看>>
SMT(SF)
查看>>
Android系列--DOM、SAX、Pull解析XML
查看>>
关于64位 MS SQL 导入导出 Oracle 引发 ORA-06413 的解决方法
查看>>
java.io.UnsupportedEncodingException
查看>>
浅析手机抓包方法实践(zt)
查看>>
记一次MySQl 安装1067错误
查看>>
DirectSound的应用
查看>>
MessageDigest简单介绍
查看>>
BBSXP最新漏洞 简单注入检測 万能password
查看>>
python基础学习笔记(十一)
查看>>
上网必备AdBlock,远离广告!
查看>>
又一篇,讲解Wcf、Silverlight3.0与Nhibernate的集成方案
查看>>
WP异步传递参数
查看>>
async-await 异步请求
查看>>
MSDN for 2010的那些麻烦事
查看>>
四个正则
查看>>
这七种数据分析领域中最为人称道的降维方法
查看>>
浅谈综述论文:文献综述
查看>>