美文网首页
简单定义schema约束(XML入门13)

简单定义schema约束(XML入门13)

作者: 北荒客 | 来源:发表于2020-03-04 02:48 被阅读0次

     学习写schema文档约束(facets)内容特别多,好在很简单,使用时查资料就可以解决。但是,有个前提,你必须懂得什么是约束。约束就是限制。例如:年龄,一个人的年龄不可能成千上万,所以,做幼儿园登记时,年龄写30岁肯定不合逻辑。这就是是对元素标记的限定。再不如设定秘码必须八位,就必须在数据中进行约束。

      我们还是使用官网例子。

       对数值的限定例子:

<xs:element name="age">

 <xs:simpleType>

<xs:restricton  base="xs:integer"/>

<xs:minInclusive value="0"/>

<xs:maxInclusive value="120"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

        我们在写约束时,照胡楼画瓢就可以。限制(restriction),最小值(mininclusive),最大值(maxinclusive),基础(base),数值(value)。

     其实这就是定义一个简单元素标记: <age></age>。在使用是,标记之间所填的数据要在0和120之间才有效。否则不合法。

     如果不做限定,指定义一个简单元素就用第一句话,加个类型即可。例如:

<xs:element  name="age" type=“xs:integer”/>

       对数值限定在一组值,其他的都不接受。使用枚举(enumeration)指令。

     例如:

<xs:element name="car">

 <xs:simpleType>

<xs:restricton  base="xs:string"/>

<xs:enumeration value="Audi"/>

<xs:enumeration value="Golf"/>

  <xs:enumeration value="BMW"/>

</xs:restriction></xs:simpleType>

</xs:element>

       这个例子,把小汽车的品牌固定在三个品牌,不允许使用其他品牌。

       在schema文档使用最多的是模式约束(pattern constraint),是一种严格约束模式。举个对性别约束的下列子:

<xs:element  name="gender">

 <xs:simpleType>

<xs:restricton  base="xs:string"/>

<xs:pattern value="male|female"/>

</xs:restriction></xs:simpleType>

</xs:element>

     这个约束,对简单元素标记: <gender></gender>之间只能是非男即女。

     用模式约束(pattern constraint)限定小写字母,例如:

<xs:element name="letter">

 <xs:simpleType>

<xs:restricton  base="xs:string"/>

<xs:pattern value="[a-z]"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

    这个例子,对元素标记<letter></letter>之间只能填写26个小写字母。如果letter标记之间写三个大写字母,可以如下定义,例如:

<xs:element name="letter">

 <xs:simpleType>

<xs:restricton  base="xs:string"/>

<xs:pattern value="[A-Z] [A-Z][A-Z]"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

      如果,对元素标记<letter></letter>之间限定填写三个任意大小写字母,可以如下定义。例如:

<xs:element name="letter">

 <xs:simpleType>

<xs:restricton  base="xs:string"/>

<xs:pattern value="[a-zA-Z][a-zA-Z] [a-zA-Z]"/>

     </xs:restriction>

</xs:simpleType>

</xs:element>

    如果,对元素标记<letter></letter>之间限定填写一个任意大小写字母或数字,可以如下定义。例如:

<xs:element name="letter">

 <xs:simpleType>

<xs:restricton  base="xs:string"/>

<xs:pattern value="[a-zA-Z0-9]"/>

     </xs:restriction>

</xs:simpleType>

</xs:element>

      虽然使用模式约束(pattern constraint)比较啰嗦,但是,写多了就简单了。非常自然,使用限定的方式与你想象的差不多。

       以上是简单约束,还有一些比较复杂的约束。容后再续。

          北荒客

           2020.3.4

相关文章

  • 简单定义schema约束(XML入门13)

    学习写schema文档约束(facets)内容特别多,好在很简单,使用时查资料就可以解决。但是,有个前提,你必须...

  • XML中的Schema约束

    Schema简介 XML Schema也被称为XML Schema定义(XML Schema Definition...

  • 深入定义schema约束(XML入门14)

    写DTD文档定义元素没有用schema定义元素细致,从约束(facets)就看得出来。前面的文章已经讲了简单的s...

  • XML的Schema约束

    Schema 另一种约束xml文档的语法那就是Schema,用于替代老式的DTD约束。 什么是XML Schema...

  • Schema

    Schema约束同DTD一样,XML Schema也是一种用于定义和描述XML文档结构与内容的模式语言。 区别:1...

  • XML约束——Schema约束

    Schema与DTD XML Schema符合XML语法结构。 DOM、SAX等XML API很容易解析出XML ...

  • 简单定义schema属性(XML入门12)

    其实XML文档主要常用的概念就是元素(element)、属性(attribute),而实体(entity)就不提...

  • 简单定义schema元素(XML入门10)

    我们学习使用schema文档来取代DTD文档配合XML文档,就是要因为schema文档功能强大,而且与XML文档...

  • xml——Schema约束

    dtd 1. schema的介绍 一个xml中可以有schema,多个sche...

  • 03-基于Schema的XML

    示例1:student.xml student.xsd 实例2: Schema约束文档的定义 XSD文档至少要包含...

网友评论

      本文标题:简单定义schema约束(XML入门13)

      本文链接:https://www.haomeiwen.com/subject/ewtelhtx.html