- 浏览: 558157 次
- 性别:
文章分类
- 全部博客 (337)
- WEB前端@HTML (4)
- WEB前端@CSS (5)
- WEB前端@javascript (31)
- WEB前端@DHTML (8)
- WEB前端@jQuery (3)
- WEB前端@Flex4 (19)
- WEB前端@BootStrap3 (21)
- 数据交换@JSON (1)
- 模板标签@JSTL (1)
- 模板标签@Thymeleaf (1)
- 模板标签@XSL-FO (3)
- WEB后台@JavaSE (75)
- WEB后台@JAX-WS (27)
- WEB后台@HttpClient (0)
- WEB后台@SSO (2)
- 框架@Spring3 (3)
- 框架@spring_MVC (8)
- 框架@Hibernate (26)
- 框架@play framework (18)
- 框架@sl4j (4)
- 数据库@ (2)
- 数据库@JDBC (0)
- 服务器@Linux (14)
- 服务器@Tomcat (2)
- 第三方jar@dom4j (1)
- 第三方jar@POI (2)
- 第三方jar@CXF (5)
- 项目管理@Maven (22)
- 项目管理@SVN (1)
- 缓存管理@ehcache (1)
- 系统设计@设计模式 (10)
- 单元测试@JunitTest (1)
- 开发工具 (3)
- BUG收录 (1)
- 学习之路 (6)
- 面试之道 (1)
- 我的项目 (2)
最新评论
-
superich2008:
logback配置文件的改动会导致应用重新加载,多改动几次后就 ...
Chapter 3: Logback configuration -
chenzhihui:
不是可以在log4j中配置以控制台或者文件方式保存日志的?
play记录日志 -
smilease:
很棒,正缺这个,非常感谢
bootstrap3-typeahead 自动补全 -
guangling13345:
[size=x-small][/size]
二级联动菜单 -
jacksondesign:
有,和YAML的格式有关,不知道有没有什么好的YAML格式的验 ...
(四)play之yabe项目【页面】
DTD,约束xml中元素出现的特性:
是否必须,出现次数,书写顺序等
DTD的缺点
不同元素下不能出现同样的节点名称;能够提供的数据类型比较少,比如枚举类型(男,女,未知)不支持;定制不灵活;等等
编写一个person的dtd:
persons作为根,persons下能够存在多个person
person有属性:id 有且唯一,height必须有,sex有默认值
person有元素:name 默认出现1次,password可有可无,age默认出现1次,addr至少出现1次
<?xml version="1.0" encoding="UTF-8"?> <!-- 定义persons的DTD文件,指定根对象--> <!DOCTYPE persons[ <!-- 元素与类型之间要有空格,否则格式报错 --> <!-- 声明persons类型 --> <!ELEMENT persons (person+)> <!-- 定义person,并指定其中包含的元素和出现的顺序 --> <!-- 标签出现次数控制符 ?:0次或者1次; *:0次或者多次;+:1次或者多次;默认为1次--> <!-- 使用+说明addr至少出现1次 --> <!ELEMENT person (name,password?,age,addr+)> <!-- 定义person的属性 --> <!--使用ATTLIST增加属性--> <!-- id类型,不允许重复 --> <!ATTLIST person id ID #REQUIRED> <!-- 使用#REQUIRED 表示该属性必须要出现 --> <!ATTLIST person height CDATA #REQUIRED> <!-- CDATA 值为字符数据character data --> <!ATTLIST person sex CDATA "男"> <!-- 定义person的元素节点 --> <!ELEMENT name (#PCDATA)> <!ELEMENT password (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT addr (#PCDATA)> ]> <persons> <!-- persons中可以出现多个person元素 --> <!-- id如果为数字,xmlspy会报错,这里使用字母来标识id --> <person sex="男" height="170CM" id="p1"> <name>zhangsan</name> <!--password可有可无,因为在声明的时候用?进行了修饰--> <password>abc</password> <age>18</age> <addr>bj</addr> <addr>sh</addr> </person> <person height="187CM" id="p2"> <name>lisi</name> <age>21</age> <addr>sz</addr> <addr>xg</addr> </person> </persons>
编写一个dtd
classroom.dtd
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT classroom (cname,grade,students)> <!ATTLIST classroom id ID #REQUIRED> <!ELEMENT cname (#PCDATA)> <!ELEMENT grade (#PCDATA)> <!ELEMENT students (student+)> <!ELEMENT student (id,sname,age)> <!ELEMENT id (#PCDATA)> <!ELEMENT sname (#PCDATA)> <!ELEMENT age (#PCDATA)>
将dtd编入到eclipse的目录中
window-->preference-->XML-->XML Catolog-->User Specified Entried-->Add
Next Catalog(从当前工程中引入)-->Workspace-->OK!
引入dtd,并编写一个xml
classroom.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- 引入编写的classroom DTD文件对当前的xml进行文档约束 1.使用DOCTYPE说明需要引入dtd文件 2。给被引入的dtd文件取一个名称:classroom 3.指定如何引入外部dtd文件: PUBLIC 公共的,引用外部互联网的dtd SYSTEM 内部的,引入内部的dtd --> <!DOCTYPE classroom SYSTEM "classroom.dtd"> <!-- 定义一个班级 --> <classroom id="c1"> <!-- 班级的名称 --> <cname>one</cname> <!-- 班级所在年级 --> <grade>2013</grade> <!-- 学生集合 --> <students> <!-- 学生 --> <student> <id>1</id> <sname>zs</sname> <age>12</age> </student> <!-- 学生 --> <student> <id>2</id> <sname>ls</sname> <age>12</age> </student> </students> </classroom>
-------------------------------------------------------------
根据xml反向编写DTD文件
person.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persons SYSTEM "C:\Users\lenovo\Desktop\person.dtd"> <persons> <person id="p1"> <name></name> <age></age> <sex></sex> <messages> <message> <title></title> <content></content> </message> </messages> </person> <person id="p2"> <name></name> <age></age> <sex></sex> <messages> <message> <title></title> <content></content> </message> </messages> </person> </persons>
person.dtd
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT persons (person+)> <!ELEMENT person (name,age,sex,messages+)> <!ATTLIST person id ID #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT sex (#PCDATA)> <!ELEMENT messages (message+)> <!ELEMENT message (title,content)> <!ELEMENT title (#PCDATA)> <!ELEMENT content (#PCDATA)>
发表评论
-
实际应用-使用xsd定义Model对象
2014-02-27 02:24 1325使用schema定义Model 好 ... -
XJC 将schema转换为java类
2013-08-28 09:55 1864使用xjc(xml java change)将schema转 ... -
Webservice中获取Servlet的相关对象
2013-08-15 17:44 2888第一种方式: 通过注入WebServiceContex ... -
JAX与spring的无缝集成---增加Handler和Exception(二)
2013-08-15 16:00 2009客户端也使用spring集成JAX-WS。但是有一个问题需 ... -
Exception处理:服务端返回对象与客户端类型不一致XXX cannot be cast to XXX
2013-08-15 13:52 2620描述: 服务端向客户端返回数据时,发生类型转 ... -
JAX与spring的无缝集成(一)
2013-08-13 13:45 6630JAX-WS与spring集成有几 ... -
使用契约优先---重要注意事项
2013-08-11 22:23 1019使用契约优先编写schema和wsdl文件时,一般都是在ws ... -
通过HEADER传递信息-做权限控制
2013-08-08 18:11 2032通过HEADER而不是BODY传递“LICENSE” ... -
webservice传递二进制数据(文件)
2013-08-08 16:14 2312将二进制数据放到Attachment中进行传递,而不是放到 ... -
发布webservice到tomcat
2013-08-07 09:39 3056目标: 基于契约优先的webservice功能开发 ... -
基于契约优先的隐式头信息处理
2013-08-03 20:05 1234<?xml version="1.0&qu ... -
基于契约优先来编写webservice
2013-08-03 18:40 1226开发流程: 1.先写schema ... -
通过Handler添加HEADER
2013-08-03 14:05 2054LogicHandler 只能获取SOAPBody的信息 ... -
SOAP异常处理
2013-08-03 14:00 1014接口 package com.hqh.soap; imp ... -
深入SOAP发送消息的过程(SAAJ)
2013-07-28 18:54 2116SOAP结构体 SOAPMessage SOAPPa ... -
使用Transformer更新XML
2013-07-27 14:46 2789package com.hqh.stax; impo ... -
使用XMLStreamWriter写XML
2013-07-27 14:10 4034package com.hqh.stax; im ... -
使用java提供的XPATH处理xml
2013-07-27 13:10 987books.xml <?xml version=&q ... -
使用Stax处理XML
2013-07-27 10:57 1289java提供的XML处理 Stax处 ... -
使用JAXB完成XML与java对象的转换
2013-07-27 10:05 2159SAX 处理超大xml时使用 do ...
相关推荐
标题"DTD.rar_dtd_java dtd_xml dtd"暗示了这是一个与XML文档类型定义(DTD)相关的Java程序,可能包含了用于验证XML文档是否符合DTD规范的代码。"rar"表明这个资源是以RAR格式压缩的文件,通常包含多个相关文件。 ...
在本主题中,我们将深入探讨如何利用DTD(Document Type Definition)和XML Schema来设计一个表示图书信息的XML文档。这两种方法都是为了确保XML文档结构的合法性与一致性。 首先,DTD是XML的早期验证机制,它定义...
从第二章到第四章,我们分别从XML语法、DTD和样式单三方面详细介绍XML的三个基本要件。在第五、第六章中,我们从与XML相关的协议和软件工具两个角度来分析XML的使用现状。第七、八、九章,我们将讨论一些与XML相关的...
### XML_XSL_DTD_SCHEMA_SAX_DOM_JDOM_WEBSERVICE简介 #### 背景知识点拨 XML(可扩展标记语言,Extensible Markup Language)及其相关技术(如XSL、DTD、Schema、SAX、DOM、JDOM以及Web服务)在现代信息技术中...
在处理XML文档时,为了确保数据的一致性和准确性,我们通常会使用DTD(Document Type Definition)或XML Schema来定义文档的结构。这两个工具都是XML的约束机制,用于规定XML文档的元素、属性以及它们之间的关系。 ...
### Lotus Domino Designer 6 Programming Guide, Volume 4: XML, Domino DTD, and JSP Tags #### 概述 《Lotus Domino Designer 6 Programming Guide, Volume 4: XML, Domino DTD, and JSP Tags》是针对Lotus ...
4. **XML验证**:可能包含了对XML文档进行结构验证的功能,确保其符合预定义的XML Schema或DTD(文档类型定义)。 5. **XML修改**:提供了方便的API接口,让用户能够轻松地添加、删除或修改XML文档中的节点和属性。 ...
### XML与DTD详解 #### 一、XML简介 XML(Extensible Markup Language)是一种非常重要的数据交换标准,它被广泛应用于互联网数据交换场景之中。XML的设计初衷是为了传输和存储数据,其灵活性允许用户自定义标签,...
4. **XML验证**:了解如何使用DTD(Document Type Definition)或XML Schema来验证XML文档的结构。 5. **XSLT转换**:学习如何使用XSL样式表将XML转换为其他格式,如HTML。 6. **事件驱动处理**:如果压缩包包含事件...
这个名为"spring_mybatis_dtd_lib"的压缩包文件包含了Spring MVC 3和4版本,MyBatis 3,以及MySQL 5.1的相关库文件,这些都是开发基于Java的Web应用程序时不可或缺的部分。下面将详细讲解这些知识点。 **1. Spring...
5. **DTD(Document Type Definition)**或**XML Schema(XSD)**:定义XML文档的结构和约束。 C#中处理XML文件的其他高级功能还包括: - 使用XmlNodeReader和XmlReader进行流式读取,节省内存资源。 - LINQ-to-...
3. 不支持XML Schema或DTD:TinyXML不支持XML Schema验证或DTD(Document Type Definition),这意味着它无法确保XML文档符合预定义的结构。 4. 不完全符合XML标准:虽然TinyXML可以处理大多数常见的XML文档,但它...
mybatis-generator-config_1_0.dtd文件存在于mybatis-generator-core-1.3.2.jar包中,路径如下org/mybatis/generator/config/xml/mybatis-generator-config_1_0.dtd 可以设置开发工具的dtd配置,配置...
然而,实际应用中可能需要处理更复杂的情况,如XML命名空间、XPath查询、DTD或XSD验证等。理解XML的基础知识和选择合适的库是解决这些问题的关键。在处理XML时,确保正确处理字符编码、空格和特殊字符,以确保数据的...
3. 文档类型定义(DTD)或XML Schema:这些工具可以用来验证XML文档的结构是否符合预定义的规则,确保数据的准确性和一致性。 4. 跨平台和跨应用程序:由于XML是基于标准的,所以可以在不同的操作系统和软件环境中...
2. **验证XML**:使用XML Schema(XSD)或DTD(Document Type Definition)验证XML文档是否符合预定义的结构。 3. **搜索和替换**:查找并修改XML文档中特定元素或属性的值。 4. **转换XML**:使用XSLT(Extensible ...
DTD(Document Type Definition)是XML文档类型定义,用于规定XML文件的结构和元素。在Mybatis的环境中,DTD文件主要用来验证XML配置文件的正确性,确保其符合预定义的规则。以下将详细讲解如何配置Mybatis的DTD环境...
### XML的DTD教程 #### 一、文档类型定义(DTD)概述 文档类型定义(Document Type Definition,简称DTD)是一种用于定义XML文档结构的语言。它主要用于描述XML文档中元素、属性以及实体等组成部分的规则,确保XML...
W3C对XML的标准化工作包括定义XML的语法规范、命名空间(Namespaces)规则、文档类型定义(DTD)和XML Schema,以及XPath、XSLT、XQuery等处理XML的语言。这些规范确保了不同系统间XML数据的互操作性和一致性。 XML...
5. **文档类型定义(DTD,Document Type Definition)** 或者 **XML Schema(XSD)**:定义XML文档的结构和规则,用于验证XML文档的合法性。 6. **XPath(XML Path Language)**:一种用于在XML文档中查找信息的语言...