在XML跟HTML的世界中,文档范例定义(DTD)扮演着至关重要的角色。DTD不只定义了XML或HTML文档的构造,还容许开辟者经由过程实体跟属性来加强文档的机动性跟可保护性。本文将深刻探究DTD实体与属性的感化、用法以及怎样利用它们构建清楚、标准的网页构造。
DTD实体是一种特别范例的变量,用于定义跟引用在文档中反复呈现的文本或数据。实体分为两种:外部实体跟外部实体。
外部实体是在DTD外部定义的,平日用于包含罕见的文本片段,如版权申明或公司称号。以下是一个外部实体的例子:
<!DOCTYPE html [
<!ENTITY copyright "© 2025 Your Company">
]>
<html>
<head>
<title>Example Page</title>
</head>
<body>
<p>This is an example page.</p>
<p>Copyright ©right;.</p>
</body>
</html>
鄙人面的例子中,©right;
实体引用了定义在 DTD 中的 © 2025 Your Company
文本。
外部实体则引用外部文件中的内容。这种实体的定义平日位于一个独破的 .dtd
文件中,如下所示:
<!DOCTYPE html [
<!ENTITY copyright SYSTEM "http://www.example.com/copyright.dtd">
]>
<html>
<head>
<title>Example Page</title>
</head>
<body>
<p>This is an example page.</p>
<p>Copyright ©right;.</p>
</body>
</html>
在这个例子中,©right;
实体引用了一个名为 copyright.dtd
的外部文件。
属性是元素的一部分,用于供给有关元素内容的额定信息。在DTD中,可能经由过程 ATTLIST
申明来定义属性。
属性申明包含属性称号、数据范例、默许值跟能否必须等。以下是一个属性申明的例子:
<!DOCTYPE html [
<!ATTLIST person
name CDATA #IMPLIED
age CDATA #IMPLIED
email CDATA #IMPLIED>
]>
<html>
<head>
<title>Example Page</title>
</head>
<body>
<p>Welcome, <person name="John Doe" age="30" email="john.doe@example.com"></person>!</p>
</body>
</html>
鄙人面的例子中,person
元素可能包含 name
、age
跟 email
属性,但它们都是可选的。
属性默许值可能在申明中指定,如许在未供给属性值的情况下,剖析器会利用默许值。以下是一个包含默许值的属性申明的例子:
<!DOCTYPE html [
<!ATTLIST person
name CDATA "Unknown" #IMPLIED
age CDATA "0" #IMPLIED
email CDATA "#IMPLIED">
]>
<html>
<head>
<title>Example Page</title>
</head>
<body>
<p>Welcome, <person name="John Doe"></person>!</p>
</body>
</html>
在这个例子中,假如 person
元素不供给 name
属性,剖析器会利用默许值 "Unknown"
。
DTD实体与属性是构建清楚网页构造的关键技能。经由过程利用实体,可能简化文档内容的反复,进步可保护性;而属性则容许为元素供给额定的信息,加强文档的机动性。控制这些技能,可能帮助开辟者创建愈加标准、易于保护的XML跟HTML文档。