Java Web程序设计——XML基础(二)

Java Web程序设计——XML基础(二)

同理,放上思维导图,前面的内容请见https://blog.csdn.net/DTRblank/article/details/104479567
在这里插入图片描述

Schema约束

什么是Schema约束
  • 同DTD约束基本一样,也是用来规范XML文件内容的书写规范,只不过Schema的约束比DTD更加强大。
区别
  • DTD约束文件的后缀名为dtd,Schema约束文件后追命为xsd,它是基于XML语法格式
  • DTD支持的数据类型比较有限,Schema支持更多的数据类型,包括用户自定义的数据类型
  • DTD几乎不支持名称空间,Schema对名称空间非常友好

ps:此处只是列举了个别几个,区别还有很多,只需了解即可,因此不难发现Schema的相应语法比DTD复杂很多。

名称空间
  • XML文档可以引入多个约束文档,有时会出现名称的冲突,所以在XML文档中提供了名称空间,它可以唯一标识一个元素或者属性。

语法格式:

<元素名 xmlns:prefixname="URI">
  • 元素名:指的是在哪一个元素上声明名称空间
  • xmlns:prefixname:指该元素的属性名,所对应的值是一个URI引用
引入Schema文档
  • 使用名称空间引入Schema文档,通过属性xsi:schemaLocation来声明名称空间文档
  • 不使用名称空间引入Schema文档,通过属性xsi:noNamespaceSchemaLocation直接指定
Schema语法

元素定义

语法格式:

<xs:element name="xxx" type="yyy"/>

element:用于声明一个元素
xxx:指元素的名称
yyy:指元素的数据类型

XML Schema中有很多数据类型,常用以下几种:

  • xs:string:表示字符串类型
  • xs:decimal:表示小数类型
  • xs:integer:表示整数类型
  • xs:boolean:表示布尔类型
  • xs:date:表示日期类型
  • xs:time:表示时间类型
    例如:
<lastname>Ann</lastname>
<age>21</age>
<dateborn>1998-01-01</dateborn>

上述代码中,定义了3个元素,对应的Schema定义如下:

<xs:element name="lastname" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="databorn" type="xs:date"/>

属性定义

语法格式:

<xs:attribute name="xxx" type="yyy"/>

xxx:属性名称
yyy:属性的数据类型(属性的常用类型与元素相同)

简单类型

  • xs:minInclusive和xs:maxInclusive元素对值的限定,比如:当一个公司招聘员工年龄要求在18~25岁之间,此时就需要对“age”这个元素进行限定
  • xs:enumeration元素对一组值的限定
  • xs:pattern元素对一系列值的限定,比如:要定义一个单词“forget”,要求可接受的只能是字母a~z中的其中一个
  • xs:restriction元素对空白字符的限定

复杂类型

  • 空元素,不包含内容,只包含属性的元素
  • 包含其他元素的元素
  • 仅包含文本的元素
  • 包含元素和文本的元素

ps:以上简单了解即可,此处不进行详细列举

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值