zoukankan      html  css  js  c++  java
  • XML文件的DTD编写

    <?xml version="1.0" encoding="UTF-8" ?> 
    
    <!--DTD外部引用:--> 
    <!DOCTYPE note SYSTEM "note.dtd">  <!--外联文件可以不写申明,如果写必须要有encoding="UTF-8" SYSTEM代表系统内部调用,后面是相对路径-->
    
    <!--DTD内嵌引用 -->
    
    <!DOCTYPE note [
      <!ELEMENT note (to?,from+,heading,body)>  <!-- +至少一次 *一次或多次 ?0或1次 默认一次 |或者-->
      <!ELEMENT to      (#PCDATA)>  <!-- 注意, to后面一定加空格 -->
      <!ELEMENT from    (#PCDATA)>
      <!ELEMENT heading (#PCDATA)>
      <!ELEMENT body    (#PCDATA)>
      <!ATTLIST to copy CDATA #IMPLIED>
    ]>
    
    <!-- 
    添加属性:<!ATTLIST 元素名称 属性名称 属性类型 默认值>
    常用属性: CDATA   值为字符数据 (character data) 
    属性必须添加 约束:
    REQUIRED 属性值是必需的 
    #IMPLIED 属性不是必需的 
    #FIXED value 属性值是固定的 
     -->
    
    
    
    <!-- 对应此约束的XML文件 -->
    
    <note>
      <to>George</to> 
      <from>John</from>
      <heading>Reminder</heading>
      <body>Don't forget the meeting!</body>
    </note> -->
    
    
    
    <!-- DTD示例 -->
    
     <!DOCTYPE students[
        <!ELEMENT students (student)>
        <!ELEMENT student (#PCDATA)>
        <!ELEMENT name (#PCDATA)>
        <!ELEMENT age (#PCDATA)>
        <!ELEMENT addr (#PCDATA)>
    ]>
    
    <!DOCTYPE book[
        <!ELEMENT book (name,price,date,author)> 
        <!ELEMENT name (#PCDATA)>
        <!ELEMENT price (#PCDATA)>
        <!ELEMENT date (#PCDATA)>
        <!ELEMENT author (#PCDATA)>
    ]>
    
    
    <!-- 一份XML文件中只能有一个DTD约束,不然会报错:Already seen doctype. -->
    
    <!-- 示例1 -->
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE TVSCHEDULE [
    
    <!ELEMENT TVSCHEDULE (CHANNEL+)>
    <!ELEMENT CHANNEL (BANNER,DAY+)>
    <!ELEMENT BANNER (#PCDATA)>
    <!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
    <!ELEMENT HOLIDAY (#PCDATA)>
    <!ELEMENT DATE (#PCDATA)>
    <!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)>
    <!ELEMENT TIME (#PCDATA)>
    <!ELEMENT TITLE (#PCDATA)> 
    <!ELEMENT DESCRIPTION (#PCDATA)>
    
    <!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED>
    <!ATTLIST CHANNEL CHAN CDATA #REQUIRED>
    <!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED>
    <!ATTLIST TITLE RATING CDATA #IMPLIED>
    <!ATTLIST TITLE LANGUAGE CDATA #IMPLIED>
    
    ]>
    
    <TVSCHEDULE NAME="中国电视报">
        <CHANNEL CHAN="cctv-2">
            <BANNER>江苏卫视</BANNER>
            <DAY>
                <DATE>2018-3-2</DATE>
                <PROGRAMSLOT>
                    <TIME>20:00</TIME>
                    <TITLE>春晚</TITLE>
                </PROGRAMSLOT>
            </DAY>
        </CHANNEL>
    </TVSCHEDULE>
    
    <!-- 示例2 -->
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE NEWSPAPER [ 
    
    <!ELEMENT NEWSPAPER (ARTICLE+)>
    <!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)>
    <!ELEMENT HEADLINE (#PCDATA)>
    <!ELEMENT BYLINE (#PCDATA)>
    <!ELEMENT LEAD (#PCDATA)>
    <!ELEMENT BODY (#PCDATA)>
    <!ELEMENT NOTES (#PCDATA)> 
    
    <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
    <!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
    <!ATTLIST ARTICLE DATE CDATA #IMPLIED>
    <!ATTLIST ARTICLE EDITION CDATA #IMPLIED>
    
    <!ENTITY NEWSPAPER "Vervet Logic Times">   <!-- 实体引用 -->
    <!ENTITY PUBLISHER "Vervet Logic Press">
    <!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press">
    
    ]>
    <NEWSPAPER>
        <ARTICLE AUTHOR="PIKAQIU">
        <HEADLINE>2018新年第一场雪</HEADLINE>
        <BYLINE>SEU学生会</BYLINE>
        <LEAD>新年报道</LEAD>
        <BODY>XXXXXXX</BODY>
        <NOTES>(宣传组报道)</NOTES>
        </ARTICLE>
        
    </NEWSPAPER>
  • 相关阅读:
    MyBatis 内连接association 左外连接collection
    mybatis的基本配置:实体类、配置文件、映射文件、工具类 、mapper接口
    SpringMVC 使用Form标签库制作登录表单
    SpringMVC 配置过滤器解决中文乱码问题
    用户登录模块————账户安全问题
    HashSet,TreeSet和LinkedHashSet的区别
    SpringMVC 服务器端验证
    php输出(下载)文件
    26进制(字母)转十进制算法
    PHP之可变变量
  • 原文地址:https://www.cnblogs.com/pikaqiucode/p/8242830.html
Copyright © 2011-2022 走看看