zoukankan      html  css  js  c++  java
  • 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 定义空白字符(换行、回车、空格以及制表符)的处理方式。
    慢慢沉淀自己
  • 相关阅读:
    展示之前的作品
    let和const的一些知识点
    javascript执行上下文和变量对象
    数据类型隐式转换及数据类型判断方式总结
    CSS元素隐藏方法总结
    ES6 —— 数组总结
    小程序性能相关
    nginx和resin一二三
    修改XAMPP的默认根目录
    面试题延伸及总结
  • 原文地址:https://www.cnblogs.com/martinding/p/7478941.html
Copyright © 2011-2022 走看看