2.【 xml Schema 】简单 元素

schema php 验证程序

<?php
    $dom = new DOMDocument;
    $dom->Load('demo.xml');
    if($dom->schemaValidate("book.xsd")){ echo "validate"; }else{ echo "not validate"; }

1. 简易元素

那些仅包含文本的元素 包括 XML Schema 定义中包括的类型中的一种(布尔、字符串、数据等等),或者它也可以是您自行定义的定制类型 boolean string data etc.
syntax : <xs:element name="xxx" type="yyy">

内建类型
  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time
  • xs:positiveInteger

DEMO

<lastname>Smith</lastname>
<age>28</age> <dateborn>1980-03-27</dateborn>

变成

<xs:element name="lastname" type="xs:string">Smith</xs:element> <xs:element name="age" type="xs:integer">28</xs:element> <xs:element name="dateborn" type="xs:date">Smith</xs:element>

默认值 和固定值

<xs:element name="color" type="xs:string" default="red"/> 默认值 <xs:element name="color" type="xs:string" fixed="red"/> 固定值

2. 属性

简易元素无法拥有属性。假如某个元素拥有属性,它就会被当作某种复合类型。但是属性本身总是作为简易类型被声明的

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

xml

<lastname lang="EN">Smith</lastname>

xsd

<xs:attribute name="lang" type="xs:string"/>

也可以设置默认和固定值 type 可以对元素或者属性的内容进行限定 xs:date 的值不能使Hello World 也可以添加自己的限定条件 称之为facet 限定面

3.restriction 限定/Facet

  • 区间限制 minInclusive 最小值 maxInclusive 最大值
<xs:element name="age">

<xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="120"/> </xs:restriction> </xs:simpleType> </xs:element>

涉及到的xs函数

xs:simpleType
xs:restriction
xs:maxInclusive // integer 最大
xs:minInclusive // integer 最小 xs:enumeration //枚举类型

也可以使用下面的格式写

  • enumeration 枚举
<xs:element name="car" type="clssType"> <xs:simpleType name="clssType"> <xs:restriction base="xs:string"> <xs:enumeration value="BWM"/> <xs:enumeratiion value="AUDI"/> </xs:restriction> </xs:simpleType> </xs:element>

还支持pattern constraint (模式限制)

  • pattern 模式

下面可以接受一个a-z 之间的一个字符

<xs:element name="title">
      <xs:simpleType> <xs:restriction base="xs:string"> <xs:patten value="[a-z]"/> </xs:restriction> </xs:simpleType> </xs:element>

可以接受 ([a-z])* , ([a-z][A-Z])+ ,male|female ,[a-zA-Z0-9]{8} 这些都可以 正则嘛

  • whiteSpace 空白限定

<xs:whiteSpace value="perserve"/>
- perserve 保留空白 这意味着 XML 处理器不会移除任何空白字符 - replace 替换空白 这意味着 XML 处理器将移除所有空白字符(换行、回车、空格以及制表符 - collapse 这意味着 XML 处理器将移除所有空白字符(换行、回车、空格以及制表符会被替换为空格,开头和结尾的空格会被移除,而多个连续的空格会被缩减为一个单一的空格)

  • 长度限制 length、maxLength 以及 minLength

数据类型的限定

 

限定描述
enumeration定义可接受值的一个列表
fractionDigits定义所允许的最大的小数位数。必须大于等于0。
length定义所允许的字符或者列表项目的精确数目。必须大于或等于0。
maxExclusive定义数值的上限。所允许的值必须小于此值。
maxInclusive定义数值的上限。所允许的值必须小于或等于此值。
maxLength定义所允许的字符或者列表项目的最大数目。必须大于或等于0。
minExclusive定义数值的下限。所允许的值必需大于此值。
minInclusive定义数值的下限。所允许的值必需大于或等于此值。
minLength定义所允许的字符或者列表项目的最小数目。必须大于或等于0。
pattern定义可接受的字符的精确序列。
totalDigits定义所允许的阿拉伯数字的精确位数。必须大于0。
whiteSpace定义空白字符(换行、回车、空格以及制表符)的处理方式。

转载于:https://www.cnblogs.com/martinding/p/7478941.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值