hibernate映射文件的dtd

XSD和DTD文件的区别

XML我们并不陌生,在企业级应用中有很广的用途。具体就不再说,下面介绍一下DTD,XSD的区别并以XSD为例看spring中定义与使用。

1.DTD(Documnet Type Definition)

DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。
DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。 一个 DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。

DTD和XSD相比:DTD 是使用非 XML 语法编写的。
DTD 不可扩展,不支持命名空间,只提供非常有限的数据类型 .
DTD的缺陷 :
利用DTD验证有效性的解析器,就能够立即对文档的完整性进行可靠的检查。DTD虽然比较实用,但DTD也有不少的缺陷。

1): DTD有自己的特殊语法,其本身不是XML文档;  
2): DTD只提供了有限的数据类型,用户无法自定义类型;  
3): DTD不支持域名机制。

DTD 是XML1.0版规格的一部分,是XML文件的验证机制,属于XML文件组成的一部分。DTD 是一种保证XML文档格式正确的有效方法,可通过比较XML文档和DTD文件来看文档是否符合规范元素和标签使用是否正确。XML文件提供应用程序一个 数据交换的格式,DTD正是让XML文件能成为数据交换标准,因为不同的公司只需定义好标准DTD,各公司都能依DTD建立XML文件,并且进行验证,如 此就可以轻易的建立标准和交换数据,这样满足了网络共享和数据交互
DTD文件是一个ASCII文本文件,后缀名为.dtd。

1.为什么需要dtd,xsd 这种xml文档定义描述?

对于一个格式良好的XML文档,我们只能保证这个文档的格式符合XML规范,但是元素与元素之间的关系、元素与属性的关系,属性的取值是否正确,我们就无法得知了。对于一个格式良好的文档,如果仅仅是在有限的应用中使用,或者作为数据的存储传输,那么也能很好的满足我们的应用。但是如果要让其他用户理解你的XML文档,或者和其他的应用进行数据交换,那么就有必要提供一种机制,来保证我们所写的XML文档和别人所写的XML文档其结构是相同的,元素与元素之间的关系是正确的,属性的取值也是符合要求的。

2.在XML当中引入DTD有哪些方式?

我们可以直接在XML文档中定义DTD,也可以通过URI引用外部的DTD文件,或者同时采用这两种方式。

作者:wuxinliulei
链接:https://www.zhihu.com/question/38843167/answer/78782017
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.XSD(XML Schemas Definition)

XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。
可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认 和固定值。
XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间
XML Schema的优点:

  1. XML Schema基于XML,没有专门的语法
  2. XML Schema可以象其他XML文件一样解析和处理
  3. XML
    Schema比DTD提供了更丰富的数据类型.
  4. XML Schema提供可扩充的数据模型。
  5. XML Schema支持综合命名空间
  6. XML Schema支持属性组。
servlet标准在2.5开始就放弃使用dtd,改用了xsd

其他

hibernate映射文件的dtd

https://blog.csdn.net/Pengxiaozhen1111/article/details/80436242

https://hibernate.org/dtd/

https://blog.csdn.net/huweijian5/article/details/21863161

spting 映射文件xsd

http://www.springframework.org/schema

<beans xmlns="http://www.springframework.org/schema/beans"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd>  

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值