DTD和Schema

DTD和Schema都是用来规范xml的格式的。Schema比DTD对xml的规范更加精确。

那么先来看DTD:

这是一个名为classroom.dtd的DTD文件

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT classroom (name,grade,students+)>
<!--在这里声明的顺序在创建xml时必须按照这个顺序来创建-->
<!--
	+表示1次或多次
	?表示0次或1次
	*表示0次或多次
-->
<!ATTLIST classroom claId ID #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!--每个元素写完,后面必须空格,否则会报错-->
<!ELEMENT grade (#PCDATA)>
<!ELEMENT students (student)>
<!ELEMENT student (stuId,stuName,age)>
<!ELEMENT stuId (#PCDATA)>
<!ELEMENT stuName (#PCDATA)>
<!ELEMENT age (#PCDATA)>

然后根据这个DTD文件可以来创建xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE classroom SYSTEM "classroom.dtd">
<!--
	小范围使用,引用系统内部的dtd使用SYSTEM
	大范围使用,从外部引入的dtd使用PUBLIC
-->
<classroom claId="c1">
	<name>计科一班</name>
	<grade>2010级</grade>
	<students>
		<student>
			<stuId>101010001</stuId>
			<stuName>Jack</stuName>
			<age>20</age>
		</student>
	</students>
	<students>
		<student>
			<stuId>101010002</stuId>
			<stuName>Tom</stuName>
			<age>22</age>
		</student>
	</students>
</classroom>

DTD就是这么简单!

(未完待续......)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
添加DTD约束: 1. 在xml文件的开头添加以下代码: ```xml <!DOCTYPE 根元素名 SYSTEM "dtd文件路径"> ``` 其,根元素名是xml文件根元素的名称,dtd文件路径是DTD文件所在的路径。 2. 创建一个名为dtd文件的文件,然后在文件定义DTD。例如: ```xml <!ELEMENT 根元素名 (子元素名1, 子元素名2, 子元素名3)> <!ELEMENT 子元素名1 (#PCDATA)> <!ELEMENT 子元素名2 (#PCDATA)> <!ELEMENT 子元素名3 (#PCDATA)> ``` 其,根元素名是xml文件根元素的名称,子元素名1、子元素名2和子元素名3是根元素的子元素名称,#PCDATA表示文本节点。 添加Schema约束: 1. 在xml文件的开头添加以下代码: ```xml <根元素名 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema文件路径"> ``` 其,根元素名是xml文件根元素的名称,schema文件路径是Schema文件所在的路径。 2. 创建一个名为schema文件的文件,然后在文件定义Schema。例如: ```xml <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="根元素名"> <xs:complexType> <xs:sequence> <xs:element name="子元素名1" type="xs:string"/> <xs:element name="子元素名2" type="xs:string"/> <xs:element name="子元素名3" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> ``` 其,根元素名是xml文件根元素的名称,子元素名1、子元素名2和子元素名3是根元素的子元素名称,xs:string表示该元素的类型为字符串。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值