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文档一致。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值