`
375809600
  • 浏览: 153170 次
  • 来自: 湖北
社区版块
存档分类
最新评论

dtd约束的使用

 
阅读更多

今天我给大家介绍一种xml的约束技术,dtd,这个技术在现在的程序中的框架中多见,但是在开发中通常使用schema,为了读懂框架,我们必备的知识之一。废话就不多说了,直接入门

一、一个关于产品的dtd

product.dtd

 

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT products (product+)>
<!ELEMENT product (name,price,number,description)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT number (#PCDATA)>
<!ELEMENT description (#PCDATA)>
 

 

这是一个引用了product.dtd的xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE products SYSTEM "product.dtd">
<products>
	<product>
		<name>冰箱</name>
		<price>3000</price>
		<number>20</number>
		<description>冷藏食品</description>
	</product>
	<product>
		<name>手机</name>
		<price>1999</price>
		<number>50</number>
		<description>可以通讯</description>
	</product>
</products>

 经过上面的入门,应该能掌握一点点规律了,在dtd中,有三种引用方式

分别是:

1.内部引用   示例:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE 书架 [
	<!ELEMENT 书架 (书+)>
	<!ELEMENT 书 (书名,作者,售价)>
	<!ELEMENT 书名 (#PCDATA)>
	<!ELEMENT 作者 (#PCDATA)>
	<!ELEMENT 售价 (#PCDATA)>
]>
<书架>
	<书>
		<书名>Java就业培训教程</书名>
		<作者>张孝祥</作者>
		<售价>39.00元</售价>
	</书>

</书架>
 

2.外部引用

 

当引用的文件在本地时(外部DTD),采用如下方式:

<!DOCTYPE 文档根结点 SYSTEM "dtd文件的路径">

例如: <!DOCTYPE products SYSTEM “c:\product.dtd”>。* DTD文件路径 本地的。

 

 

3.公共dtd的引用

 

当引用的文件是一个公共的文件时(公共DTD)采用如下方式:

<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">

 

例如:<!DOCTYPE web-app PUBLIC 

"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

二、dtd中的元素定义


 细心可以发现,这个+号,我们常用,用+类比,其他的元素的用法

三、属性:
属性声明举例



 
<!ATTLIST 商品
类别 CDATA #REQUIRED 必须的
颜色 CDATA #IMPLIED  可选的
>
示例:<?xml version="1.0" encoding="UTF-8"?>
<!-- 内部DTD -->
<!DOCTYPE products [
	<!ELEMENT products (product+)>
	<!ELEMENT product (name,price,number,description)>
	<!ELEMENT name (#PCDATA) >
	<!ELEMENT price (#PCDATA) >
	<!ELEMENT number EMPTY >
	<!ELEMENT description (#PCDATA) >
	
	<!ATTLIST product id ID #REQUIRED>
]>
<products>
	<product id="p001">
		<name>冰箱</name>
		<price>3000</price>
		<number></number>
		<description>冷藏食品</description>
	</product>
	<product id="p002">
		<name>手机</name>
		<price>1999</price>
		<number />
		<description>可以通讯</description>
	</product>
</products>
 
数据类型:

 
<!ATTLIST 商品
类别 CDATA #REQUIRED 必须的
颜色 CDATA #IMPLIED  可选的
>
四、实体(ENTITY)定义
实体用于为一段内容创建一个别名,以后在XML文档中就可以使用别名引用这段内容了。
在DTD定义中,一条<!ENTITY …>语句用于定义一个实体。

<?xml version="1.0" encoding="UTF-8"?>
<!-- 教师的company 都一样,将重复部分抽取出来 定义实体 -->
<!DOCTYPE teachers [
	<!ELEMENT teachers (teacher+)>
	<!ELEMENT teacher (name,company)>
	<!ELEMENT name (#PCDATA) >
	<!ELEMENT company (#PCDATA)>
	
	<!ENTITY cmy "传智播客2012" >
]>
<teachers>
	<teacher>
		<name>老王</name>
		<company>&cmy;</company>
	</teacher>
	<teacher>
		<name>老李</name>
		<company>&cmy;</company>
	</teacher>
	<teacher>
		<name>老赵</name>
		<company>&cmy;</company>
	</teacher>
</teachers>
 
五、约束的四种形式


 

 

 

  • 大小: 73.4 KB
  • 大小: 55.7 KB
  • 大小: 18.1 KB
  • 大小: 140.8 KB
分享到:
评论

相关推荐

    DTD约束 —— Xml文档 约束技术 学习笔记

    DTD约束是XML文档规范的一种方式,它允许我们定义元素、属性以及它们之间的关系,以实现对XML文档内容的有效控制。 DTD的主要组成部分包括: 1. 元素定义:在DTD中,每个元素都有一个唯一的名称,可以指定元素是否...

    mybatis-dtd约束文件

    综上所述,了解和正确使用MyBatis的DTD约束文件对于编写有效的、无错的XML映射文件至关重要。这不仅可以保证与数据库交互的顺利进行,也有助于提升开发效率和维护性。通过深入理解DTD,开发者可以更好地控制和优化...

    hibernate3.0 dtd约束文件

    总的来说,理解Hibernate3.0的DTD约束文件对于有效管理和优化Hibernate配置至关重要。它们不仅规范了配置文件的结构,还提供了开发工具中的智能感知功能,使得在处理复杂的对象关系映射和数据库配置时,能更轻松地...

    MyBatis3DTD约束

    MyBatis3DTD约束是MyBatis框架中用于定义XML映射文件的一种规范,它描述了XML文件的结构和元素。DTD(Document Type Definition)是XML文档类型定义,用于规定XML文档的合法构建块,包括元素、属性以及它们之间的...

    dwr20.dtd约束文件

    dwr20.dtd约束文件。 &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd" &gt;

    DTD约束文档

    DTD约束文档的作用在于为XML文档提供了一个验证的标准,使得XML解析器能够检查文档是否符合规定的模式,从而保证数据的准确性和一致性。 在Servlet 2.3规范中,DTD的使用是为了定义Web应用的部署描述符(Deployment...

    Hibernate5.0.7的dtd约束

    在实际开发中,正确理解和使用这些DTD约束至关重要。例如,如果不正确地设置了`&lt;property&gt;`的`type`属性,可能导致数据类型转换异常;如果忽视了`&lt;id&gt;`的设置,Hibernate可能无法正确识别和操作实体。同时,对于复杂...

    jdom解析xml、dtd约束xml文件

    这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写...

    三大框架的dtd约束文件

    在IT行业中,尤其是Java Web开发领域,Spring、Struts2、Hibernate和MyBatis这四大框架都有各自的DTD约束文件,它们在构建应用时起到了重要的配置作用。 首先,Spring框架的DTD文件主要用于Spring配置文件,例如`...

    mybatis+hibernate+sprin的DTD约束

    首先,让我们深入了解一下`MyBatis`的DTD约束。MyBatis的配置文件(mybatis-config.xml)中,DTD定义了诸如数据库环境、事务管理器、数据源、映射文件等元素。例如,`&lt;environments&gt;`元素用来设置数据库环境,其中...

    xml基础(dtd约束模式,schema约束模式,xslt样式,sax解析,dom解析,jom解析)

    2. **DTD约束模式**: - DTD是用来定义XML文档结构和元素类型的规范,它规定了元素的名称、属性、出现次数等,确保XML文档符合特定的语法规则。 - DTD可以内嵌在XML文档中,也可以作为外部引用,提供了一种验证XML...

    xml约束[dtd,Schema].zip

    此XML Schema与上面的DTD具有相同的功能,但使用了更丰富的语法和数据类型。 在实际应用中,XML文档通常会引用对应的DTD或XML Schema,以便在解析时进行验证。例如,XML文档的开头可能会有以下引用: ```xml &lt;!...

    JavaWeb开发技术-DTD约束.pptx

    DTD约束是XML文档规范的早期形式,它定义了XML文档的结构和元素之间的关系。一个DTD文件包含了关于XML文档合法元素的声明,以及这些元素如何组合的规则。例如,在一个书籍管理系统中,我们可能会有如下的DTD约束: ...

    使用DOM4J验证DTD最简单的方法

    通过定义元素、属性、元素间的顺序和数量,DTD为XML文档设定了约束,防止了无效数据的输入。 DOM4J提供了一个名为`DocumentType`的类,用于处理DTD。验证XML文档是否符合其关联的DTD,我们可以遵循以下步骤: 1. *...

    spring约束dtd.zip

    其中,XML配置是Spring早期版本中常见的配置方式,它使用DTD(Document Type Definition)来定义XML文档的结构和规则。本文将深入探讨Spring框架中的约束DTD,以及与之相关的各个子模块的xsd文件。 首先,DTD是一种...

    DTD 总结 DTD 总结 DTD 总结

    - **XML文档标准**:如SVG(可缩放矢量图形)和RSS(简易信息聚合)等标准都使用了DTD来定义文档结构。 - **Web应用程序**:在Web开发中,DTD用于确保服务器返回的数据遵循预期格式。 总之,DTD是XML文档的重要...

    不同版本的 struts2.dtd

    - 使用符合当前版本的DTD来编写配置文件,以充分利用框架提供的所有功能。 - 学习并理解每个版本的DTD变化,有助于更好地理解和优化应用配置。 总之,Struts2的不同版本的DTD代表了框架在不同阶段的发展和进步,...

    引入的约束文件

    在构建Java应用程序,特别是使用Spring和Spring MVC框架时,正确配置和引用约束文件是至关重要的。这些约束文件主要分为两种类型:DTD(Document Type Definition)和XSD(XML Schema Definition)。它们都是用来...

    DTD的CHM帮助文档

    5. **文档验证**:描述如何使用DTD进行XML文档的验证,包括使用XML解析器进行验证的过程和可能出现的错误消息。 6. **CHM文件的结构**:解释CHM文件的内部结构,包括如何通过索引和目录快速访问内容,以及如何使用...

Global site tag (gtag.js) - Google Analytics