【XML系列】----DTD中的元素定义
DTD的文档结构如下:
第一行是DTD声明部分,该声明与XML文档的声明语法格式相同
0到多个注释部分,DTD注释与XML文档的注释格式完全相同
0到多个<!ELEMENT…>定义的每一个就是一个XML元素
0到多个<!ATTLIST…>顶一个每一个就是一个XML元素的属性
0到多个<!ENTITY…>顶一个每一个就是一个实体
0到多个<!NOTATION…>顶一个每一个就是一个符号
它们彼此之间完全独立,无需相互嵌套。
1. 定义元素
元素类型的定义的全称是:Element Type Definition,简称ETD,它不但会定义每个文件中可能存在的元素,给出的元素名称,而且会定义元素的具体类型。
元素类型描述主要有五种:
a) 任意类型
可以是以下四种中任意的内容
例如:<!ELEMENT book ANY>
b) 字串值
例如:”aaa”
c) 空元素
<br/>
d) 包含子元素
元素嵌套
e) 混合元素
案例:
2. 定义子元素
a) 定义有序的子元素
使用英文逗号,用于分隔有序的子元素
<!ELEMENT book(name,price,state)>
b) 互斥的子元素
互斥的子元素表明一些列的子元素中只能出现其中之一。
使用”|”进行分隔
c) 子元素出现的频率
+(一次次或多次)
?(0次或一次)
*(0次或多次)
注意:混合类型中的频率只能按如下方式添加频率
<!ELEMENT book(#PCDATA|子元素1|子元素2)*>
只能在最后加
d) 组合子元素
<!ELEMENT book(name|price|state)>
这种元素类型呗成为组合子元素
组合元素也可以嵌套写:
<!ELEMENT book((name,price)|state)>
e) 无序的子元素
DTD并没有定义无序子元素的语法,我们只能借助元素组进行定义
例如:
<!ELEMENT book(name|price|state)*>
这时在XML文档中书写标签时,在book标签下三个子元素的顺序是无序的。
转载于:https://www.cnblogs.com/H_Razor/archive/2011/06/17/xml_06.html
【XML系列】----DTD中的元素定义相关推荐
- Element 对象表示 XML 文档中的元素。
Element 对象 Element 对象表示 XML 文档中的元素.元素可包含属性.其他元素或文本.如果元素含有文本,则在文本节点中表示该文本. 重要事项:文本永远存储在文本节点中.在 DOM 处理 ...
- java xml 合并_Java中合并XML文档的设计与实现
为了读写XML文件,需要导入如下JAVA包,"//"后为注释说明,笔者的环境是JDK1.3.1,在JDK 1.4.0中测试也通过. Import java.io. *; //Jav ...
- JS slice()方法返回数组中指定元素
JS slice()方法返回数组中指定元素 定义和用法 slice() 方法可从已有的数组中返回选定的元素. slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分. 注意: sli ...
- java 递归遍历对象所有属性_Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性...
xml中加入了几条,为了方便查询时作为示例. 话不多说见代码注释: DTD文件:SwordTypeDefinition.dtd XML文件:SwordLib.xml SwordLibrary SYST ...
- Maven pom.xml中的元素modules、parent、properties以及import
前言 项目中用到了maven,而且用到的内容不像利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)用的那么简单:maven的核心是pom.xml,那么我就它 ...
- 汇编中的length(返回利用dup定义的数组中的元素个数,即重复操作符dup前的count值)
LENGTH是属于析值操作符之一,也称为数值回送操作符,原因是这些操作符把一些特征或存储器地址的一部分作为数据返回.length的用法:length 变量名 .作用是返回利用dup定义的数组中的元素个 ...
- pythonxml解析拿到控件坐标_Python解析xml中dom元素的方法
本文实例讲述了Python解析xml中dom元素的方法.共享给大家供大家参考.详细实现方法如下: 复制代码 代码如下: from xml.dom import minidom try: xmlfile ...
- 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...
作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...
- 编写类A2, 定义方法find, 实现查找某字符串数组中的元素查找,并返回索引,如果找不到,返回-1
编写类A2, 定义方法find, 实现查找某字符串数组中的元素查找,并返回索引,如果找不到,返回-1 思路: 方法的返回值类型: int 方法名 : find 方法的形参 (String , Stri ...
最新文章
- 虽然现在没有闲也没有钱,还是建立了自己的BLOG,因为心里很痒
- php war,PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
- 绘制方法太单一!?这三个宝藏在线学习资源推荐给你~~
- GNS结合SecureCRT连接问题
- 地址池命令 思科理由_论CCNA基础之常用命令
- 美化UI合约区块链学习版系统+交易大厅
- Linux 命令(26)—— rename 命令
- pyhton中常用的基础模块
- 【Grub Grub2】万能优盘启动盘 (WinPE、LinuxPE)-- 方法1 U盘三分区法(不推荐,供参考)
- 【毫米波雷达】LFMCW测距/测速原理
- 强烈推荐:程序员接私活那点事
- css 写一个左中右布局占满屏幕,左右两块固定宽度200,中间自适应宽,先加载中间块
- 使用pyqt弹出消息提示框
- 安全的远程访问是保护知识产权的关键
- FairMOT训练测试自定义数据集
- Android Studio 连接阿里云数据库【制作基于数据库的多人远程聊天APP】
- swust2020春季《形势与政策》mooc考试答案参考
- JSP JSTL标签
- ERP与电子商务整合乃大势所趋
- PHP SDK for sinaweibo