DTD验证XML文档
        1.DTD简介:DTD是Document Type Definition的缩写,即文档定义
            1.1:DTD的内容包含:
                    元素定义规则
                    元素之间的关系规则
                    属性的定义规则
            1.2:DTD的作用如下:
                    DTD使每个XML文件可以携带一个自身格式的描述
                    DTD使不同组织的人可以使用一个通用DTD来交换数据
                    DTD使应用程序可以使用一个标准DTD效验从外部接收的XML数据会否有效
        2.声明DTD
                语法:<!DOCTYPE 根元素 [定义内容]>
                
                        eg:

                 <?xml version="1.0"?>
                             <!DOCTYPE poem[
                                 <!ELEMENT poem (author,title,content)>
                                 <!ELEMENT author (#PCDATA)>
                                 <!ELEMENT title (#PCDATA)>
                                 <!ELEMENT content (#PCDATA)>
                             ]>
                             <poem>
                                 <author>王维</author>
                                 <title>鹿柴</title>
                                 <content>空山不见人,但闻人语响。返景入深林,复照青苔上。</content>
                             </poem> 

3.使用外部DTD验证XML
                语法:<!DOCTYPE 根元素 SYSTEM "DTD文件路径">
                
                eg:poems.dtd

                        <!ELEMENT poems (poem*)>
                        <!ELEMENT poem (title,author,year,content)>
                        <!ELEMENT title (#PCDATA)>
                        <!ELEMENT author (#PCDATA)>
                        <!ELEMENT year (#PCDATA)>
                        <!ELEMENT content (#PCDATA)>                

使用外部DTD验证描述诗集的XML

                      <?xml version="1.0"?>
                         <!DOCTYPE poems SYSTEM "poems.dtd">
                         <poems createYear="2011">
                             <poem>
                                 <title>春晓</title>
                                 <author>孟浩然/author>
                                 <year>732</year>
                                 <content>春眠不觉晓</content>
                             </poem>
                         </poems>        

4.DTD元素
                4.1:语法:<!ELEMENT NAME CONTENT>
                             ELEMENT:关键字
                             NAME:元素名称
                             CONTENT:元素类型
                4.2:常用的元素类型
                        #PCDATA,可以包含任何字符数据,但是不能在其中包含任何子元素
                            eg:<!ELEMENT title (#PCDATA)>
                        纯元素类型,只包含子元素,并且这些子元素没有文本
                            eg:<!ELEMENT poems (poem*)>
                4.3:DTD元素中某些符号的用途
                        符号        用途                示例                                    示例说明
                        ()            用来给元素分组        (古龙|金庸|梁羽生),(王苏|玉洁),毛毛        表示分成三组
                        |            在列出的对象中选择一个    (男人|女人)                        两者选其一
                        ,            对象必须按指定的顺序出现  (西瓜,苹果,香蕉)                    三个都必须出现
                        *            允许出现(0到多次)    (爱好*)                                    爱好可以出现0到多次
                        ?            允许出现(0次到1次)    (菜鸟?)            表示可出现也可以不出现,如果出现最多一次
                        +            允许出现(1次到多次) (成员+)            表示必须出现,而且可以出现多次
                4.4:DTD属性
                        1.语法:<!ATTLIST 元素名称 属性名称 属性类型 属性默认值>
                        2.DTD元素中属性类型的描述:
                            属性类型                            说明
                            CDATA                                表示字符数据
                            ID                                    表示唯一的id
                            IDREF                                表示为另一个元素的id
                            IDREFS                                表示其他id的列表
                            ENTITY                                表示一个实体
                            ENTITLES                            表示一个实体列表
                        3.DTD元素中属性值的描述
                            值                                    说明
                            #REQUIRED                            属性值是必须的
                            #IMPLIED                            属性值不是必须的
                            #FIXED                                属性值是固定的
                      eg:

                 <!DOCTYPE mystruts[
                                 <!ELEMENT mystruts (actions)>
                                 <!ELEMENT actions (action*)>
                                 <!ELEMENT action (result*)>
                                 <!ATTLIST action
                                         name CDATA #REQUIRED
                                         class CDATA #REQUIRED>
                                 <!ELEMENT result (#PCDATA)>
                                 <!ATTLIST result
                                         name CDATA #IMPLIED
                                         redirect (true|false) "false">
                             ]>
                             <mystruts>
                                 <actions>
                                     <action name="register" class="com.RegisterAction">
                                         <result name="success">register_success.jsp</result>
                                         <result name="input">register.jsp</result>
                                     </action>
                                 </actions>
                             </mystruts>

DTD验证XML文档的更多相关文章

  1. 验证XML文档的范例代码

    如果想变成自己的,就把这里的xml文档名替换成自己xml文档名 var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc. ...

  2. 【HTML/XML 10】XML文档中的Schema文件

    导读:DTD是对XML文档进行有效性验证的方法之一,事实上,继DTD之后,出现了用来规范和描述XML文档的第二代标准:Schema.Schema是DTD的继承,但是也有其不同的地方,它是真正的以独立的 ...

  3. Spring学习----- Spring配置文件xml文档的schema约束

    1.配置文件示例. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...

  4. 关于Spring配置文件xml文档的schema约束

    最开始使用spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例. <?xml version=&q ...

  5. Spring中xml文档的schema约束

    最开始使用Spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例.   <?xml version= ...

  6. DTD与XML Schema都是XML文档。(选择1项)

    DTD与XML Schema都是XML文档.(选择1项) A.正确 B.不正确 解答:DTD不是XML文件, schema是XML文档

  7. 2018.5.14 XML文档类型定义----DTD

    1.DTD概述 一个完全意义上的XML文件不仅仅是Well-fromed(格式良好的),而且还应该是使用了一些自定义的标记ValidatingXMl(有效的)文档也就是说他必须遵守文档类型的定义中已声 ...

  8. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

  9. java: (正则表达式,XML文档,DOM和DOM4J解析方法)

    常见的XML解析技术: 1.DOM(基于XML树结构,比较耗资源,适用于多次访问XML): 2.SAX(基于事件,消耗资源小,适用于数量较大的XML): 3.JDOM(比DOM更快,JDOM仅使用具体 ...

随机推荐

  1. jQuery 的 ready 函数是如何工作的?(源码分析)

    如果你使用过 jQuery , 就必然使用过 ready 函数,它用来注册当页面准备好之后可以执行的函数. 问题来啦,我们的页面什么时候准备好了呢? 1. onload 事件 最基本的处理方式就是页面 ...

  2. Delphi实例之一个较复杂的记事本的实现

    http://www.mamicode.com/info-detail-110813.html delphi中控件位置及自动排版的问题 http://blog.csdn.net/avan_lau/ar ...

  3. Activity的生命周期与加载模式——Activity的4种加载模式

    配置Activity时可指定android:launchMode属性,该属性用于配置该Activity的加载模式,该属性支持如下4个属性值. standard:标准模式,这是默认的加载模式. sing ...

  4. 基于监听的事件处理——Activity本身作为事件监听器

    这种形式使用Activity本身作为监听器类,可以直接在Activity类中定义事件处理方法,这种形式非常简洁.但这种做法有两个缺点: 这种形式可能造成程序结构混乱,Activity的主要职责应该是完 ...

  5. 递归求和1到n

    一般的方法 #include<stdio.h> int sum(int n){ if(n==1) return 1; else return n+sum(n-1);} int main(v ...

  6. MFC中在基于对话框的窗体中使用CFileDialog导致菜单栏变灰的解决方案

    CSDN的博客编辑器实在是难用……转战博客园 直接把CSDN发的搬过来了 ————————————————————————————我是分割线———————————————————————————— 第 ...

  7. C# App.config配置文件的讲解

    App.config是C#开发WinForm程序的配置文件,开发Web程序的配置文件叫Web.config.本文介绍App.config的简介使用. 我们先来打开一个App.config文件,看看它的 ...

  8. C++中定义使用受限的类

    1.只能在堆上使用的类 栈上对象通过自动调用析构函数释放空间,将该类的析构函数定义为private就可以阻止其被自动调用,从而阻止在栈上使用该类的对象,为了避免资源泄漏问题,在堆上使用该类的对象时我们 ...

  9. 框架基础:ajax设计方案(三)--- 集成ajax上传技术 大文件/超大文件前端切割上传,后端进行重组

    马上要过年了,哎,回家的心情也特别的激烈.有钱没钱,回家过年,家永远是舔舐伤口最好的地方.新的一年继续加油努力. 上次做了前端的ajax的上传文件技术,支持单文件,多文件上传,并对文件的格式和大小进行 ...

  10. (五)Hololens Unity 开发之 手势识别

    学习源于官方文档 Gestures in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (五)Hololens Unity 开发之 手势识别 HoloLe ...