DTD约束

什么是DTD?

  DTD(Document Type Definition),文档类型定义,用来约束XML文档。规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等。

DTD约束长什么样?

  

xml如何引用DTD约束?

  1.内部DTD,在XML文档内部嵌入DTD,只对当前XML有效。

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<!DOCTYPE web-app [
... //具体的语法
]>
<web-app>
</web-app>

  2.外部DTD—本地DTD,DTD文档在本地系统上,公司内部自己项目使用。

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
<web-app>
</web-app>

  3.外部DTD—公共DTD,DTD文档在网络上,一般都有框架提供。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>

Schema约束

什么是Schema?

  Schema是新的XML文档约束;

  Schema要比DTD强大很多,是DTD 替代者;

  Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml。

  Schema 功能更强大,数据类型更完善

  Schema 支持名称空间

如何引用Schema约束?

  引入Schema的命名空间

<web-app xmlns="http://www.example.org/web-app_2_5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
version="2.5">

什么是命名空间?

  如果一个XML文档中使用多个Schema文件,而这些Schema文件中定义了相同名称的元素时就会出现名字冲突。

  所以名称空间就是用来处理元素和属性的名称冲突问题,与Java中的包是同一用途。

最新文章

  1. Swift 编程语言自己实践 -自己在Xcode6 动手写20140603
  2. iOS开发系列--扩展--播放音乐库中的音乐
  3. leetCode刷题记录
  4. [PHP] Eclipse开发PHP环境配置
  5. 成品入库过账bapi
  6. jquery 定时器
  7. 记录一个js切换随机背景颜色的代码
  8. java提高篇(六)-----关键字static
  9. 连续多个git提交发生了冲突时
  10. centos mono
  11. MapReduce 简单的全文搜索
  12. python 2.7中urllib 2 与python 3.5中 urllib的区别。
  13. centos nginx-1.10.3 安装
  14. css中的几个小tip(二)
  15. java实现网页爬虫
  16. Linux环境下安装禅道
  17. 当 ReactJS 遇到 TypeScript
  18. ELK简单安装
  19. 破解修改 Electron 软件 | 游戏
  20. PHP 搜索分词实现代码

热门文章

  1. Java蓝桥杯 算法训练 复数归一化
  2. 一口气说出9种分布式ID生成方式,面试官有点懵
  3. Zabbix 邮箱告警(Python脚本)
  4. svn版本库的使用
  5. 朋友,您可能是MCR的受害者
  6. AttributeError: &#39;PyQt5.QtCore.pyqtSignal&#39; object has no attribute &#39;connect&#39;
  7. ubuntu12.04可用源
  8. ucore系统 eclipse-cdt实验环境准备
  9. Django 构建模板form表单的两种方法
  10. 使用redis实现nodejs并发服务