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

目录
相关文章
|
8月前
|
XML 开发框架 JSON
J2EE基础XML(dtd)
J2EE基础XML(dtd)
44 0
|
26天前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
25 5
|
2月前
|
XML JavaScript 前端开发
XML DOM - 属性和方法
XML DOM通过属性(如nodeName、nodeValue、parentNode、childNodes和attributes)和方法提供编程接口,让开发者用JavaScript等语言以节点方式交互XML。属性描述节点信息,方法执行操作,如删除节点。
|
2月前
|
XML JavaScript 前端开发
属性和方法向 XML DOM 定义了编程接口
XML DOM 提供编程接口,通过属性和方法操作XML结构。使用JavaScript等语言,可访问和修改节点。属性如nodeName、nodeValue揭示节点信息,方法如getElementsByTagName、appendChild、removeChild实现查找、添加和删除节点功能。节点对象x的应用示例贯穿其中。
|
2月前
|
XML JavaScript 前端开发
XML DOM - 属性和方法
**XML DOM 提供编程接口,将XML转换为节点对象,便于通过JS等语言操作。属性如 nodeName、nodeValue、parentNode、childNodes 和 attributes 描述节点详情。方法用于执行操作,如删除节点。**
|
29天前
|
XML JavaScript 前端开发
属性和方法向 XML DOM 定义了编程接口
XML DOM 是一个编程接口,它将XML表示为节点对象集合,可通过JavaScript等语言访问。接口通过属性和方法定义,属性如nodeName、nodeValue显示节点信息,方法如getElementsByTagName、appendChild、removeChild执行操作。例如,x.nodeName返回节点名称,x.appendChild(node)添加子节点。
|
2月前
|
XML 数据格式
XML Schema 复杂元素类型详解:定义及示例解析
在XML Schema(XSD)中,复杂元素包含其他元素和/或属性,分为4类:空元素、仅含元素、仅含文本和既含元素也含文本。定义复杂元素可通过直接声明或引用预定义的复杂类型。复杂空元素仅含属性,而仅含元素的类型则只包含其他子元素。XSD提供了`&lt;xs:sequence&gt;`、`&lt;xs:all&gt;`、`&lt;xs:choice&gt;`等指示器来规定元素顺序和出现次数,以及`&lt;xs:attributeGroup&gt;`和`&lt;xs:group&gt;`来组织元素和属性。
191 7
|
2月前
|
XML JavaScript 前端开发
XML DOM - 属性和方法
XML DOM 提供编程接口,让开发者用JavaScript等语言操作XML文档。接口包含属性和方法,属性如nodeName、nodeValue、parentNode和childNodes,用于查询节点信息;方法如getElementsByTagName、appendChild和removeChild,执行增删操作。示例中,JavaScript代码`txt=xmlDoc.getElementsByTagName(&quot;title&quot;)[0].childNodes[0].nodeValue`从books.xml获取第一个&lt;title&gt;元素的文本内容,赋值给变量txt。
|
2月前
|
XML 安全 Java
从零手写实现 apache Tomcat-02-web.xml 入门详细介绍
`web.xml`是Java Web应用的核心配置文件,描述应用工作方式。它包含Servlet、Filter和Listener的定义。例如,示例展示了如何配置名为`my`的Servlet处理`/my`请求,`LoggingFilter`拦截所有请求,以及`MyServletContextAttrListener`监听应用事件。`web.xml`是服务器理解应用结构与行为的指南。迷你版Tomcat实现——mini-cat(开源:https://github.com/houbb/minicat)。
|
2月前
|
XML 存储 数据格式
探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义
DTD(文档类型定义)用于定义XML文档的结构和合法元素、属性。它允许不同团体就数据交换标准达成一致,并用于验证XML数据的有效性。DTD可通过内部声明(在XML文档内)或外部声明(在单独文件中)来定义。内部声明示例显示了如何定义`note`元素及其子元素的结构,而外部声明则引用外部DTD文件。元素、属性、实体和PCDATA/CDATA是XML构建模块。DTD中,元素通过ELEMENT声明定义,属性通过ATTLIST声明定义,实体声明提供特殊字符或外部资源的快捷方式。
45 0