我发现了有些人喜欢静静看博客不聊天呐,
但是ta会点赞。
这样的人呢帅气低调有内涵,
美丽大方很优雅。
说的就是你,
不用再怀疑哦
实验四 XML
目的:
- 安装和使用XML的开发环境
- 认识XML的不同类型
- 掌握XML文档的基本语法
- 了解DTD的作用
- 掌握DTD的语法
- 掌握Schema的语法
实验过程:
- 安装XML的编辑器,可以选择以下之一
- XMLSpy
- VScode,Vscode中安装XML插件
- 给定一个XML文档test.xml
<?xml version="1.0"?>
<students>
<student id="001">
<name>tom</name>
<age>24</age>
<major>
<course cid="c1">Python</course>
</major>
<phone>18611111111</phone>
<phone>18622222222</phone>
</student>
<student id="002">
<name>sammy</name>
<age>25</age>
<major>
<course cid="c2">C++</course>
<course cid="c3">computer principle</course>
</major>
<phone>18633333333</phone>
</student>
</students>
- 为test.xml定义一个内部的DTD,写出完整的xml文档
代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE students [
<!ELEMENT students (student+)>
<!ELEMENT student (name, age, major, phone+)>
<!ATTLIST student id CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT major (course+)>
<!ELEMENT course (#PCDATA)>
<!ATTLIST course cid CDATA #REQUIRED>
<!ELEMENT phone (#PCDATA)>
]>
<students>
<student id="001">
<name>tom</name>
<age>24</age>
<major>
<course cid="c1">Python</course>
</major>
<phone>18611111111</phone>
<phone>18622222222</phone>
</student>
<student id="002">
<name>sammy</name>
<age>25</age>
<major>
<course cid="c2">C++</course>
<course cid="c3">computer principle</course>
</major>
<phone>18633333333</phone>
</student>
</students>
- 为test.xml定义一个外部的Schema文档,写出schema文档和使用schema文档后的test.xml
Text.xml
<?xml version="1.0" encoding="UTF-8"?>
<students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="test.xsd"><student id="001"><name>tom</name><age>24</age><major><course cid="c1">Python</course></major><phone>18611111111</phone><phone>18622222222</phone></student><student id="002"><name>sammy</name><age>25</age><major><course cid="c2">C++</course><course cid="c3">computer principle</course></major><phone>18633333333</phone></student>
</students>
Text.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="students">
<xs:complexType>
<xs:sequence>
<xs:element name="student" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="major">
<xs:complexType>
<xs:sequence>
<xs:element name="course" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="cid" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="phone" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>