今天我给大家介绍一种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
分享到:
相关推荐
hibernate3.0 dtd约束文件 手动添加到eclipse,可以对 对hibernatecfg.xml以及XXX.hbm.xml映射文件的约束 方便使用hibernate时进行配置
dtd,是mybatis框架中的xml约束文件,能够规范xml文件的书写
NULL 博文链接:https://even2012.iteye.com/blog/1828290
在官网上提取的dtd,需要的同学可以下载,为什么要够50个字节
这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写...
Spring,Strut2,Hibernate,MyBaits的dtd约束文件
模拟servlet2.3规范,如果开发人员需要在xml使用当前DTD约束,必须包括DOCTYPE
dwr20.dtd约束文件。 <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd" >
mybatis+hibernate+sprin的DTD约束
本资料含有以下内容:xml基础 dtd约束模式 schema约束模式 xslt样式 sax解析 dom解析 jom解析
JavaWeb开发技术-DTD约束.pptx
Hibernate5.0.7的核心配置文件约束和映射配置文件的约束
xml约束文件,DTD,Schema
spring约束dtd.zip
hibernate的xsd和dtd约束文件合集;
经过之前对XML的使用我们发现只要遵守XML的语法规定,编写一个结构良好的XML还是很轻松的,通过引入命名空间也可以为文档中的不同元素进行分组。但是我们之前所做的操作全都是对文档结构的要求,而没有在语法语义上...
不同 struts2.dtd
搭建Spring、Springmvc框架时,需要引入的约束文件。包括dtd文件和xsd文件。
然后打开eclipse ->Window->prefenrence->XML->XML Catalog->User Specifiled Entreis->Add->Location(此处是你放dtd文件的位置例如:D:\mybatis\mybatis-3-config.dtd)->Key(如果更改config,此处应该是:-//...
ibatis的dtd约束,版本2,xml文件中标签提示,网址:http://ibatis.apache.org/dtd/sql-map-2.dtd