zoukankan      html  css  js  c++  java
  • xml约束

    约束问题详情请参考api

    1.dtd约束:

    约束标签

    <!ELEMENT 元素名称 类别>   <!ELEMENT 元素名称 (元素内容)>

     

    类别

    空标签: EMPTY。 表示元素一定是空元素。

    普通字符串: (#PCDATA)。表示元素的内容一定是普通字符串(不能含有子标签)。

    任何内容: ANY。表示元素的内容可以是任意内容(包括子标签)

     

    (元素内容):

    顺序问题:

    <!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)> 按顺序出现子标签

     

    次数问题:

    标签     必须且只出现1次。

    标签+  : 至少出现1

        标签*   0n次。

    标签?   0 1次。

    约束属性

    <!ATTLIST 元素名称 属性名称 属性类型 默认值>

     

    默认值

    #REQUIRED 属性值是必需的

    #IMPLIED   属性不是必需的

    #FIXED value 属性不是必须的,但属性值是固定的

     

    属性类型:控制属性值的

    CDATA :表示普通字符串

    (en1|en2|..) 表示一定是任选其中的一个值

    ID:表示在一个xml文档中该属性值必须唯一。值不能以数字开头

    代码:

    xml:

    <?xml version="1.0"?>
    <!DOCTYPE note SYSTEM "note.dtd">
    <note>
      <to id="a1"></to>
      <to id="a2"></to>
      <to id="a3"></to>
      <heading>Reminder</heading>
      <heading>Reminder</heading>
      <heading>Reminder</heading>
      <body>Don't forget me this weekend</body>
      <body>Don't forget me this weekend</body>
      <body>Don't forget me this weekend</body>
    </note>

     

    dtd:

      <!ELEMENT note (from?,to+,heading*,body+)>
      <!ELEMENT to      EMPTY>
      <!ELEMENT from    (#PCDATA)>
      <!ELEMENT heading (#PCDATA)>
      <!ELEMENT body    (#PCDATA)>
      <!ATTLIST to id ID #REQUIRED>

    2.schema约束:

    名称空间:告诉xml文档的哪个元素被哪个schema文档约束。 在一个xml文档中,不同的标签可以受到不同的schema文档的约束。

                 1)一个名称空间受到schema文档约束的情况
                 2)多个名称空间受到多个schema文档约束的情况
                 3)默认名称空间的情况
                 4)没有名称空间的情况

    代码:

    xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <itcast:书架 xmlns:itcast="http://www.itcast.cn"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xsi:schemaLocation="http://www.itcast.cn book.xsd">
        <itcast:>
            <itcast:书名>JavaScript网页开发</itcast:书名>
            <itcast:作者>张孝祥</itcast:作者>
            <itcast:售价>28</itcast:售价>
        </itcast:书>
    
    </itcast:书架>
    View Code

    xsd:

    <?xml version="1.0" encoding="UTF-8" ?> 
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                          targetNamespace="http://www.itcast.cn"
                          elementFormDefault="qualified">
        <xs:element name='书架' >
            <xs:complexType>
                <xs:sequence maxOccurs='unbounded' >
                    <xs:element name='书' >
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name='书名' type='xs:string' />
                                <xs:element name='作者' type='xs:string' />
                                <xs:element name='售价' type='xs:integer' />
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:schema>
    View Code
  • 相关阅读:
    Android自定义之仿360Root大师水纹效果
    Android之TextView的Span样式源码剖析
    Android之TextView的样式类Span的使用详解
    随着ScrollView的滑动,渐渐的执行动画View
    仿微信主界面导航栏图标字体颜色的变化
    android自定义之 5.0 风格progressBar
    Android性能优化之内存篇
    Android性能优化之运算篇
    How to install Zabbix5.0 LTS version with Yum on the CentOS 7.8 system?
    How to install Zabbix4.0 LTS version with Yum on the Oracle Linux 7.3 system?
  • 原文地址:https://www.cnblogs.com/handsomecui/p/6046558.html
Copyright © 2011-2022 走看看