【Dongle】【Web】XML代码体验

DTD设计

dtd文件

<!--DTD文件定义XML文件的结构;提供语法和规则;可在XML内,也可在XML外-;可自定义->
<?xml version="1.0" encoding="utf-8"?><!--xml版本号,字符编码形式-->
<!ELEMENT 书籍列表(计算机书籍)*>  <!--声明混合型元素-->
<!ELEMENT 计算机书籍(书名,价格,简要介绍)><!--定义内部实体,外部实体SYSTEM (实体链接)-->
<!ELEMENT 书名(#PCDATA)><!--定义属性-->
<!ELEMENT 价格(#PCDATA)><!--定义属性-->
<!ELEMENT 简要介绍(#PCDATA)><!--定义属性-->

xml文件

<?xml version="1.0" encoding="utf-8"?><!--xml版本号,字符编码形式-->
<!DOCTYPE 书籍列表 SYSTEM "book.dtd"?><!--引用外部dtd文件-->
<!--由于引用了DTD,规定了XML的规范,所以下面的内容顺序及格式要与dtd中的相同,否则容易出错-->
<书籍列表> 
	<计算机书籍>
		<书名>XML的大话</书名>
		<价格>66.66</价格>   <!--如果这里价格和书名的位置颠倒则会报错-->
		<简要介绍>该书详细参与XML的从出生到衰老的整个过程</简要介绍>
	</计算机书籍>
</书籍列表>

结果

            后来对比着XML和DTD文件瞅了瞅,发现XML引用的DTD文件指有一个文件名,文件名多了去了,那么系统能识别?加上地址试试
<?xml version="1.0" encoding="utf-8" ?><!--xml版本号,字符编码形式-->  
<!DOCTYPE 书籍列表 SYSTEM "C:\Users\TGB\Desktop\book.dtd"><!--引用外部dtd文件-->  
<!--由于引用了DTD,规定了XML的规范,所以下面的内容顺序及格式要与dtd中的相同,否则容易出错-->  
<书籍列表>   
    <计算机书籍>  
        <书名>XML的大话</书名>  
        <价格>66.66</价格>   <!--如果这里价格和书名的位置颠倒则会报错-->  
        <简要介绍>该书详细参与XML的从出生到衰老的整个过程</简要介绍>  
    </计算机书籍>  
</书籍列表>  
             另外就是我引用的时候多了一个“?”, 然后结果确实也证实我的想法是对的:


Schema设计

xsd文件

<!--Schema文件定义XML文件的结构;提供语法和规则;可在XML内,也可在XML外-;可自定义-->
<?xml version="1.0" encoding="utf-8"?>
<Schema xmlns:xs="http:www.w3.org/2001/XMLSchema">
	<xs:element name="email">
		<xs:sequence>
			<xs:element name="to" type="xs:string"></xs:element>  <!--定义元素to,类型为string-->
			<xs:element name="from" type="xs:string"></xs:element><!--定义元素from,类型为string-->
			<xs:element name="title" type="xs:string"></xs:element><!--定义元素title,类型为string-->
			<xs:element name="body" type="xs:string"></xs:element><!--定义元素body,类型为string-->
			<xs:element name="date" type="xs:date"></xs:element><!--定义元素date,类型为string-->
		</xs:sequence>
	</xs:element name="email">
</schema>

xml文件

<?xml version="1.0" encoding="utf-8"?>
<email xmlns:xs1="http:www.w3.org/2001/XMLSchema-instance" xs1:noNamespaceSchemaLocation="email.xsd">
	<to>Dongle@163.com</to>
	<from>123456@163.com</from>
	<title>about loving</title>
	<body>I Love you forever!</body>
	<date>2016-7-31</date>
</email>

结果

        这次是一次性成功的,很不错!


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值