XML的DTD和Schema约束

为什么要使用约束?

XML是自定义的标签,有时候标签太多,记不住,所以就需要有约束来告诉我能写哪些标签,哪些标签写错了不能识别

XML中有哪几种约束?

有很多约束,其中DTD和Schema约束最为常见。

约束本质上是什么?

约束本质上也是一种xml文件。

DTD约束和Schema约束的区别

特点的区别:

DTD约束较为古老,简单,一些老框架使用DTD作为约束:Struts2和Hibernate都使用DTD作为其XML配置文件的约束

Schema约束功能更为强大,用的更为广泛,Tomcat和Spring都使用Schema作为其xml配置文件的约束。

文件的区别:

DTD约束是已.dtd为后缀命名

Schema约束已.xsd为后缀命名

语法上的区别:

DTD约束的基本语法:

定义元素:<!ELEMENT 元素名称 使用规则>

定义属性:<!ATTLIST 元素名称 属性名称 属性值类型 设置说明>

Schema约束的基本语法:

书写规范跟一个XML文件一样是包含关系

根节点是:<xs:schema xmlns:xs="名称空间">

后面的属性节点和元素节点以及文本节点根据使用的需要进行嵌套,也就是说实际使用的时候怎么嵌套在写Schema文件的时候就怎么嵌套

元素节点:<xs:element name="名称"></xs:element>

属性节点:<xs:attribute name="名称" type="类型" use="使用要求"/>

为什么要学习DTD和Schema约束?

不是为了写.dtd或者.xsd文件!

而是为了知道约束这个概念,到时候能够在写XML的时候更顺手!

XML中如何引入DTD约束?

dtd文档在本地: <!DOCTYPE 根元素 SYSTEM "DTD文档路径">

dtd文档不在本地: <!DOCTYPE 根元素 PUBLIC "DTD名称" "DTD文档的URL">

Demo:(来自Struts2的struts.xml)

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

XML如何引入Schema约束?

1、查看schema文档,找到根元素,在xml中写出来

2、根元素来自哪个名称空间。使用xmlns指令来声明

3、引入的名称空间跟哪个xsd文件对应?使用schemaLocation来指定:两个取值:第一个为名称空间 第二个为xsd文件的路径

Demo:(来自Tomcat的web.xml)

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

开发过程中如果无法连接到英特网,如何使用约束?

在IDE中给将约束的URI映射到本地即可

时间: 2024-12-26 20:35:44

XML的DTD和Schema约束的相关文章

第1天 XML和DTD、schema约束

1.xml * 扩展名:*.xml * 作用:存储.配置 一个XML文件分为如下几部分内容:文档声明.元素.属性.注释  CDATA区.特殊字符.处理指令(processing instruction). 1.1文档声明 最简单的声明语法: <?xml version="1.0" ?> version:设置当前xml文档内容使用的版本 用encoding属性说明文档的字符编码: <?xml version="1.0" encoding="

关于Spring配置文件xml文档的schema约束

最开始使用spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例. [html] view plain copy print? <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:m

Spring中xml文档的schema约束

最开始使用Spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springfram

xml初步,DTD和Schema约束

XML 可扩展的标记语言(!!!可扩展) 作用 1.存放数据 2.配置文件 语法 文档声明 <?xml version="1.0" encoding="UTF-8"?> 1.文档声明必须为<?xml开头,以?>结束: 2.文档声明必须从文档的0行0列位置开始: 3.文档声明只有2个属性: version 版本 encoding 编码 元素 <bean></bean> 1.必须开始结束 2.标签由开始标签,元素体,结束标

XML、DTD、Schema、dom4j解析

XML:可扩展的标记语言 XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的. XML语法: XML文档声明 1.文档声明必须为<?xml开头,以?>结束; 2.文档声明必须从文档的0行0列位置开始: 3.文档声明只有属性: a) versioin:指定XML文档版本. b) encoding:指定当前文档的编码.可选属性,默认值是.utf-8: 元素element 1.元素是XML文档中最重要的组成部分, 2.普通元素的结构开始标签.元素体.结束标

二、XML的DTD和Schema

  1.DTD简单介绍   2.schema入门 schema出现的目的是通过一个更加合理的方式来编写xml的限制文件(基于xml语法的方式) schema可以使用命名空间来支持多个名称相同的元素 schema可以很好的完成对java或者所有对象的修饰并且提供了大量的数据类型     2.1.命名空间 在xml中引入schema 通过文件路径引入     2.2.元素和属性     2.3.相关约束   3.深入schema     3.1.数据模型的创建     3.2.相关的设计方案    

xml语法、DTD约束xml、Schema约束xml、DOM解析xml

今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的html语言,html是超文本标记语言,使用html语言规定好的标签来封装文本数据.而html使用的标签html语言规定好的,每个标签都有自己特定的功能. xml语言,可扩展的标记语言,这门语言它没有定义任何的标记,而标记是由使用者自己来定义,但是由于标签名称以及属性名称都由用户自己来命名,导致别人在使

JavaWeb-06(Dom4j技术及Schema 约束、Tomcat与Web程序结构)

JavaWeb-06 JavaWeb-Dom4j技术及Schema 约束.Tomcat与Web程序结构 DOM4J及Schema 一.Dom4j解析(掌握) DOM4J解析XML文档 a. Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM的人分离出来而后独立开发的.与JDOM不同的是,dom4j使用接口和抽象基类,虽然Dom4j的API相对要复杂一些,但它提供了比JDOM更好的灵活性. b. Dom4j是一个非常优秀的Java XML API,具有性能优异.功能强大和极

框架 day36 Spring3 入门,DI依赖注入,装配bean基于xml/注解, 整合Junit4,配置约束自动提示

1 什么是spring 1.1官网 spring.io 1.2介绍 Spring的核心是控制反转(IoC)和面向切面(AOP). IoC(Inverse of Control 反转控制) AOP(Aspect Oriented Programming 面向切面编程为内核) 简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架. *轻量级:依赖其他内容较小,使用资源消耗也少.对比:EJB 重量级 *分层:经典三层体系架构,spring 提供解决方案