DTD简易使用实例

本篇仅给出两个简单的在XMLspy中建立外部和内部引用的DTD实例。
具体的操作和语法请参考其它文档。

一、外部引用DTD

DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT PRODUCTDATA (PRODUCT)+><!--PRODUCTDATA是根节点,子节点是PRODUCT并且它最少要出现一次-->
<!ELEMENT PRODUCT (PRODUCTNAME,DESCRIPTION,PRICE,QUANTITY)>
<!--PRODUCT下又有四个子节点,必须按照给定顺序出现-->
<!--这三个节点都是#PCDATA类型并且可以包含任何字符数据,不能包含任何子元素-->
<!ELEMENT PRODUCTNAME (#PCDATA)>
<!ELEMENT DESCRIPTION (#PCDATA)>
<!ELEMENT PRICE (#PCDATA)>
<!--QUANTITY is an empty element-->
<!ELEMENT QUANTITY EMPTY>

保存
现在,让我们根据这个DTD文档写一个有效的XML文件:
选择新建xml——可扩展型标记语言,选定保存的DTD文件

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PRODUCTDATA SYSTEM "D:\我的文档\Documents\Altova\XMLSpy2014\Examples\frist_example.dtd">
<PRODUCTDATA>
	<PRODUCT>
		<PRODUCTNAME>芭比娃娃</PRODUCTNAME>
		<DESCRIPTION>This is a toy for children over 11 years old</DESCRIPTION>
		<PRICE>200</PRICE>
		<QUANTITY/>
	</PRODUCT>
	<PRODUCT>
		<PRODUCTNAME/>
		<DESCRIPTION/>
		<PRICE/>
		<QUANTITY/>
	</PRODUCT>
</PRODUCTDATA>

然后验证有效性,提示valid

二、内部引用DTD

<?xml version="1.0" encoding="GB2312"?>
<!--一个内部DTD的示例,首先写根元素“家庭”-->
<!--包含两个元素,人至少出现一次,家电可以出现人一次,这两个元素都被定义为空类型-->
<!DOCTYPE 家庭[
<!ELEMENT 家庭 (人+,家电*)>
<!ELEMENT  EMPTY>
<!ELEMENT 家电 EMPTY>
<!--开始定义属性-->
<!ATTLIST 
名字 CDATA #REQUIRED 
年龄 CDATA #REQUIRED
爱好 CDATA #IMPLIED
>
<!ATTLIST 家电
名称 CDATA #REQUIRED 
数量 CDATA #REQUIRED
说明 CDATA #IMPLIED
>
]>
<!--DTD部分结束-->
<家庭>
< 名字="张三" 年龄="25"/>
< 名字="李四" 年龄="38" 爱好="踢足球"/>
<家电 名称="彩电" 数量="" />
</家庭>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值