XML入门,之dtd属性与元素详解

简介: XML入门,之dtd属性与元素详解

1.标准格式的Xml

1.标准格式的XML(可扩展标记语言)如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <element1 attribute1="value1">Content1</element1>
  <element2 attribute2="value2">Content2</element2>
  <element3 attribute3="value3"/>
</root>

其中,第一行是XML声明,用于指定XML版本和编码格式;根元素是,每个元素可以有一个或多个属性,可以有内容,也可以没有,空元素使用自闭合标签表示,如。注意,XML对大小写敏感,并且所有元素必须有一个结束标签或自闭合标签。

2.xml的作用

1.XML是应用广泛的数据格式,可以描述数据的结构和属性,方便数据交换和共享,同时也支持不同应用程序之间的数据传递和集成。它还衍生出许多相关技术,如DTD、XML Schema、XSLT、XPath、RSS等,被广泛应用于Web、移动应用、桌面应用、数据库等领域,能够满足各种数据处理和交换的需求。由于XML具有可扩展性和独立性等特征,因此在数据管理和应用开发中具有重要的作用。

2.dtd的元素约束详解

1.EMPTY:空元素

1.EMPTY:空元素,即没有内容或子元素,如下所示:

<!ELEMENT element EMPTY>

2.ANY:任意内容

1.ANY:任意内容,可以包括任意字符和子元素,如下所示:

<!ELEMENT element ANY>

3. (#PCDATA):文本数据

1.(#PCDATA):文本数据,即可以包含任意文本内容,但不能包含子元素,如下所示:

<!ELEMENT element (#PCDATA)>

4. 具体元素

1.具体元素:限制元素必须包含特定的子元素,可以使用逗号或竖线分隔符来定义多个子元素,如下所示:

<!ELEMENT element (subelement1, subelement2)>
<!ELEMENT element (subelement1 | subelement2)*>

5.具体元素序列

1.具体元素序列:限制子元素的顺序和出现次数,使用逗号或竖线分隔符来定义多个子元素,可以使用修饰符来限制子元素出现的次数或次数的范围,如下所示:

<!ELEMENT element (subelement1, subelement2?, subelement3*, subelement4+)>
<!ELEMENT element (subelement1 | subelement2)+>

6. 混合内容

1.混合内容:允许元素包含文本和子元素,在子元素之间可以放置文本,使用“#PCDATA”表示文本数据,如下所示:

<!ELEMENT element (#PCDATA | subelement)*>
<!ELEMENT element (#PCDATA | subelement)*>

上述是常见的元素约束方式,可以将它们组合使用,对XML文档的结构进行详细约束。需要注意的是,DTD定义的元素约束只是XML的一部分,因此必须与实际的XML文档一致。

3. DTD的属性约束详解

1.DTD(文档类型定义)可以用来定义XML文档中的元素、属性、实体和其它结构。其中,属性约束是DTD的一个重要部分,用于限制属性的值。下面详细介绍几种属性约束的方式:

1.CDATA

1.CDATA:表示字符数据,即可以包含任意字符,如下所示:

<!ATTLIST element attribute CDATA #REQUIRED>

2.枚举类型

2.枚举类型:使用逗号分隔符来定义属性值的值域,如下所示:

<!ATTLIST element attribute (value1,value2,value3) #REQUIRED>

3. 组合类型

3.组合类型:使用竖线分隔符来定义属性值的值域,如下所示:

<!ATTLIST element attribute (value1|value2|value3) #REQUIRED>

4.整数类型

4.整数类型:使用“#IMPLIED”表示属性值可选,使用“#REQUIRED”表示属性值必须存在,使用“#FIXED value”表示属性值必须为指定的值,如下所示

<!ATTLIST element attribute1 CDATA #IMPLIED>
<!ATTLIST element attribute2 CDATA #REQUIRED>
<!ATTLIST element attribute3 CDATA #FIXED "fixed value">

5.ID类型

5.ID类型:表示属性值必须为唯一标识符,如下所示:

<!ATTLIST element attribute ID #REQUIRED>

6.IDREF类型

6.IDREF类型:表示属性值必须引用另一个元素的ID值,如下所示:

<!ATTLIST element attribute IDREF #REQUIRED>

7.IDREFS类型

IDREFS类型:表示属性值必须引用另一个或多个元素的ID值,使用空格分隔符分隔多个ID值,如下所示:

<!ATTLIST element attribute IDREFS #REQUIRED>

上述是常见的属性约束方式,可以将它们应用于XML文档中的元素和属性,对属性值进行详细约束。需要注意的是,DTD定义的属性约束只是XML的一部分,因此必须与实际的XML文档一致。

目录
相关文章
|
3月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
3天前
|
XML 前端开发 Java
XML基本概念入门学习指南
XML(eXtensible Markup Language)是一种可扩展的标记语言,和HTML语言语法类似,同属于标记语言。
|
5月前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
63 6
|
27天前
|
XML 数据库 数据格式
|
27天前
|
XML 存储 数据格式
|
6月前
|
XML JavaScript 前端开发
属性和方法向 XML DOM 定义了编程接口
XML DOM 提供编程接口,通过属性和方法操作XML结构。使用JavaScript等语言,可访问和修改节点。属性如nodeName、nodeValue揭示节点信息,方法如getElementsByTagName、appendChild、removeChild实现查找、添加和删除节点功能。节点对象x的应用示例贯穿其中。
|
3月前
|
XML Java 数据格式
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
这篇文章是Spring5框架的AOP切面编程教程,通过XML配置方式,详细讲解了如何创建被增强类和增强类,如何在Spring配置文件中定义切入点和切面,以及如何将增强逻辑应用到具体方法上。文章通过具体的代码示例和测试结果,展示了使用XML配置实现AOP的过程,并强调了虽然注解开发更为便捷,但掌握XML配置也是非常重要的。
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
|
3月前
|
XML Java 数据格式
Spring5入门到实战------6、IOC容器-Bean管理XML方式(自动装配)
这篇文章是Spring5框架的入门教程,详细讲解了IOC容器中Bean的自动装配机制,包括手动装配、`byName`和`byType`两种自动装配方式,并通过XML配置文件和Java代码示例展示了如何在Spring中实现自动装配。
Spring5入门到实战------6、IOC容器-Bean管理XML方式(自动装配)
|
3月前
|
XML Java 数据库
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
这篇文章是Spring5框架的实战教程,详细介绍了事务的概念、ACID特性、事务操作的场景,并通过实际的银行转账示例,演示了Spring框架中声明式事务管理的实现,包括使用注解和XML配置两种方式,以及如何配置事务参数来控制事务的行为。
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
|
3月前
|
XML 存储 数据库
XML 中的元素和属性
【8月更文挑战第22天】
47 0