>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 20753 个阅读者 刷新本主题
 * 贴子主题:  DTD中声明元素 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2019-08-14 23:08:53     消息  查看  搜索  好友  邮件  复制  引用

  

DTD -  元素

     在一个 DTD 中,元素通过元素声明来进行声明。            

声明一个元素

     在 DTD 中,XML 元素通过元素声明来进行声明。元素声明使用下面的语法:

    <!ELEMENT element-name category>

    或

    <!ELEMENT element-name (element-content)>                    

空元素

     空元素通过类别关键词EMPTY进行声明:

     <!ELEMENT element-name EMPTY>

        范例:

        <!ELEMENT br EMPTY>

        XML example:

        <br />

只有 PCDATA 的元素

     只有 PCDATA 的元素通过圆括号中的 #PCDATA 进行声明:

     <!ELEMENT element-name (#PCDATA)>

        范例:

        <!ELEMENT from (#PCDATA)>

带有任何内容的元素

     通过类别关键词 ANY 声明的元素,可包含任何可解析数据的组合:

         <!ELEMENT element-name ANY>

        范例:

        <!ELEMENT note ANY>

带有子元素(序列)的元素

     带有一个或多个子元素的元素通过圆括号中的子元素名进行声明:

         <!ELEMENT element-name (child1)>

    或

       <!ELEMENT element-name (child1,child2,...)>

        范例:

        <!ELEMENT note (to,from,heading,body)>

[code]      当子元素按照由逗号分隔开的序列进行声明时,这些子元素必须按照相同的顺序出现在文档中。在一个完整的声明中,子元素也必须被声明,同时子元素也可拥有子元素。"note" 元素的完整声明是:

      <!ELEMENT note (to,from,heading,body)>

      <!ELEMENT to      (#PCDATA)>

     <!ELEMENT from    (#PCDATA)>

     <!ELEMENT heading (#PCDATA)>

     <!ELEMENT body    (#PCDATA)>                    

声明只出现一次的元素

      <!ELEMENT element-name (child-name)>

        范例:

[code]        <!ELEMENT note (message)>

        上面的例子声明了:message 子元素必须出现一次,并且必须只在 "note" 元素中出现一次。                    

声明最少出现一次的元素

         <!ELEMENT element-name (child-name+)>

        范例:

        <!ELEMENT note (message+)>

      上面的例子中的加号(+)声明了:message 子元素必须在 "note" 元素内出现至少一次。                    

声明出现零次或多次的元素

        <!ELEMENT element-name (child-name*)>

        范例:

        <!ELEMENT note (message*)>

            上面的例子中的星号(*)声明了:子元素 message 可在 "note" 元素内出现零次或多次。            

声明出现零次或一次的元素

        <!ELEMENT element-name (child-name?)>

        范例:

        <!ELEMENT note (message?)>

      上面的例子中的问号(?)声明了:子元素 message 可在 "note" 元素内出现零次或一次。            

声明"非.../即..."类型的内容

         范例:

        <!ELEMENT note (to,from,header,(message|body))>

     上面的例子声明了:"note" 元素必须包含 "to" 元素、"from" 元素、"header" 元素,以及非 "message" 元素既 "body" 元素。                    

声明混合型的内容

           范例:

        <!ELEMENT note (#PCDATA|to|from|header|message)*>

      上面的例子声明了:"note" 元素可包含出现零次或多次的 PCDATA、"to"、"from"、"header" 或者 "message"。




程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-21 10:17:56 重新编辑]
  Java面向对象编程-->Swing组件(上)
  JavaWeb开发-->Web运作原理(Ⅱ)
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->基于UDP的数据报和套接字
  精通Spring-->绑定CSS样式
  Vue3开发-->绑定CSS样式
  解决mysql问题:The server quit without updating PID file
  centos7.4安装配置使用简介Kubernetes (k8s)
  从原理到实战:如何通过布隆过滤器防止缓存击穿
  谈谈网络通信中的 ACK、NACK 和 REX
  Mysql数据库的使用总结之ERROR 1146 (42S02)
  mysql启动报错的解决:Starting MySQL... ERROR! The server...
  8种最坑的SQL错误用法,第一个就很坑?
  MySQL的所有函数的用法
  MySQL 处理重复数据
  MySQL的UPDATE更新语句的用法
  MySQL 删除数据表
  SQL AUTO INCREMENT 字段
  SQL 撤销索引、表以及数据库
  Mysql备份与恢复
  MySQL日期函数与日期转换格式化函数大全
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。