XML的XSD、DTD

it2023-03-01  76

XML

什么是 XML?

XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准

DTD

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

scores.dtd

<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT scores (student+)> <!ELEMENT student (name,course,score)> <!ATTLIST student id CDATA #REQUIRED > <!ELEMENT name (#PCDATA)> <!ELEMENT course (#PCDATA)> <!ELEMENT score (#PCDATA)>

<!ELEMENT student (name,course,score)> 定义元素 <!ATTLIST student id CDATA #REQUIRED > 定义属性

scores-dtd.xml

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE scores SYSTEM "scores.dtd"> <scores> <student id="1"> <name>王彤</name> <course>java</course> <score>53</score> </student> <student id="2"> <name>但是</name> <course>vb</course> <score>23</score> </student> <student id="3"> <name>sss</name> <course>aa</course> <score>62</score> </student> </scores>

XSD

XML Schema 是基于 XML 的 DTD 替代者。

XML Schema 描述 XML 文档的结构。

XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。

XML Schema:

定义可出现在文档中的元素定义可出现在文档中的属性定义哪个元素是子元素定义子元素的次序定义子元素的数目定义元素是否为空,或者是否可包含文本定义元素和属性的数据类型定义元素和属性的默认值以及固定值

scores.xsd

<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified"> <xs:element name="scores" type="scores" /> <xs:complexType name="scores"> <xs:sequence> <xs:element name="student" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"></xs:element> <xs:element name="course" type="xs:string"></xs:element> <xs:element name="score" type="xs:string"></xs:element> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:schema>

<xs:element name="scores" type="scores" /> 定义元素 <xs:complexType name="scores"> 定义复杂元素 <xs:sequence> 子元素需按次序书写

scores-xsd.xml

<?xml version="1.0" encoding="UTF-8"?> <scores xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3school.com.cn scores.xsd"> <student id="1" > <name>李明</name> <course>数学</course> <score>45</score> </student> <student id="2" > <name>王磊</name> <course>英语</course> <score>95</score> </student> </scores>
最新回复(0)