实验四 XML

embedded/2025/2/6 21:29:36/
xmlns="http://www.w3.org/2000/svg" style="display: none;">

实验四 XML

目的
1、安装和使用XML的开发环境
2、认识XML的不同类型
3、掌握XML文档的基本语法
4、了解DTD的作用
5、掌握DTD的语法
6、掌握Schema的语法

实验过程
1、安装XML的编辑器,可以选择以下之一
a)XMLSpy
b)VScode,Vscode中安装XML插件

2、给定一个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>

a)为test.xml定义一个内部的DTD,写出完整的xml文档
如下为进行DTD约束后的完整xml代码:

<?xml version="1.0"?>
<!DOCTYPE students  [<!ELEMENT students (student*)><!ELEMENT student (name,age,major+,phone+)><!ELEMENT major (course+)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)><!ELEMENT phone (#PCDATA)><!ELEMENT course (#PCDATA)><!ATTLIST student id ID #REQUIRED><!ATTLIST course cid ID #REQUIRED>]>
<students><student id="s001"><name>tom</name><age>24</age><major><course cid="c1">Python</course></major><phone>18611111111</phone><phone>18622222222</phone></student><student id="s002"><name>sammy</name><age>25</age><major><course cid="c2">C++</course><course cid="c3">computer principle</course></major><phone>18633333333</phone></student>
</students>

b)为test.xml定义一个外部的Schema文档,写出schema文档和使用schema文档后的test.xml
如下是Schema文档代码和导入外部Schema约束的xml完整代码
Schema文档代码(test.xsd):

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.zhjTest.cn" xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="students" type="zhj:studentsType" xmlns:zhj="http://www.zhjTest.cn"/><xs:complexType name="courseType"><xs:simpleContent><xs:extension base="xs:string"><xs:attribute type="xs:string" name="cid" use="optional"/></xs:extension></xs:simpleContent></xs:complexType><xs:complexType name="majorType"><xs:sequence><xs:element type="zhj:courseType" name="course" maxOccurs="unbounded" minOccurs="0" xmlns:zhj="http://www.zhjTest.cn"/></xs:sequence></xs:complexType><xs:complexType name="studentType"><xs:sequence><xs:element name="name"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="tom"/><xs:enumeration value="sammy"/></xs:restriction></xs:simpleType></xs:element><xs:element name="age"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="24"/><xs:enumeration value="25"/></xs:restriction></xs:simpleType></xs:element><xs:element type="zhj:majorType" name="major" xmlns:zhj="http://www.zhjTest.cn"/><xs:element name="phone" maxOccurs="unbounded" minOccurs="0"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="18611111111"/><xs:enumeration value="18622222222"/><xs:enumeration value="18633333333"/></xs:restriction></xs:simpleType></xs:element></xs:sequence><xs:attribute type="xs:string" name="id" use="optional"/></xs:complexType><xs:complexType name="studentsType"><xs:sequence><xs:element type="zhj:studentType" name="student" maxOccurs="unbounded" minOccurs="0" xmlns:zhj="http://www.zhjTest.cn"/></xs:sequence></xs:complexType>
</xs:schema>

xml完整代码:

<?xml version="1.0"?>
<!DOCTYPE students  [<!ELEMENT students (student*)><!ELEMENT student (name,age,major+,phone+)><!ELEMENT major (course+)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)><!ELEMENT phone (#PCDATA)><!ELEMENT course (#PCDATA)><!ATTLIST student id ID #REQUIRED><!ATTLIST course cid ID #REQUIRED>]>
<students xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.zhjTest.cn"xs:schemaLocation="http://www.zhjTest.cn test.xsd"
><student id="s001"><name>tom</name><age>24</age><major><course cid="c1">Python</course></major><phone>18611111111</phone><phone>18622222222</phone></student><student id="s002"><name>sammy</name><age>25</age><major><course cid="c2">C++</course><course cid="c3">computer principle</course></major><phone>18633333333</phone></student>
</students>

3、编写实验报告并提交至超星。


http://www.ppmy.cn/embedded/160130.html

相关文章

3、参数化测试

一、什么是参数化测试&#xff1f; 参数化测试允许使用不同的输入参数多次运行同一个测试方法&#xff0c;从而减少重复代码并提高测试覆盖率。它通过 ParameterizedTest 注解标记测试方法&#xff0c;并通过指定参数来源&#xff08;如值列表、CSV、方法等&#xff09;提供输…

深度剖析 Veo2 工具:解锁 AI 视频创作新境界

在当下这个 AI 技术日新月异的时代,各种 AI 工具如雨后春笋般涌现,让人目不暇接。今天,我就来给大家好好说道说道谷歌旗下的 Veo2,这可是一款在 AI 视频创作领域相当有分量的工具。好多朋友都在问,Veo2 到底厉害在哪?好不好上手?能在哪些地方派上用场?别着急,今天我就…

NOTEPAD++编写abap

参考下面三个链接 Notepad ABAP代码高亮显示_notepad代码高亮颜色-CSDN博客 百度安全验证 ABAP Syntax Highlighting in Notepad Part 2 - SAP Community 最后XML文件看看你可以自己增加些新语法的高亮显示

Tomcat启动流程与前端请求处理详解

Tomcat启动流程与前端请求处理详解 一、Tomcat启动流程 Tomcat是一个Servlet容器&#xff0c;它负责将Web应用程序中的Servlet与外部HTTP请求进行交互。Tomcat启动时会加载所有的Web应用和Servlet&#xff0c;并通过扫描和反射机制将其映射到适当的Servlet类上。下面是Tomcat启…

【CSS】谈谈你对BFC的理解

理解 CSS 中的 BFC&#xff08;块格式化上下文&#xff09; 在 CSS 中&#xff0c;BFC&#xff08;Block Formatting Context&#xff09; 是一个非常重要的概念&#xff0c;它决定了元素如何对其子元素进行定位&#xff0c;以及与其他元素的关系。理解 BFC 对于解决常见的布局…

C++六大默认成员函数

C六大默认成员函数 默认构造函数默认析构函数RAII技术RAII的核心思想优点示例应用场景 默认拷贝构造深拷贝和浅拷贝 默认拷贝赋值运算符移动构造函数&#xff08;C11起&#xff09;默认移动赋值运算符&#xff08;C11起&#xff09;取地址及const取地址操作符重载取地址操作符重…

【电脑系统】电脑突然(蓝屏)卡死发出刺耳声音

文章目录 前言问题描述软件解决方案尝试硬件解决方案尝试参考文献 前言 在 更换硬盘 时遇到的问题&#xff0c;有时候只有卡死没有蓝屏 问题描述 更换硬盘后&#xff0c;电脑用一会就卡死&#xff0c;蓝屏&#xff0c;显示蓝屏代码 UNEXPECTED_STORE_EXCEPTION 软件解决方案…

【hot100】刷题记录(11)-搜索二维矩阵 II

题目描述&#xff1a; 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9…