DTD简介

1.什么是DTD?
文档类型定义(约束)

2.什么是XML?
HTML:超文本标记语言   a/b/c/z
XML:可扩展标记语言  

3.XML的两种文档约束
DTD
Schema

4.XML格式要求(合法XML)
    1)有且只有一个根节点;
    2)由开始标签和结束标签组成(包含空标签)例如:<a>标签体</a>;
    3)XML标签严格区分大小写;
    4)正确嵌套标签;

5.使用DTD
    5.1 在XML中加入DTD申明
        1)内部申明:<! DOCTYPE 根节点(root)[]>
        2)外部申明:<!DOCTYPE 文档根节点 SYSTEM “DTD外部文件路径”>

    <!--内部申明  -->
    <!-- <!DOCTYPE persons[
 	<!ELEMENT persons (person+)>
 	<!ELEMENT person (name,age,contact,br?)>
 	<!ELEMENT name (#PCDATA)>
 	<!ELEMENT age (#PCDATA)>
 	<!ELEMENT contact (phone|mail|qq|wechat)>
 	<!ELEMENT phone (#PCDATA)>
 	<!ELEMENT mail (#PCDATA)>
 	<!ELEMENT br EMPTY>
 	<!ATTLIST person
 		pid ID #REQUIRED
 		paddr CDATA	#IMPLIED
 		psex (男|女|妖) "男"
 	>
 ]> -->
 <!--外部申明  -->
 <!DOCTYPE persons SYSTEM "text.dtd">
<persons>
	<person pid="p01" paddr="123" psex="男">
		<name>张三</name>
		<age>22</age>
		<contact>
			<phone>15882821111</phone>
		</contact>
		<br/>
	</person>
	<person pid="p02">
		<name>李四</name>
		<age>23</age>
		<contact>
			<mail>123@qq.com</mail>
		</contact>
	</person>
</persons>
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

    5.2 元素定义语法(DTD对元素的限制)
        基本语法:<! ELEMENT 元素名称 元素类型 >

        元素分类:

                1)空元素:EMPTY
                2)文本元素:(#PCDATA)
                3)混合元素:(e1,e2,e3...)

      元素限制:

        1), 代表:元素出现的顺序
        2)| 代表:多选一
        3)? 代表:元素出现0次或者1次(可有可无)
        4)* 代表:元素出现0次或者n次
        5)+ 代表:元素出现1次或者n次

    5.3 属性定义语法(DTD对属性的限制)
    基本语法:<!ATTLIST 元素名称 属性名称 属性类型 设置说明>
    
    属性类型:

        1)ID:唯一:不能以/或者数字开头
        2)CDATA:文本
        3)枚举:多选一,例如(男|女|妖)

    设置说明:

        #REQUIRED(必须)

        #IMPLIED(可选)

    5.4 特殊符号转义

            &(逻辑与) -->  &amp;
            >(大于)   -->  &gt;
            <(小于)   -->  &lt;
            ‘(单引号)  -->  &apos;
            “(双引号)  -->  &quot;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值