XML---DTD
来源:互联网 发布:淘宝待配货是什么意思 编辑:程序博客网 时间:2024/05/16 04:50
DTD的作用
XML文档是一种元标记语言,即一种定义标记语言的语言。在XML中可以创建新的标记语言,这些新的标记语言(也叫标记集)要通过文档类型定义(DocumentType Definitions,DTD)来定义。DTD文档是这些新的标记语言的法律性文档。如果XML文档的语法符,DTD的定义和规定,那么就称为一个合法的XML文档,否则就是非法的XML文档。合法的XML文档在实际应用中的地位很重要,因为只有合法的XML文档才能被应用软件有效地处理。
DTD定义了文档的逻辑结构,规定了文档中所使用的元素、实体、元素的属性、元素与实体之间的关系。其作用主要表现在以下几个方面。
(1) 使用DTD可以提供一种统一的格式。XML的可扩展性为文档的作者提供了很高的灵活性,可有时候需要的是统一,要求某一类文档具有相同的结构。
(2) 使用DTD可以保证数据交流和共享的顺利进行。
(3) DTD使用户能够不依赖具体的数据就知道文档的逻辑结构。在没有XML文档的时候,也可以根据DTD为XML文档编写样式单,编写处理程序,这样可以有效地提高工作效率。
(4) 使用DTD可以验证数据的有效性。DTD对文档的逻辑结构进行了约束,这种约束可以比较宽松,也可以十分严格。可以根据DTD检查数据,以验证其是否符合规定和要求,这可以保证数据的正确和有效。
“#PCDATA”(Parsed Character Data)表示标记的内容是可解析文本,所谓的可解析文本就是非标记文本。用“#PCDATA”规范了的元素不能再包含子元素。例如How do you do是不包含标记的文本,而How do you <list>do</list>就不是可解析的数据类型,因为其中包含有标记<list>和</list>。另外DTD文档中不同元素定义的次序没有先后关系,但文档的语法对大小写敏感。
“#PCDATA”的声明格式:
<!ELEMENTElement_Name (#PCDATA )>
在DTD中,属性的声明格式:
<!ATTLIST Element_name Attribute_name TYPEDefault_value>
其中,<!ATTLIST>为属性声明的关键字,Element_name为元素名,Attribute_name为属性名,TYPE是属性类型,Default_value为没有设定属性值时的默认值。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE bookinfo[ <!-- <!ELEMENT bookinfo ((author+,title)|(title,author+),publish) ><!--+(表示一个或多个) (a,b)|(b,a)表示a和b的位置任意 --> <!ELEMENT bookinfo ((author|title)*,publish) >*<表示“有多个”> ?<表示0个或者多个> <!ELEMENT bookinfo ANY > --> <!ELEMENT bookinfo (title,author+,publish,price)> <!ELEMENT title (#PCDATA) > <!ELEMENT publish (publisher,ISBN,pubdate)> <!ELEMENT price (#PCDATA)> <!ATTLIST author id ID #REQUIRED > <!ATTLIST publish aa (文艺|自然科学) "文艺"> ]><bookinfo> <title>计算机导论</title> <author id="A001">丁跃潮</author> <author id="A002">张三</author> <publish aa="自然科学"> <publisher>高等教育出版社</publisher> <ISBN>7-04-014768-8</ISBN> <pubdate>2004.6</pubdate> </publish> <price>19.7</price> </bookinfo>
- XML-DTD
- XML DTD
- XML DTD
- 【XML】DTD
- 【XML】DTD
- XML--DTD
- XML DTD
- XML--DTD
- XML - DTD
- XML DTD
- XML--DTD
- XML-DTD
- XML - DTD
- XML---DTD
- XML DTD
- [xml]DTD & XML 例
- XML DTD入门
- 解码 XML 和 DTD
- hdu_3804_Query on a tree(树链剖分)
- 《Java JD7 学习笔记》课后练习题3
- “爱运动管理系统”诞生记(3)
- liunux cenos 6.5 彻底卸载MySQL和安装MySQL
- hdu 2222 Keywords Search
- XML---DTD
- Windows Java EE 7 基本环境配置 及 错误解决
- 主动信息搜集
- FINDSTR 命令使用详解(2)
- Android 同一个APK部分手机运行报错
- Swift c关于语言参考(About the Language Reference)
- Java内部类
- 第二章 A 3D/Math Primer
- Swift 表达式(Expressions)