学习笔记——XML的DTD语义约束

原创 2012年03月23日 22:20:15

Document Type Definition(DTD,文档类型定义)

 

引入DTD的3种方式:内部,外部,公用。

 

内部DTD格式

 

<?xml version="1.0" encoding="GBK" standalone="yes" ?>  
<!DOCTYPE 根元素名[
	元素描述
]>
文档主体

 

外部DTD格式

 

<!DOCTYPE 根元素名
SYSTEM “外部DTD的URL”>


公用DTD格式

 

<!DOCTYPE 根元素名
PUBLIC “DTD的标识名" "公用DTD的URL”>

DTD文档结构

 

DTD使用的元素:

<!ELEMENT...>:定义一个XML元素。

<!ATTLIST...>:定义一个属性。

<!ENTITY...>:定义一个实体。

<!NOTATION...>定义一个符号。

 

元素的类型:

ANY:任意。

(#PCDATA):字符串。

EMPTY:空元素。

混合类型

e,g,

 

<!ELEMENT 元素名 ANY>
<!ELEMENT 元素名 (#PCDATA)>
<!ELEMENT 元素名 EMPTY>
<!ELEMENT 元素名 (#PCDATA | 子元素1 | 子元素2...)

 

定义子元素

 

有序的子元素

<!ELEMENT 元素名 (子元素1,子元素2,子元素3)>


互斥的子元素

<!ELEMENT 元素名 (子元素1|子元素2|子元素3)>


可在子元素后跟随一个表示频率的特殊标记(+、*、?)

 

定义元素的属性

格式如下

 

<!ATTLIST 所属的元素 属性名 属性类型 [属性的约束] [默认值]>

 

属性的类型

CDATA:字符串数据。

(en1 | en2 | en3):一系列枚举值之一。

ID:标识符。

IDREF:引用另一个ID。

IDREFS:引用多个已有的ID,空格为分隔符。

NMTOKEN:必须是合法的XML名称,只能由字母、数字、_、-、.、:组成。

NMTOKENS:多个NMTOKEN,空格为分隔符。

ENTITY:外部实体。

ENTITIES:多个外部实体,空格为分隔符。

NOTATION:声明过的符号,少用。

xml:预定义的XML值。

 

属性的约束规则

#REQUIRED:必须属性。

#IMPLIED:非必须属性。

#FIXED:值固定属性。

 

定义一个实体

实体就是一个字符串代替另一个字符串。

普通实体定义格式:

<!ENTITY 实体名 "实体值">

 

普通实体使用格式:

&实体名;

 

定义参数实体格式:

<!ENTITY % 实体名 "实体值">

 

使用参数实体格式:

%实体名:

 

外部实体定义格式:

<!ENTITY 实体名 SYSTEM|PUBLIC "实体值所在文件的URL">

 

外部参数实体格式:

<!ENTITY % 实体名 SYSTEM|PUBLIC "实体值所在文件的URL">

 

定义符号

XML文档只是一个文本文件,它无法处理复杂的数据类型,比如声音、图片等,符号正是用于标识这些数据。

标识后的数据可以由相应的外部程序处理。

定义普通符号的格式:

<!NOTATION notation SYSTEM "value">

 

定义公共符号的格式:

<!NOTATION notation PUBLIC "name" "value">

xml学习笔记2--DTD约束

一、xml约束概述 什么是xml约束    在xml技术里,可以编写一个文档来约束xml文档的书写规范,称之为xml约束。  为什么需要xml约束  常用的约束技术   xml DTD   xml ...
  • Hollboy
  • Hollboy
  • 2013年10月07日 20:07
  • 1116

xml学习笔记——dtd和schema

XML是一种用作网络数据传输的语言,它不同于HTML,HTML主要用来表现数据,而XML主要用来传输数据。 XML的知识点很多,它是一门比较复杂的语言。在这里要谈的只是冰山一角——XML的两种文档定...

[XML]学习笔记(三)——DTD属性的声明及类型

一、属性的声明: a)        任何标记的属性都必须在DTD文档中进行声明,都要通过关键字 定义。 b)        所有标记的属性,即便是同名属性,都要在各个标记中声明。 如publis...

[XML]学习笔记(二)——DTD的声明与实体

一、 文档类型声明: a) 内部DTD的声明: DTD定义语句与XML文档在同一文档,通常放在头部。格式如下: 注意在DOCTYPE后面跟的是根标记的名字。 b) 外部DTD的声明: i. …...

xml语义约束:DTD和Schema

XML不像HTML那样有一套预置的标签,但是XML有严格的语义约束,主要有两种模式:DTD和Schema DTD DTD有三种引用方式: 1.内部引用,DTD只能供一个XML文档使用。 2.外...

【学习笔记】DTD约束文件

一、DTD文件规则:1.一份XML有且仅有一个根元素。 2.XML是严格区分大小写的,元素和元素是不相同的。 3.如果一个元素不需要子内容的话,它就是一个空元素,应写成:,就不要写成这样了: 4...

关于xml学习(二)——xml的约束之DTD

什么是XML约束? 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。 常用的约束技术:XML DTD,XML Schema...

XML & DTD 学习笔记

XML:Extensible Markup Language,可扩展标记语言。目前一般使用的是W3C组织2000年发布的1.0版本,现在最新的版本是1.1版,不过1.0应用范围相对更广一些。一般应用于...

JavaWeb学习笔记之xml&DTD&schema

开发工具 junit单元测试 xml文件的常见应用: 1、交换数据 2、配置文件 1.xml概述 1.1xml概念:xml本质上是一种数据存储的格式,可以在保存数据的同时保存数据之间的关系...
  • ladooz
  • ladooz
  • 2013年02月28日 22:42
  • 378

学习笔记-XML、DTD与Schema

最近简单的了解并学习了XML,DTD,和XMLSchema的一些基本应用,总结如下: XML 是一种可扩展的标记性语言,用来存储和传输数据 书写格式: 这是 一个 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习笔记——XML的DTD语义约束
举报原因:
原因补充:

(最多只允许输入30个字)