DTD_XML 使用

xml 文档由以下5部分组成,因此dtd定义中也有以下5部分:

Elements        元素,最主要的组成部分 Attributes       属性 Entities           实体,定义了一些固定的 文本 或 字符,相当于它们的快捷方式;有一些预定义实体,具有某些特殊意义,比如 < > " ' & ,也可以自定义实体 PCDATA          parsed character data ,其中如果包含特殊实体,则被当作特殊实体看待,比如 > 可能被看做 元素结束符号 CDATA            character data ,其中的特殊实体,被当作普通字符看待;

------

Element 子元素个数: + 表示1个或多个,? 表示0个或1个,* 表示 任意个

Element 类型如果是 EMPTY 则表示空元素

------

下面是1个dtd示例,包括 people.dtd 和 people.xml 2个文件:

 

 people.dtd:

<!ENTITY NS "spaceflysky">
<!ENTITY TRUE "true">
<!ENTITY FALSE "false">
<!ENTITY copyright "Copyright@2008">


<!ELEMENT peoplelist (people)>

<!ELEMENT people (baseinfo,forte,will,friend*,tarch,other,test)>

<!ELEMENT baseinf (name+,age,sex,country)>

<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ELEMENT country (#PCDATA)>

<!ELEMENT forte (#PCDATA)>
<!ELEMENT will (#PCDATA)>
<!ELEMENT friend (#PCDATA)>
 
<!ELEMENT tarch (time?,(tel|qq|address))>
<!ELEMENT tel (#PCDATA)>
<!ELEMENT qq (#PCDATA)>
<!ELEMENT address (#PCDATA)>
 
<!ELEMENT other (#PCDATA)> 

<!ELEMENT test (br)>

<!ELEMENT br EMPTY>


<!ATTLIST peoplelist 
namespace CDATA #FIXED "&NS;" 
copyright CDATA #IMPLIED>


<!ATTLIST people 
enabled (true|false) "&TRUE;"
alive (live|dead) #REQUIRED 
planet CDATA #IMPLIED>

 

people.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE people SYSTEM "people.dtd">
<peoplelist copyright="©right;">
	<people alive="live" planet="earth">
		<baseinfo>
			<name>space</name>
			<age>21</age>
			<sex>male</sex>
			<country>china</country>
		</baseinfo>
		<forte></forte>
		<will></will>
		<friend></friend>
		<tarch>
			<time>any time</time>
			<qq>123456</qq>
		</tarch>
		<other></other>
		<test>
			<br />
		</test>
	</people>
</peoplelist>

 

------

下面给出一个可以检查 xml 文件语法的html文件,在IE5.5以上浏览器均可使用:

使用前修改一下xml文件的位置

<html>
<body>
<script type="text/javascript">

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.validateOnParse="false";
xmlDoc.load("validation_test.xml");

document.write("<br />Error Code: ");
document.write(xmlDoc.parseError.errorCode);
document.write("<br />Error Reason: ");
document.write(xmlDoc.parseError.reason);
document.write("<br />Error Line: ");
document.write(xmlDoc.parseError.line);

</script>
</body>
</html>

 ------

一个最权威最标准的dtd教程:

http://www.w3schools.com/dtd/   是W3C 官方教程,英文的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值