文档章节

DTD创建和使用

李茂冉
 李茂冉
发布于 2016/05/14 13:59
字数 305
阅读 6
收藏 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
东城
高级程序员
私信 提问
mybatis 基础支持层解析文件

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

xjk123
10/02
0
0
eclipse中hibernate和mybatis中xml配置文件的没有标签提醒解决方法

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

宇的季节
2017/11/21
0
0
Spring IOC 之 获取 Document 对象

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

职业搬砖20年
10/22
0
0
三天学会HTML5 之第一天

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

葡萄城控件技术团队
2016/02/02
134
0
【死磕 Spring】—– IOC 之 获取 Document 对象

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

chenssy
09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

node上的redis调用优化示例

Node.js读写数据到influxDB,目前已经有一个库node-influx, 这个库功能非常强大,但是我个人使用这个库的时候,遇到无法解决的问题。 使用curl都可以写数据到influxDB,但是用node-influx总是...

前端攻城老湿
11分钟前
1
0
The setting logImpl is not known

问题: org.apache.ibatis.builder.BuilderException: The setting logImpl is not known. Make sure you spelled it correctly (case sensitive). MyBatis 3.1.1 -jar还没有 logImpl 这个设......

晨猫
23分钟前
1
0
eslint一些规则

一、指定js文件不使用 ESLint 语法检查 1.整个文件范围内禁止规则出现警告 将/* eslint-disable */放置于文件最顶部 /* eslint-disable */alert('foo'); 2.在文件中临时禁止规则出现警告 ...

xiaoge2016
23分钟前
1
0
mac终端常用命令

ls ls,list的简写,列出目录的内容。 -a:显示隐藏文件 -l:以列表方式显示文件信息 -h:配合-l,显示更人性化 配合通配符使用 ls *.txt:显示所有以.txt结尾的文件 ls ?.txt:显示‘任意字符.tx...

xiaobai1315
25分钟前
1
0
java命令行读取配置,和加载jar的方式

--spring.profiles.active=t2,t3,xextest --spring.profiles.include=quartz-jp-Djava.ext.dirs=libs-Dspring.config.location=/data/apps/DBconfig -cp  "config/*"  start.sh......

经常把天聊死的胖子
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部