xml约束的概念

Posted cplinux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml约束的概念相关的知识,希望对你有一定的参考价值。

1 xml 约束的概念

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 html
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性质。

  因为xml文件是可扩展的,且里面的标签可以自定义的,只要符合xml的最基本要求,那么就可以写一个xml文件。但是在实际应用中,我们需要针对某一个特定的应用,给xml中引入一下语法,这些语法用来检测特定应用的xml文件编写是否正确。例如mybatis中使用的DTD约束,spring中使用的shema约束。

 

  xml约束就是在特定应用下,为xml编写的一下语法,用来检测这个应用下的xml文件是否正确。

2 xml约束常用的两种约束

  (1) DTD约束

  描述约束的文件是以.dtd为扩展名,在xml引入的方式如下

<!DOCTYPE mapper  
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

  DOCTYPE后面的mapper就是整个xml的根标签

  (2)shema约束

  描述约束的文件以 .xsd为扩展名,在xml中引入shema的约束如下

<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.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd"> 
</beans>

  在引入shema约束时,并没有再另外使用新的标签(DTD约束使用<!DOCTYPE>标签引入约束),而是在根标签中使用xmlns属性来引入约束,xmlns是xml namespace的简写。并通过 xsi:schemaLocation="" 把schema约束的位置进行指定,一般情况下会按照指定的位置到网络中下载约束文件,如果没有网络,需要自己指定本地约束文件。


 

以上是关于xml约束的概念的主要内容,如果未能解决你的问题,请参考以下文章

maven web项目的web.xml报错The markup in the document following the root element must be well-formed.(代码片段

XML--约束

XML——XML文件约束之DTD详解

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

XML文档的规范与约束

Android Fragments 基础知识:为啥?这在概念上是错误的吗?