(详细学习参考)https://blog.csdn.net/u013087513/article/details/52745509

XML约束之DTD的使用

(1)为什么要有约束?
  • XML都是用户自定义的标签,若出现小小的错误,软件程序将不能正确地获取文件中的内容而报错。(如:Tomcat)
  • XML技术中,可以编写一个文档来约束一个XML的书写规范,这个文档称之为约束。
  • 两个概念:格式良好的XML:遵循XML语法的XML。有效的XML:遵循约束文档DTD的XML
  • 总之:约束文档DTD定义了在XML中允许出现的元素名称、属性及元素出现的顺序等等。

(2)XML约束概述

     XML约束概念:在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
     常用的约束技术:XML DTD 和XML Schema
 
(3)DTD约束快速入门
    DTD(Document Type Definition),全称为文档类型定义。
复杂标签:<!ELEMENT 标签名 (子节点)>

简单标签:<!ELEMENT 标签名 (#PCDATA)>
引入DTD:<!DOCTYPE 根节点 SYSTEM  "dtd的地址">
 (4)将DTD与XML文档关联的三种形式
   DTD约束既可以作为一个单独的文件编写,也可以在XML文件内编写。
  • 使用内部DTD 。<!DOCTYPE 根节点  [DTD的代码]>
  • 使用外部DTD。<!DOCTYPE 根节点 "DTD的地址">
  • 使用网络DTD。<!DOCTYPE 根节点 PUBLIC  "DTD的名称"  "DTD的地址">

常见的使用网络DTD约束有Struts2的框架。

XML使用DOCTYPE声明语句来指明它所遵循的DTD文档,有两种形式:
当引用的DTD文档在本地时,采用如下方式:
<!DOCTYPE 根元素 SYSTEM “DTD文档路径”>
如:<!DOCTYPE 书架 SYSTEM “book.dtd”>
当引用的DTD文档在公共网络上时,采用如下方式:
<!DOCTYPE 根元素 PUBLIC “DTD名称” “DTD文档的URL”>
如:<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

XML与DTD简介的更多相关文章

  1. 【PHP XML与dtd概述【完整版】】

    一.XML文件简介 关于XML的大多数人都知道一些,HTML->xhtml->xml,这个顺序本来应当是HTML发展的顺序. XML可以当做配置文件使用,还可以充当小型的数据库. vers ...

  2. XML 和 DTD

    1.XML 1.1xml简介 a)xml,eXtensible Markup Language,可扩展标记语言,是一种标记语言: b)xml是一种非常灵活的语言,没有固定的标签,所有的额标签都可以自定 ...

  3. XML代码生成器——XMLFACTORY 简介(四)

    XML代码生成器——XMLFACTORY 简介(四) 这一篇我们讲“类属性”页签的配置功能,您将了解到:如何为元素子值指定类属性的名称,数据类型,及容器类型. 如果,你没看过这个系列的第一篇文章,请先 ...

  4. XML代码生成器——XMLFACTORY 简介(三)

    XML代码生成器——XMLFACTORY 简介(三) 这一篇我们讲“类名称”页签 的配置功能,您将了解到:如何为Xml元素指定对应的类名称及脱壳功能. 如果,你没看过这个系列的第一篇文章,请先去看这篇 ...

  5. XML代码生成器——XMLFACTORY 简介(一)

    XML代码生成器——XMLFACTORY 简介(一) 软件开发中经常要和第三方应用交互数据,特别是在银行.电信行业,这种需求更是必不可少,往往一个系统要和三五个其它系统交互数据,而数据交换的报文经常采 ...

  6. XML代码生成器——XMLFACTORY 简介(二)

    XML代码生成器——XMLFACTORY 简介(二)      因为春节和项目上线的原因,离写上一篇文章的时间已经好久了. 不知道是事情太多了,还是自已效率太低了.总之是时间不够用. 哎,苦逼的程序员 ...

  7. XML.01-语法简介

    body,td { font-family: calibri; font-size: 10pt }   XML.01-语法简介 文档声明 元素(标签) 属性 注释 特殊字符 CDATA区域 处理指令 ...

  8. XML约束——DTD约束

    参考: 方立勋老师的讲课视频.   什么是XML约束 •在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束. 为什么需要XML约束 常用的约束技术 •XML DTD • ...

  9. xml约束DTD演示

    此演示xml和DTD在一个文件中 book.xml <?xml version="1.0" encoding="utf-8"?> <!DOCT ...

随机推荐

  1. Android(java)学习笔记107:Relativelayout相对布局

    1. Relativelayout相对布局案例: 我们看看案例代码,自己心领神会: <?xml version="1.0" encoding="utf-8" ...

  2. LeetCode分类-前400题

    1. Array 基础 27 Remove Element 26 Remove Duplicates from Sorted Array 80 Remove Duplicates from Sorte ...

  3. 使用Process组件访问本地进程

    实现效果; 知识运用: Process组件的StartInfo属性 //获取或设置要传递给Process的Start方法的属性 public ProcessStartInfo StartInfo {g ...

  4. 获取kafka的lag, offset, logsize的shell和python脚本

    python脚本 #!/usr/bin/env python import os import re import sys group_id=sys.argv[1] pn=sys.argv[2] ka ...

  5. 遍历Map的两种方式

    取出map集合中所有元素的方式一:keySet()方法. 可以将map集合中的键都取出存放到set集合中.对set集合进行迭代.迭代完成,再通过get方法对获取到的键进行值的获取. Set keySe ...

  6. poj3335 Rotating Scoreboard

    题目描述: vjudge POJ 题解: 半平面交判核的存在性. 重点在于一个点的核也算核. 这样的话普通的求多边形的版本就要加一个特判. 就是把剩下的一个节点暴力带回所有直线重判,这时判叉积是否$\ ...

  7. 201621123080 《Java程序设计》第10周学习总结

    201621123080 <Java程序设计>第10周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...

  8. Python基础-包与模块

    Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...

  9. java做http接口

    问题描述 我要对外提供一个http接口给别人调用...但是我不知道用java怎么做这个接口.请大家详细给我讲讲.从开发到如何发布到服务器.谢谢了 解决方案 如果你这个很简单的话,而且数量也很少,建议直 ...

  10. Python学习笔记:PyInstaller(exe程序打包)

    PyInstaller可以将Python程序打包成一个exe程序来独立运行,用户使用时只需要执行这个exe文件即可,不需要在机器上再安装Python及其他包就可运行了.另外,PyInstaller相较 ...