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

    一.xml约束存在的原因:

      1)只想保存特定对象的信息,比如只想保存人的信息--><person><person/>,不想保存动物的信息(xml标签是自定义的),这时候就需要约束技术来规定存在元素

       2)常见的xml约束技术有两种,dtd约束和schema约束


    二.dtd入门

      1)创建一个后缀名为 .dtd的文件

      2)看xml中有多少个元素,就在dtd文件中写几个  <!ELEMENT>

      3)判断元素是简单元素还是复杂元素

        *复杂元素:有子元素的元素

          <!ELEMENT 元素名称 (子元素)>

        *简单元素:没有子元素

          <!ELEMENT 元素名称 (#PCDATA)>

      4)在xml文件中引入dtd文件

         <!DOCTYPE 根元素名称 SYSTEM "dtd文件的路径">

      5)约束的检验需要myeclipse

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE person SYSTEM "dtd约束示范.dtd">
    <person>
        <name>陌上人如玉</name>
        <age>公子世无双</age>
        <cat>天道酬勤</cat>
    </person>
    <!ELEMENT person (name age cat)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT age (#PCDATA)>
    <!ELEMENT cat (#PCDATA)>

    约束取决于dtd中声明了哪些元素,没声明的元素在xml中会报错


    三.使用dtd定义元素

      语法 <!ELEMENT 元素名  约束>

      简单元素:没有子元素的元素

      <!ELEMENT name(#PCDATA)>

                  #PCDATA:元素约束为字符串

        EMPTY:元素约束为空

        ANY:元素可以为空也可以为任意

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE person 
    [<!ELEMENT person(name,age,sex)>
    <!ELEMENT name(#PCDATA)>
    <!ELEMENT age EMPTY>
    <!ELEMENT sex ANY>
    ]>
    <person>
    <naem>张三</naem>
    <age></age>
    <sex>为了明天更美好的生活</sex>
    </person>

      复杂元素:

        <!EMLEMENT person (name,age,sex,school)>

                                      -子元素只能出现一次

        *<!ELEMENT 元素名称 (子元素)>

        *表示子元素出现的次数

            + :表示一次或者多次

            ? :表示零次或者一次

            * : 表示零次或者多次

        *子元素直接使用逗号进行隔开,

            ** 表示元素出现的顺序

        *子元素直接使用 | 隔开

            **表示元素只能出翔其中的任意一个

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE person 
    [<!ELEMENT person(name+,age?,sex*)>
    <!ELEMENT name(#PCDATA)>
    <!ELEMENT age EMPTY>
    <!ELEMENT sex ANY>
    ]>
    <person>
    <name>张三</name>
    <name>李四</name>
    <age></age>
    <age></age>
    <sex>为了明天更美好的生活</sex>
    <sex>果子冲鸭</sex>
    </person>
  • 相关阅读:
    习题2-7
    习题2-6
    习题2-5
    习题2-4
    习题2-3
    作业二 分支循环结构
    2- 8
    实验三-计算圆柱体积
    实验三-计算n个圆柱体体积
    实验3-计算圆面积
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10479640.html
Copyright © 2011-2022 走看看