本文概述
什么是DTD
DTD代表文档类型定义。它定义了XML文档的合法构造块。它用于定义具有法律元素和属性列表的文档结构。
DTD的目的
它的主要目的是定义XML文档的结构。它包含一个法律元素列表, 并在它们的帮助下定义结构。
检查验证
在继续进行XML DTD之前, 必须检查验证。如果XML文档包含正确的语法, 则称为”格式正确”。
格式正确且有效的XML文档已针对DTD进行了验证。
访问http://www.xmlvalidation.com验证XML文件。
具有DTD的有效且格式正确的XML文档
让我们以格式正确且有效的XML文档为例。它遵循DTD的所有规则。
employee.xml
<?xml version="1.0"?>
<!DOCTYPE employee SYSTEM "employee.dtd">
<employee>
<firstname>vimal</firstname>
<lastname>jaiswal</lastname>
<email>vimal@srcmini02.com</email>
</employee>
在上面的示例中, DOCTYPE声明引用了外部DTD文件。该文件的内容显示在下面的段落中。
员工
<!ELEMENT employee (firstname, lastname, email)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT email (#PCDATA)>
立即测试
DTD的描述
<!DOCTYPE employee:它定义文档的根元素是employee。
<!ELEMENT employee:它定义employee元素包含3个元素” firstname, lastname和email”。
<!ELEMENT firstname:它定义firstname元素为#PCDATA类型。 (可解析的数据类型)。
<!ELEMENT lastname:它定义了lastname元素是#PCDATA类型的。 (可解析的数据类型)。
<!ELEMENT email:定义电子邮件元素为#PCDATA类型。 (可解析的数据类型)。
具有实体声明的XML DTD
doctype声明也可以定义可以在XML文件中使用的特殊字符串。
实体包含三个部分:
- 连字号(&)
- 实体名称
- 分号(;)
声明实体的语法:
<!ENTITY entity-name "entity-value">
让我们看一下在doctype声明中定义ENTITY的代码。
author.xml
<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE author [
<!ELEMENT author (#PCDATA)>
<!ENTITY sj "Sonoo Jaiswal">
]>
<author>&sj;</author>
立即测试
在上面的示例中, sj是在author元素内使用的实体。在这种情况下, 它将打印” Sonoo Jaiswal”的sj实体的值。