xml dtd 定义元素
ANY
如果需要定义某个元素的值可以是任意类型,可采用如下语法
<!ELEMENT 元素名 ANY>
DTD必须定义XML文档中允许出现的所有元素,所以下面这样是不行的,因为<hellotag>没有在dtd中定义过
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE messages[
<!ELEMENT messages ANY>
]> <messages>
<message>
<hellotag>hello</hellotag>
</message>
</messages>
#PCDATA
定义元素内容为字符串,不能包含子元素
实例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE messages[
<!ELEMENT messages (message)>
<!ELEMENT message (content)>
<!ELEMENT content (#PCDATA)>
]> <messages>
<message>
<content>hello</content>
</message>
</messages>
混合元素,即既可以包含字符串也可以包含子元素
格式:
(注意 1:#PCDATA只能出现在子元素的最前面
2:*表示这些子元素可出现0次或多次,如果没有*,则各个子元素互斥,只能出现一个
3:使用 | 分隔子元素,则子元素的出现是无序的,如果使用逗号","则子元素的出现顺序是严格按照书写顺序 )
<!ELEMENT 父元素名 (#PCDATA | 子元素1 | 子元素2 |子元素n)*>
实例:略
定义元素属性
格式:
<!ATTLIST 属性所属的元素 属性名 属性类型 [元素对属性的约束] [默认值]>
其中,元素对属性的约束 和 默认值 是可选的,但如果没有指定前者,则必须指定后者,
当元素对属性的约束 是 "#REQUIRED"时,不能指定默认值,
当元素对属性的约束 是 "#IMPLIED"时,不能指定默认值,
当元素对属性的约束 是 "#FIXED",时,必须指定默认值
#REQUIRED:即必需的属性,意味着必须为该元素提供属性
#IMPLIED:意即该属性是可有可无的
#FIXED:即该属性是固定的,定义时必须指定固定值。使用该元素时无须为其分配该属性,XML处理器会自动为该属性增加固定值
实例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE messages[
<!ELEMENT messages (message | shortcut)*>
<!ELEMENT message (content)>
<!ELEMENT shortcut (#PCDATA)>
<!ELEMENT content (#PCDATA)>
<!ATTLIST messages hashcode CDATA #REQUIRED>
]> <messages hashcode="dfsfdsfsdf">
<message>
<content>hello</content>
</message>
<shortcut>
hello,world
</shortcut>
<shortcut>
hello,world
</shortcut>
</messages>
DTD支持的属性列表:

--
xml dtd 定义元素的更多相关文章
- 超全面的JavaWeb笔记day05<xml&dtd&jaxp>
0.表单提交方式(*****) button提交 超链接提交 事件 1.xml简介和应用(了解) 2.xml文档声明和乱码解决(*****) 文档声明 必须放在第一行第一列 设置xml编码和保存编码一 ...
- XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...
- XML,DTD,XSD,XSL的区别
XML=可扩展标记语言(eXtensible Markup Language). 可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可用 方便的方式建立,虽然XML ...
- 转!!XML,DTD,XSD,XSL的区别
XML=可扩展标记语言(eXtensible Markup Language).可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可用 方便的方式建立,虽然XML占 ...
- XML DTD验证
XML DTD验证 一.什么是DTD 文档类型定义(DTD:Document Type Definition)可定义合法的XML文档构建模块.它使用一系列合法的元素来定义文档的结构. DTD 可被成行 ...
- JavaScripts学习日记——XML DTD Schema
今日关键词: XML DTD Schema 1.XML 1 XML的概述 1.1 什么是XML XML全称为Extensible Markup Language,意思是可扩展的标记语言.XML语法上和 ...
- XML Dtd Schema
在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束. 整体比较: XML Schema符合XML语法结构. DOM.SAX等XML API很容易解析出XML Schem ...
- XML DTD详解(转)
前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二篇介绍DTD,引入有效的XML的概念(符合语 ...
- XML——DTD
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
随机推荐
- 关于GeoWebCache的部署说明
最近因为工作需要学习了GeoWebCache,有了一些实战经验跟大家分享一下. 废话不多说,直接上问题! 1.切片的缓存问题 当地图服务(这里默认指WMS)的数据更新时,GeoWebCache的切片如 ...
- bzoj4591 【Shoi2015】超能粒子炮·改
由Lucas定理C(n,k)=C(n/2333,k/2333)*C(n%2333,k%2333)%2333 则ans=ΣC(n,i),(i<=k) =C(n/2333,0)*C(n%2333, ...
- POJ 2342 Anniversary party(树形dp)
Anniversary party Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7230 Accepted: 4162 ...
- Architectural Model - SNMP Tutorial
30.3 Architectural Model Despite the potential disadvantages, having TCP/IP management software oper ...
- Javascript实现前端简单路由
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http ...
- 解析Java类和对象的初始化过程
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来 ...
- Node.js入门笔记(3):全局对象(2)
buffer 用于更好操作二进制数据,他是一个全局变量.类似数组. var a=new Buffer(); buffer类的三种实现 第一种创建方式 new Buffer(size);size[Num ...
- App- 借书趣
借书趣是一款方便用户在上海图书馆借书助手应用.通过扫描条码,导入豆瓣想读等手段可以方便管理想读想借的书目应用通过上图的接口和一些算法帮助用户生成借书单,规划用户可以去上图的哪个分馆可以借到最多想要阅读 ...
- WP8下实现刮刮乐(橡皮擦)功能
说到刮刮乐这个功能,我们最先想到的是上下两张(长方形)重叠,之后对上面这张图片进行操作. 我的想法是:通过手势,让手指划过的地方变成透明的,底部就会显示了. 那如何让图片变为透明呢?这就要对图片的像素 ...
- 一段freemarker高级分页效果的代码
<a onclick="page(1)">首页</a> [#if currpage != 1] [#assign last=currpage - 1] &l ...