xmlDTD约束

DTD文档可以单独一个文件,也可以在xml文档内部内部声明

内部声明例子:

[html]  view plain copy
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE note [  
  3.   <!ELEMENT note (to,from,heading,body)>  
  4.   <!ELEMENT to      (#PCDATA)>  
  5.   <!ELEMENT from    (#PCDATA)>  
  6.   <!ELEMENT heading (#PCDATA)>  
  7.   <!ELEMENT body    (#PCDATA)>  
  8. ]>  
  9. <note>  
  10.   <to>George</to>  
  11.   <from>John</from>  
  12.   <heading>Reminder</heading>  
  13.   <body>Don't forget the meeting!</body>  
  14. </note>  

引用DTD约束:

    两种方式,如下:

    文件在本地时:

[html]  view plain copy
  1. <!DOCTYPE 文档根节点 SYSTEM "DTD文件的URL">  
  2. <!DOCTYPE 书架 SYSTEM "book.dtd">  

    引用公共文件时:

[html]  view plain copy
  1. <!DOCTYPE 文档根节点 PUBLIC "DTD名称" "DTD文件的URL">  

元素定义:

    <! ELEMENT 元素名称 元素类型>

    元素类型可以使元素内容或类型

    如为元素内容,需要用()括起来,如:

[html]  view plain copy
  1. <!ELEMENT 书架(书名,作者,售价)>  
  2. <!ELEMENT 书名(#PCDATA)>  

    如为元素类型,直接书写,有如下几种类型:

    EMPTY

    ANY

元素内容中如何描述组成关系:

    逗号分隔,表示内容出现的顺序必须与生命时一致,例如:

[html]  view plain copy
  1. <!ELEMENT file(title,author,email)>  

    用“|”分隔,表示任选其一,例如:

[html]  view plain copy
  1. <!ELEMENT file(title|author|email)>  

在内容元素中可以使用+,*,?等表示元素出现的次数:

    +:表示最少出现一次 (书+)

    *:任何次数 (书*)

    ?:0或1次 (书?)

    必须一次 (书)

使用圆括号批量设置:

[html]  view plain copy
  1. <!ELEMENT file((title?,author*,email)*|comment>  

属性定义:

    语法格式:

[html]  view plain copy
  1. <!ATTLIST 元素名  
  2.     属性名1 属性值类型 设置说明  
  3.     属性名2 属性值类型 设置说明  
  4.     ...  
  5. >  

    例子如下:

[html]  view plain copy
  1. <!ATTLIST 商品  
  2.     类别 CDATA #REQUIRED  
  3.     颜色 CDATA #IMPLIED  
  4. >  

设置说明有如下几种:

    #REQUIRED: 必须设置该属性

    #IMPLIED: 可选

    #FIXED: 固定值,需要定义属性时提供,不可再xml中设置

    直接使用默认值: 在xml中可设置也可不设置,不设置使用默认值

    例子如下:

[html]  view plain copy
  1. <!ATTLIST 页面作者  
  2.     姓名 CDATA #IMPLIED  
  3.     年龄 CDATA #IMPLIED  
  4.     联系信息 CDATA #REQUIRED  
  5.     网站职务 CDATA #FIXED "页面作者"  
  6.     个人爱好 CDATA “上网"  
  7. >  

常用的属性值类型:

    CDATA:表示属性值为普通文本字符串

    ENUMERATED

    ID:表示属性的设置值为一个唯一值,值只能由字母、下划线开始,不能有空白字符

    ENTITY

实体:

引用实体

    主要在xml文档中被应用

语法格式:

    <!ENTITY 实体名称 "实体内容">

引用方式:

    &实体名称;

例子:

[html]  view plain copy
  1. <!ENTITY bookname "javaweb">  
  2. ...  
  3. &bookname;  

参数实体

    被DTD文件自身使用

语法格式:

    <!ENTITY % 实体名称 "实体内容">

引用方式:

    %实体名称;

例子:

[html]  view plain copy
  1. <!ENTITY % TAG_NAME "name | email | address">  
  2. <!ELEMENT 个人信息 (%TAG_NAME;)>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值