DTD 属性附加声明
- 格式:doc
- 大小:43.00 KB
- 文档页数:2
!DOCTYPE标签的定义与⽤法<!DOCTYPE> 声明不是 HTML 标签;它是指⽰ web 浏览器关于页⾯使⽤哪个 HTML 版本进⾏编写的指令。
在 HTML 4.01 中,<!DOCTYPE> 声明引⽤ DTD,因为 HTML 4.01 基于 SGML。
DTD 规定了标记语⾔的规则,这样浏览器才能正确地呈现内容。
HTML5 不基于 SGML,所以不需要引⽤ DTD。
w3c建议:应该始终向 HTML ⽂档添加 <!DOCTYPE> 声明,这样浏览器才能获知⽂档类型。
SGML(标准通⽤置标语⾔):是⼀种定义电⼦⽂档结构和描述其内容的国际标准语⾔。
SGML本⾝并不是⼀个⽂档语⾔,但它描述了⼀种⽂档语⾔,因此它是⼀种元语⾔。
常⽤的 DOCTYPE 声明在 HTML 4.01 中有三种 <!DOCTYPE> 声明。
在 HTML5 中只有⼀种:HTML 5<!DOCTYPE html>HTML 4.01 Strict该 DTD 包含所有 HTML 元素和属性,但不包括展⽰性的和弃⽤的元素(⽐如 font)。
不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "/TR/html4/strict.dtd">HTML 4.01 Transitional该 DTD 包含所有 HTML 元素和属性,包括展⽰性的和弃⽤的元素(⽐如 font)。
不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">HTML 4.01 Frameset该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
XMLDTD详解XML DTD详解 ⼀个有效的XML⽂档必然是结构正规的,结构正规的XML⽂档不⼀定是有效的,即有效的是格式正规的⼀个⼦集。
本⽂详细介绍DTD,包括其对元素的定义,属性的定义,以及实体的定义。
元素的定义DTD中的修饰符号: 这部分符号可以联系正则表达式的符号来记忆。
属性的定义属性类型——CDATA ⽐如:<!ATTLIST title name CDATA #REQUIRED> 定义了⼀个属性,是属于title元素的,属性名叫name,类型是字符串(包括数字和中⽂),并且是⼀个必须要有的属性。
属性类型——NMTOKEN/NMTOKENS 左边图中因为加了空格⽽出错。
属性类型——ID 类型为ID的属性取值必须是唯⼀的。
从这个例⼦还可以看到同⼀个元素可以⼀次定义多个属性,多个属性之间⽤空格分隔即可。
属性类型——IDREF/IDREFS (“⼉⼦”后⾯漏掉了⼀个斜线)属性类型——Enumerated 实现定义好⼀些值,属性的值必须在所列出的值的范围内。
属性的特点#REQUIRED 元素的所有实例都必须有该属性的值(NOT NULL)。
语法:<!ATTLIST 元素名属性名属性类型 #REQUIRED> DTD⽰例:<!ATTLIST person number CDATA #REQUIRED> XML⽰例:<person number="6788"/>#IMPLIED 元素的实例中可以忽略该属性(NULL)。
语法:<!ATTLIST 元素名属性名属性类型 #IMPLIED> DTD⽰例:<!ATTLIST contact fax CDATA #IMPLIED> XML⽰例:<contact fax="888-228833"/> 没有这个属性也是对的。
#FIXED value 元素实例中该属性的值必须为指定的固定值。
DTD规范汽车特征XML文档
DTD不仅可以规范XML元素的层次关系及出现频度,而且也可以规范XML 文档的属性。
元素内容描述目标数据的主要信息,而元素属性描述目标数据的附加信息,通过使用元素属性可以增加XML文档的数据容量而不干扰XML文档的核心数据。
使用DTD规范XML文档中元素的属性步骤如下所示:
(1)在本练习中,将对具体汽车进行描述,这是汽车基本特征有颜色、车门数量、车轮数量、座位数等特征;而汽车制造商、经销商等信息等附加信息。
在新
车颜色车门数量等感官信息,这些信息是购车者首先接触的信息。
而汽车制造商等信息则需要作为属性出现在XML文档中。
图3-2 汽车特征信息。
DOCTYPE声明在CSS5中的作用要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS 都不会生效,也就是说如果没有这个DOCTYPE声明将会导致CSS失效-css无效,特别是没有声明或声明不正确将在标准浏览器下更是不能正常显示。
DOCTYPE声明开始制作符合标准的站点,第一件事情就是声明符合自己需要的DOCTYPE。
查看很多使用XHTML标准开发的网站,第一行就是:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 打开一些符合标准的站点,例如著名web设计软件开发商Macromedia,会发现同样的代码。
而另一些符合标准的站点的代码则如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 那么这些代码有什么含义?一定要放置吗?什么是DOCTYPE上面这些代码我们称做DOCTYPE声明。
DOCTYPE是document type(文档类型)的简写,用来说明你用的XHTML或者HTML是什么版本。
其中的DTD(例如上例中的xhtml1-transitional.dtd)叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。
要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS 都不会生效。
XHTML 1.0 提供了三种DTD声明可供选择:* 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法),完整代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"> * 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如<br>,完整代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "/TR/xhtml1/DTD/xhtml1-strict.dtd"> * 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD,完整代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 我们选择什么样的DOCTYPE理想情况当然是严格的DTD,但对于我们大多数刚接触web标准的设计师来说,过渡的DTD(XHTML 1.0 Transitional)是目前理想选择。
DOCTYPE声明作⽤及⽤法详解⼀、浏览器呈现模式和doctype有的⽹页是遵循标准⽽创作的,但也有很多不是。
即使你不能创建遵循标准的⽹页,也希望浏览器根据标准来正确显⽰那些页。
⽬前,⼤量⽹页充斥着⼤量⾮标准代码,它们仍能正常地⼯作。
事实上,为旧版浏览器设计的⼤多数代码都能在新版浏览器中正确显⽰(虽然呈现⽅式可能有所区别)。
这是什么原因呢?事实上,假如严格遵循最新标准,会完全破坏那些页的⽣存基础。
对于任何希望有所作为的浏览器来说,这当然是令⼈⽆法接受的。
浏览器呈现模式现代浏览器包括不同的呈现模式,⽬的是既⽀持遵循标准的⽹页,也⽀持为⽼式浏览器⽽设计的⽹页。
其中, Standards (标准)模式(也就是严格呈现模式)⽤于呈现遵循最新标准的⽹页,⽽ Quirks (包容)模式(也就是松散呈现模式或者兼容模式)⽤于呈现为传统浏览器⽽设计的⽹页。
另外,注意Mozilla/Netscape 6新增了⼀种 Almost Standards (近似标准)模式,⽤于⽀持为标准的某个⽼版本⽽设计的⽹页。
什么是 doctype切换?放在⽹页顶部的doctype声明是让浏览器进⼊正确呈现模式的关键。
浏览器⾃动切换到恰当的呈现模式,以便正确显⽰由doctype声明所指定的⽂档种类。
理论上,这应该是⼀个⾮常直观的切换。
假如doctype指出当前⽹页是⼀个遵循标准(也就是HTML 4+或XHTML 1+)的⽂档,浏览器就会切换到Standards模式。
假如没有指定doctype,或者指定HTML 3.2以及更⽼的版本,浏览器就切换到Quirks 模式。
这样⼀来,浏览器既能正确显⽰遵循标准的⽂档,⼜不⾄于完全舍弃⽼式的、与标准不符的⽹页。
doctype切换的问题但是,doctype切换是⼀个不完善的⽅案。
即使你在Web⽂档中使⽤了⼀个doctype声明,浏览器也可能不会采取你希望的呈现模式来显⽰⽹页。
原因是多⽅⾯的,包括形式错误的doctype,以及不同<?xml version="1.0" encoding="UTF-8"?>) 开头,其中包括XHTML⽹页。
nodemodules中index.d.ts定义的方法-回复index.d.ts 是指TypeScript 的声明文件,用于描述JavaScript 库或模块的类型信息,从而提供强类型的支持和代码提示。
在这个文件中,通常会定义许多方法和函数的签名,这些签名提供了有关如何使用这些方法的重要信息。
下面,我们将一步一步解释如何使用index.d.ts 文件中定义的方法。
第一步:理解index.d.ts 文件的结构在编写TypeScript 声明文件时,我们首先需要了解index.d.ts 文件的结构。
通常情况下,该文件由许多接口、函数和类型声明组成。
我们可以通过查看文件头部的注释来了解这些声明的用途和使用方法。
例如,我们可能会看到一些描述模块和类的注释,以及对应的方法和属性的定义。
第二步:导入index.d.ts 文件要开始使用index.d.ts 文件中定义的方法,我们首先需要将它导入到我们的TypeScript 项目中。
可以使用import 或require 语句导入该文件,具体取决于项目的模块解析策略。
一旦导入成功,我们就可以开始使用这些定义的类型和方法了。
第三步:使用导入的方法一旦我们成功导入了index.d.ts 文件,就可以根据需要使用其中定义的方法了。
我们可以按照以下方式使用这些方法:1. 理解方法的参数和返回类型在index.d.ts 文件中,每个方法通常都会附带参数和返回类型的定义。
我们可以查阅这些定义来了解方法接受哪些参数,参数的类型是什么,以及方法返回的是什么类型的值。
2. 传入正确的参数根据index.d.ts 文件中方法定义的参数类型,我们需要传入相应类型和数量的参数。
通过查看方法定义的参数列表,我们可以清楚地了解应该传入什么类型的参数。
在这一步骤中,IDE(集成开发环境)通常会提供代码提示,帮助我们正确输入参数。
3. 处理方法的返回值方法的返回值类型定义在index.d.ts 文件的方法签名中,我们可以根据该定义来确定返回值的使用方式。
前面提到过的, DTD ( Document Type Definition ,文档类型定义)就是定义 XML 文档中元素的结构和内容等。
其实 DTD 就相当于 XML 中的“词汇”和“语法”,不同的行业可以定义自己的“词汇”和“语法”,以利于解析器验证 XML 文档的有效性,并且这样也利于行业中和行业之间的交流。
就相当于只有当两个人对各自说出的词汇都理解对方的时候才能有顺利的交流。
这其实就是对 XML 文档使用元素的定义的以层抽象,把它的定义独立出一个文件,以利于对信息的隐藏和扩展。
这也可以把它想象成程序语言,比如 C# 中的接口的定义。
把 DTD 文件想象成一个接口,而引用这个 DTD 文件的 XML 文档是这个接口的实现类,只要了解了这个 DTD 文件,就大致知道了和这个 DTD 文件相链接的 XML 文档的一些框架信息。
DTD 文件也可以看成是一系列 XML 文档的模板,它定义了相关 XML 文档的元素,属性,排列方式(元素,属性等),元素的内容类型,以及元素的层次结构等。
DTD 中元素的声明<;!ELEMENT 元素名(元素描述) >;这里主要介绍元素描述,元素的描述包含两部分:1. 如果元素是简单元素,即该元素不包含子元素,则描述部分是针对该元素的内容的限制或是规定。
这种限制的描述可以是:#PCDATA :元素的内容只能是可解析的文本数据。
<;!ELEMENT 元素名 (#PCDATA)>;EMPTY :元素内容必须为空,但可以包含属性。
<; ! ELEMENT 元素名 EMPTY>;2. 如果元素是复杂元素,即该元素包含子元素,则元素描述包含对子元素名的列表(可用正则表达式表达)。
元素描述的括号表示内容描述的组合。
<;!ELEMENT book(title, author+, summary | content)>;正则表达式用法:( ) 给元素分组(A | B | C), (D | E), F| 在列出的对象中选择一个 (A | B)* 对象允许出现 0 到多次 (A*)+ 对象应出现 1 到多次 (A+)对象可以出现 0 到 1 次 (A?), 对象以指定顺序出现(A, B, C)同时,如果不能确定一个元素是否含有子元素或是只能包含文本,那么可以将元素定义为混合类型的。
JSP DTD声明文档类型定义DTD中包含4种类型的声明,即元素类型的声明、属性列表声明、实体声明和符号声明。
一个文档类型定义,文件需要将所要创建的XML文档的元素结构和属性类型等预先进行定义。
1.元素类型声明第一个元素类型声明定义一个<student>元素,并规定该元素必须有name、class 和address三个子元素,并且子元素出列的次序必须与之相对应。
第二个元素类型声明也定义了一个<student>元素,并规定该元素的内容仅包含一般的字符串。
元素类型不仅声明了XML文档中可能存在的元素,而且给出了元素名称以及元素的具体类型。
根据XML的标准,按元素内容可以划分为4种类型:空元素类型、ANY元素类型、父元素类型和混合元素类型。
其中的关键字EMPTY表明该元素不包含数据以及子元素。
如果在XML文档中元素本身已经表明了含义,就可以在DTD中声明元素为空元素。
例如:ANY元素类型表明该元素的内容可以是任何字符数据和子元素,只要它们不违反XML格式的约束。
例如:的顺序和次数。
XML的解析器将使用这些正规表达式与XML文档内的数据进行区配,以判断一个文档是否是“有效的”。
正规表达式可以描述父元素和子元素之间非常复杂的关系。
父元素类型的元素声明可以有多种灵活形式,各种形式之间主要是在子元素出现顺序、出现次数,以及各个子元素之间的复合关系决定。
表7-1中列出了在父元素类型中如何规定子元素的次序和出现次。
例如,在下面的DTD父元素类型声明中使用逗号运算符“,”,用于进行一步控混合类型的元素中既可以包含子元素,也可以包含纯文本字符,同样也可以在只能使用竖线分隔#PCDA TA和子元素列表。
2.属性列表声明对于某一个元素而言,它的属性可以有零个或多个,并且每个属性的声明包括属性默认值、属性类型及属性名称等。
默认说明表示在XML文件中,元素的该属性的取值,以及属属性是否为必需。
它具有的取值和说明如表7-2所示。
html文档的基本结构元素的功能HTML文档的基本结构元素的功能HTML(Hypertext Markup Language)是一种标记语言,用于创建网页。
在HTML中,文档被分为三个部分:头部、主体和尾部。
这篇文章将介绍HTML文档的基本结构元素及其功能。
一、DOCTYPE声明<!DOCTYPE>声明是HTML文档中的第一行代码,它告诉浏览器使用哪个HTML版本来渲染页面。
DOCTYPE声明有助于确保页面在各种浏览器中正确显示,并且可以帮助搜索引擎更好地理解您的网站。
二、html标签<html>标签是HTML文档的根元素,它包含了整个文档。
在<html>标签中,还可以使用lang属性来指定页面所使用的语言。
三、head标签<head>标签用于定义文档头部,其中包含了与页面相关的元数据和链接信息。
例如,<head>标签可以包含<title>标签用于定义页面标题、<meta>标签用于指定字符集和关键字等信息、<link>标签用于引入外部CSS样式表等。
四、body标签<body>标签定义了文档主体内容。
在<body>标签中,可以添加各种元素如文字、图像、链接等内容。
五、标题和段落<h1>-<h6> 标题是在文章或网页上添加标题的最常用的方式。
这些标签表示不同级别的标题,<h1>表示最高级别的标题,<h6>表示最低级别的标题。
在文章中,使用标题可以帮助读者更好地理解文章结构。
<p>标签用于定义段落。
当您想要添加一段文字时,可以使用<p>标签将其包裹起来。
六、链接<a>标签用于创建链接。
在<a>标签中,href属性指定链接目标URL,而文本内容则是用户单击时看到的链接文本。
七、图像<img>标签用于在页面中插入图像。
类的定义格式类是面向对象程序设计中的重要概念之一,它是一种自定义数据类型,可以封装数据和方法。
在Java、C++等编程语言中,类是构建程序的基本单位,它可以被看作是一种模板或蓝图,用于创建对象。
本文将介绍类的定义格式,包括类的声明、属性、方法、构造函数等内容。
一、类的声明类的声明是指定义一个新的类,并为它分配一个名称。
类的声明格式如下:[修饰符] class 类名 [extends 父类名] [implements 接口名列表] {// 类体}其中,修饰符可以是public、private、protected或default,用于控制类的访问权限。
类名可以是任意合法的标识符,通常采用驼峰命名法。
extends关键字用于指定父类,表示新类从父类继承属性和方法。
implements关键字用于指定实现的接口,表示新类必须实现接口中定义的方法。
二、类的属性类的属性是指类中定义的变量,用于存储对象的状态信息。
类的属性格式如下:[修饰符] 数据类型属性名 [=初始值];用于控制属性的访问权限。
数据类型可以是任意合法的数据类型,包括基本数据类型和引用数据类型。
属性名可以是任意合法的标识符,通常采用驼峰命名法。
初始值是可选的,用于指定属性的初始值。
三、类的方法类的方法是指类中定义的函数,用于实现对象的行为。
类的方法格式如下:[修饰符] 返回值类型方法名(参数列表) {// 方法体}其中,修饰符可以是public、private、protected或default,用于控制方法的访问权限。
返回值类型可以是任意合法的数据类型,包括基本数据类型和引用数据类型。
方法名可以是任意合法的标识符,通常采用驼峰命名法。
参数列表是指方法的输入参数,可以有多个参数,每个参数由数据类型和参数名组成。
方法体是指方法的具体实现,可以包含任意的Java语句。
四、类的构造函数类的构造函数是指用于创建对象的特殊方法,它在对象创建时自动被调用。
⼆、DTD⽂档定义类型1、DTD(document type definition ⽂档类型定义):1) DTD 是⼀套关于标记符的语法规则。
它是XML1.0版规格的⼀部分,是XML⽂件的验证机制,属于XML⽂件组成的⼀部分。
2) DTD 是⼀种保证XML⽂档格式正确的有效⽅法,可以通过⽐较XML⽂档和DTD⽂件来看⽂档是否符合规范,元素和标签使⽤是否正确。
XML⽂件提供应⽤程序⼀个数据交换的格式,DTD正是让XML⽂件能够成为数据交换的标准,因为不同的公司只需定义好标准的DTD,各公司都能够依照DTD建⽴XML⽂件,并且进⾏验证,如此就可以轻易的建⽴标准和交换数据,这样满⾜了⽹络共享和数据交互。
3) DTD⽂件是⼀个ASCII的⽂本⽂件,后缀名为.dtd该⽂件⼀般和xml⽂件配合使⽤,主要作⽤是约束 xml,除了dtd技术外还有⼀个schema的技术⽤于去约束xml⽂件的书写规范。
derived:起源、由来2、DTD⽂档的声明及三种引⽤⽅法:1)内部DTD⽂档(这个⽤的⼈很少) <!DOCTYPE 根元素 [定义内容]>2)外部DTD⽂档(经常使⽤的是外部dtd⽂档)<!DOCTYPE 根元素 SYSTEM "DTD⽂件路径">3)内部DTD⽂档结合<!DOCTYPE 根元素 SYSTEM "DTD⽂件路径" 定义内容> (这个⼏乎就没有⼈⽤)【DTD元素定义语法】<!EMEMENT 元素名称 类型>其中类型包括:EMPTY,ANY,#PCDATAEMPTY:该元素不能包含⼦元素和⽂本,但是可以有属性。
(空元素)ANY:该元素可以包含任何在DTD中定义的元素内容#PCDATA:可以包含任何的字符数据,但是不能再其中包含任何⼦元素其他类型(组合)|⽰例|<!ELEMENT 班级 (学⽣+)><!ELEMENT 学⽣ (名字,年龄,介绍)><!ELEMENT 名字 EMPTY> <name>⼩张</name> 会报错 <name/> 正确<!ELEMENT 年龄 (#PCDATA)><!ELEMENT 介绍 ANY>DTD⽂件中不同修饰符的含义:【DTD属性定义语法】<!ATTLIST 元素名称属性名称 类型 属性特点属性名称 类型 属性特点>属性的类型包括1) CDATA:(character data)表⽰的是普通类型 ,也就是说表⽰可以放⽂本(数字和中⽂);2) ID: 表⽰该属性的取值必须是唯⼀的 备注id类型的属性的值不能以数字开头,⼀般以英⽂开头。
第一章一、填空题1.HTML语言是如何显示数据的,XML是描述。
2.HTML语言遵循协议,而在网络运行的。
3.XML是一种和语言,XML具有自描述性、内容和显示相分离、可扩张、独立于平台等特点。
4.XML解析器是之间存在的软件组织,主要起桥梁的作用。
5.XML的技术优势有、、可扩展性、语法自由、结构化集成数据。
答案:1.数据是什么2.http3.描述数据和数据结构4.XML和应用程序5.数据重用,数据和表示分离二、选择题1.HTML语言中表示超级链接的标记。
A. <a>B. <b>C. <option>D.<tr>2.表单标记中,用来表示文本框或密码框输入字符最大数。
A. fileB. maxlengthC. sizeD. name3.下面不是XML语言的特点。
A. 自我描述B.可扩展C. 跨平台D. 修饰数据4.下面不是XML使用的解析器。
A. IBM XML4Jaache XercesB. Sun Project XC. Microsoft MSXMLD. Java5.下面不是XML的相关技术。
A. DTDB. XSLC. DHTMLD. XPath6.对表格的两行进行行合并,需用标记。
A. rowspanB. clospanC. cellpaddingD. table7.HTML标记中,能够完成颜色设定的标记,除了标记不是外,其余全是。
A. bgcolorB. TextC. colorD. href8.HTML标记中能显示图片的标记是。
A. embedB. srcC. imgD. a9.对XML文档的显示样式修饰的是下面技术。
A. XSLB. XPathC. XlinkD. XHTML10.HTML语言中的预定义标记是标记。
A. addressB. blockquoteC. preD. u答案:ABDDC ADCAC三、简答题1.简述HTML表格有哪些标记。
DTD 属性类型在DTD中声明元素属性,其中属性类型是属性声明中所必需的声明组成部分,在表3-2中列出了常见的属性类型,下面就将针对这些常见属性类型进行详细介绍。
●CDATA属性类型CDATA的含义不同与第二章介绍的CDA TA区段,属性类型CDATA 表示可以包含任何字符串,但不允许使用小于号“<”、大于号“>”、与符号“&”、双引号“"”和单引号“'”这几个字符。
如果需要使用这几个特殊字符,则必须使用实体引用(如<、>等)来替换它们。
如果属性值中需要使用特殊字符,那么在上述文件中定义了一个根元素student,该元素的name属性值的类型为CDA TA。
在该属性值中出现了单引号,因此使用了实体引用“'”来替代单引号。
在浏览器中打开该文件如图3-4所示。
图3-4 实体引用●枚举枚举声明了属性的备选值列表,属性必须从该列表中选择一个值作为属性值。
取值有“正确”或“错误”,而且默认取值值为“正确”。
●ID该属性在xml文件中是唯一的,常用来表示人的身份号码,例如学生编号、身多个student元素实例的id属性不能重复,如果XML文档中有重复的id属性,则该XML文档就不是有效的XML文档。
ID类型和默认值#FIXED不兼容。
属性不能既是固定的,又有ID类型。
这是因为#FIXED属性值是惟一的,而每个ID类型的属性值不重复。
大多数ID属性使用#REQUIRED。
●IDREFIDREF属性类型的属性指向带有ID属性的元素。
如果在DTD中使用了IDRE F属性类型,则检查有效性的分析程序会确定IDREF引用的每个ID属性类型是否都在XML文档中。
下面实例XML文档用来描述工程与负责的关系,具体内容如下所示:id属性,而负责部门和负责项目都具有IDREF类型的refId属性,从而用来指定与此匹配的负责人和项目元素。
也就是说负责部门的属性refId要与负责人的属性id 匹配,负责项目的属性refId要与项目的属性id匹配。
DTD 属性附加声明
在DTD的属性声明语法结构中,每个A TTLIST声明除了有一个属性类型外,还必须具有附加声明。
DTD提供了四种附加声明:#REQUIRED、#IMPLIED、#FI XED和缺省值。
下面将给出这四种附加声明的详细用法。
●#REQUIRED
#REQUIRED指定该属性是元素必须具有的属性。
如果在DTD声明属性进行R
在XML文档中使用Desk元素声明时,元素Desk必须具有三个属性Lengh、Width和Height。
如果缺少任何一个属性,那么解析器在解析时都将出现错误。
●#IMPLIED
#IMPLIED附加声明指定该元素可以具有该属性也可以不具有该属性。
具体实例如下所示:
学号,但是无须具有name属性,因此可以使用IMPLIED作为附加声明。
●#FIXED
如果使用上述语法进行属性声明,则在相应XML文档中可以不显式地使用该
属性,处理器会自动给元素添加该属性及其属性值。
如果显式地使用该属性,那么
上述代码保存为fixed.xml文件。
在不同学习阶段课桌的长度是保持不变的,因此不需要为每一种课桌类型显式指定长度。
这样就减少编写XML文档时的工作量,并且提高了XML文档的质量。
缺省值
缺省值为属性设置默认属性值。
如果在元素中显式指定该属性的值,那么默认值将不起作用;如果在元素中没有显式指定该属性,那么该属性值使用默认值,如下所示:
上述代码保存为default.xml文件。
在该文件中,把length属性的附加属性设置为“1.0m”的默认值。