zoukankan      html  css  js  c++  java
  • DTD与XSD的区别

    DTD与XSD的区别

    Spring源码学习回顾

    DTD(Document Type Definition),即文档类型定义,为XML文件的验证机制,属于XML文件中组成的一部分。DTD是一种保证XML文档格式正确的有效验证方式,它定义了相关XML文档的元素、属性、排序方式、元素的内容类型以及元素的层次结构。其中DTD就相当于XML中的词汇和语法,我们可以通过比较XML文件和DTD文件来看文档是否符合规范,元素和标签使用是否正确。

    DTD在一定的阶段推动了XML的发展,但是他本身存在一定的缺陷:

    1. 它没有使用XML格式,而是自定义了一套格式,相对解析器的重用性较差;而且DTD的构件和访问没有标准的编程接口,导致解析器很难简单地解析DTD文档。
    2. DTD对圆度的类型限制较少;同时其他的约束了也比较弱。
    3. DTD扩展能力较差。
    4. 基于正则表达式的DTD文档的描述能力有限。

    XSD(XML Schemas Definition),即XML Schema语言,针对DTD的缺陷有W3C在2001年推出。XML Schema本身就是一个XML文档,使用的是XML语法,因此可以很方便地解析XSD文档。相对于DTD, XSD具有如下优势:

    1. XML Schema基于XML,没有专门的语法
    2. XML Schema可以像其他XML文件一样解析和处理
    3. XML Schema相比于DTD提供了更丰富的数据类型
    4. XML Schema提供可扩展的数据模型
    5. XML Schema支持综合命名空间
    6. XML Schema支持属性组

    所以,在Spring源码中,基于XML文件配置Bean的XML验证模式,一般情况下是XSD模式。

    向大神看齐
  • 相关阅读:
    actf_2019_babystack
    Exp9 Web安全基础
    Exp 8 Web基础
    Exp7 网络欺诈防范
    pwn堆总结
    基于OpenSSL的asn.1分析工具设计与实现 20175219罗乐琦 个人报告
    Exp6 MSF基础应用
    glibc free源码分析
    glibc malloc源码分析
    exp5 信息收集与漏洞扫描
  • 原文地址:https://www.cnblogs.com/Liu-xing-wu/p/15362729.html
Copyright © 2011-2022 走看看