DTD:文章类型定义&XML

1 篇文章 0 订阅

Ⅰ  DTD简介

思维导图 

 

DTD用于约束xml的文档格式,保证xml是一个有效的xml(也就是说在xml中引入DTD约束让别人不能在xml中随便写入内容)

DTD分类: 内部DTD,外部DTD

Ⅱ  DTD写法及规则

内部DTD定义语法:<!DOCTYPE 根元素   [ 元素声明 ]>

元素定义

元素定义格式        <!ELEMENT 元素名  元素类型>

<!ELEMENT 元素名  EMPTY> ----空元素 
<!ELEMENT  元素名 (#PCDATA)> ----文本元素   
<!ELEMENT 元素名  (元素1,元素2)>  ---混合元素
3.2 元素个数限制

?: 0/1个
*  : 0-n个
+  :  1-n个
, 和 

|  或者

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons [
	<!ELEMENT persons (person+) > <!-- +是0-n个 -->
	<!ELEMENT person (name,age,contact,br?) > <!-- ?是0或1个 -->
	<!ELEMENT contact (phone|email) > <!-- |=或 -->
	<!ELEMENT name (#PCDATA) ><!-- #PCDATA是文本元素 -->
	<!ELEMENT age (#PCDATA) >
	<!ELEMENT phone (#PCDATA) >
	<!ELEMENT email (#PCDATA) >
	<!ELEMENT br EMPTY >
]>


<persons>
	<person>
		<name>张小明</name>
		<age>10</age>
		<contact>
			<phone>1234567</phone>
		</contact>
		<br />
	</person>
	<person>
		<name>张大明</name>
		<age>35</age>
		<contact>
			<email>123@qq.com</email>
		</contact>
	</person>
</persons>

 Ⅲ  属性定义

属性定义格式    <!ATTLIST  元素名 属性名 属性类型  描述>(属性是属于元素的,所以定义属性一定要定义元素)

属性类型

  • ID           id类别
  • (男|女)    选项类别
  • CDATA   文本类别
  • IDREF    依赖类别

属性描述

  • #REQUIRED 必填
  • # IMPLIED    非必填
  • ‘ 默认值 ’     (只要选项类别才能使用默认值描述)

案例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons [
	<!ELEMENT persons (person+) > <!-- +是0-n个 -->
	<!ELEMENT person (name,age,contact,br?) > <!-- ?是0或1个 -->
	<!ELEMENT contact (phone|email) > <!-- |=或 -->
	<!ELEMENT name (#PCDATA) ><!-- #PCDATA是文本元素 -->
	<!ELEMENT age (#PCDATA) >
	<!ELEMENT phone (#PCDATA) >
	<!ELEMENT email (#PCDATA) >
	<!ELEMENT br EMPTY >
]>

<!-- 属性定义 -->
		<!ATTLIST person  
			pid ID #REQUIRED 
			sex (男|女) '男'
			qq  CDATA #IMPLIED
			parent IDREF #IMPLIED 
	
		>
]>


<persons>
	<person>
		<name>张小明</name>
		<age>10</age>
		<contact>
			<phone>1234567</phone>
		</contact>
		<br />
	</person>
	<person>
		<name>张大明</name>
		<age>35</age>
		<contact>
			<email>123@qq.com</email>
		</contact>
	</person>
</persons>

 XML

1.xml声明   一般是xml文档的第一行

2.根元素   有且只有一个根元素

3.元素

所有的xml元素都必须有结束标签

xml标签区分大小写

xml必须正确嵌套

名称命名规则:可包含字母,数字和其他字符;不能以数字或标点符号开始;中不能包含空格。


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值