文档章节

DTD创建和使用

李茂冉
 李茂冉
发布于 2016/05/14 13:59
字数 305
阅读 7
收藏 0

##DTD符号 例子:

<!ELEMENT 书架 (书+) >
<!ELEMENT 书架 (书?) >
<!ELEMENT 书架 (书*) >
<!ELEMENT 书架 (书) >
  • +表示此元素至少要出现一次,或多次
  • ?表示此元素只能出现一次或不出现
  • *表示此元素可以不出现,或出现多次
  • 无:表示此元素就出现一次
<!ELEMENT 书架 (书+) >
1.<!ELEMENT 书(书名 作者 售价) >
2.<!ELEMENT 书(书名,作者,售价) >
3.<!ELEMENT 书(书名|作者|售价) >
  • 1代表3个元素的顺序是任意的
  • 2代表3个元素的顺序是固定的,必须按照书名,作者,售价的顺序
  • 3代表3个元素中可以出现一个就可以

##DTD的创建

//book.dtd
<!ELEMENT 书架 (书+) >
<!ELEMENT 书 (书名,作者,售价) >
<!ELEMENT 书名 (#PCDATA) >
<!ELEMENT 作者 (#PCDATA) >
<!ELEMENT 售价 (#PCDATA) >

##xml中引入DTD

<?xml version="1.0" encoding="gbk" ?>
<!DOCTYPE 书架 SYSTEM "book.dtd" >
<书架>
	<书>
		<书名>java编程思想</书名>
		<作者>无名</作者>
		<售价>41</售价>
	</书>	
</书架>

##xml中直接嵌入DTD

<?xml version="1.0" ?>
<!DOCTYPE 书架 [
	<!ELEMENT 书架 (书+) >
	<!ELEMENT 书 (书名,作者,售价) >
	<!ELEMENT 书名 (#PCDATA) >
	<!ELEMENT 作者 (#PCDATA) >
	<!ELEMENT 售价 (#PCDATA) >
]>
<书架>
	<书>
		<书名>java编程思想</书名>
		<作者>无名</作者>
		<售价>41</售价>
	</书>	
</书架>

© 著作权归作者所有

共有 人打赏支持
下一篇: jstl标签库
李茂冉
粉丝 5
博文 103
码字总数 59256
作品 0
东城
高级程序员
私信 提问
eclipse中hibernate和mybatis中xml配置文件的没有标签提醒解决方法

  当我们使用eclipse编写Mybatis或hibernate的xml文件时,面对众多标签的配置文件,却没有自动提醒,对于工作和学习都十分不方便。   之所以没有自动提醒,是因为dtd文件没有加载成功。 ...

宇的季节
2017/11/21
0
0
mybatis 基础支持层解析文件

在初始化过程中处理mybatis-config.xml配置文件中,使用DOM解析,并结合XPath解析XML配置文件。 上面三个接口是jdk中的,mybatis封装了它们。 XMLMapperEntityResolver 实现了 EntityResolver...

xjk123
2018/10/02
0
0
Spring IOC 之 获取 Document 对象

XmlBeanDefinitionReader.doLoadDocument() 方法中做了两件事情 一是调用 getValidationModeForResource() 获取 XML 的验证模式 二是调用 DocumentLoader.loadDocument() 获取 Document 对象......

职业搬砖20年
2018/10/22
0
0
【死磕 Spring】—– IOC 之 获取 Document 对象

原文出自:http://cmsblogs.com 在 方法中做了两件事情,一是调用 获取 XML 的验证模式,二是调用 获取 Document 对象。上篇博客已经分析了获取 XML 验证模式(【死磕Spring】----- IOC 之 ...

chenssy
2018/09/13
0
0
三天学会HTML5 之第一天

引言 HTML5 一直是非常热门的话题,因此此系列文章主要从一些基本功能开始讲起,逐步深入了解HTML5的新概念。 首先了解一些基本的术语和概念。 SGML, HTML,XML三者之间的区别 Doc类型是什么 ...

葡萄城控件技术团队
2016/02/02
134
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink 幕后之内存管理

Flink 幕后之内存管理 引言 目前很多大数据处理框架,例如Hadoop、Spark、Storm、Flink等。它们都基于JVM语言开发(java or scala),运行在JVM上。为了加速合并或者排序(基于磁盘的方式通常...

moyiguke
18分钟前
2
0
风起云涌,看云计算如何赋能媒体行业?

在媒体行业的转型升级中,云计算的出现多维度促进了媒体融合,打破传统媒体行业与新媒体的界限和竞争格局,在媒体素材管理、移动端功能演进的过程中扮演着重要角色,颠覆了传统媒体新闻采编、...

七牛云
21分钟前
1
0
Mybatis开发遇到问题汇总

mybatis 中![CDATA[...]] 在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用<![CDATA[ ]]>. 这是XML...

wangwei2134
29分钟前
1
0
参数验证 @Validated 和 @Valid 的区别

来源:blog.csdn.net/qq_27680317/article/details/79970590 整编:Java技术栈(公众号ID:javastack) Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范......

Java技术栈
31分钟前
1
0
JS实现继承的几种方式

前言 JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。 JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: ...

不负好时光
35分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部