XML模式(Schema)实验三

实验目的:

  1. 学习使用XML schema的语法:数据类型、结构、属性;
  2. 用schema验证xml文档实例的有效性。
  3. 学习使用XML schema的语法:数据类型、结构、属性;
  4. 识别 XML Schema 中的元素
  5. 理解验证带有 Schema 的 XML 文档
    #实验的步骤和方法:

实验一

Schema代码:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="我的通讯录">
		<xs:annotation>
			<xs:documentation>这是我的第一个schema</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="同学" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="地址" type="xs:string"/>
						</xs:sequence>
						<xs:attribute name="姓名" use="required"/>
						<xs:attribute name="年龄" type="xs:unsignedInt" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

xml代码:

<?xml version="1.0" encoding="UTF-8"?>
	<我的通讯录 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="lab_03_01.xsd">
	<同学 姓名="Alex" 年龄="19">
		<地址>从化区街口24</地址>
	</同学>
	<同学 姓名="tom" 年龄="29">
		<地址>广州大学</地址>
	</同学>
</我的通讯录>

实验二

xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<华软英语四六级 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/Users/Administrator/Documents/Altova/XMLSpy2013/Examples/lab/schema/lab_03_02.xsd">
	<学生 姓名="Tom" 学号="8-50-001-9" 性别="男">
		<成绩>
			<CET-4>90</CET-4>
		</成绩>
	</学生>
	<学生 姓名="Mary" 学号="8-50-002-9" 性别="女">
		<成绩>
			<CET-4>80</CET-4>
		</成绩>
	</学生>
	<学生 姓名="Alex" 学号="8-50-003-9" 性别="男">
		<成绩>
			<CET-4>99</CET-4>
		</成绩>
	</学生>
</华软英语四六级>

xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="华软英语四六级">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="学生" type="学生信息" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="学生信息">
		<xs:sequence>
			<xs:element name="成绩" type="英语级别"/>
		</xs:sequence>
		<xs:attribute name="学号">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="8-[0-9]{2}-[0-9]{3}-9"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="姓名" type="xs:string"/>
		<xs:attribute name="性别">
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="男"/>
					<xs:enumeration value="女"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="英语级别">
		<xs:choice>
			<xs:element name="CET-4">
				<xs:simpleType>
					<xs:restriction base="xs:int">
						<xs:maxInclusive value="100"/>
						<xs:minInclusive value="0"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="CET-6">
				<xs:simpleType>
					<xs:restriction base="xs:int">
						<xs:maxInclusive value="100"/>
						<xs:minInclusive value="0"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
</xs:schema>

实验三

xml代码 :

<?xml version="1.0" encoding="UTF-8"?>
<产品手册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/Users/Administrator/Documents/Altova/XMLSpy2013/Examples/lab/schema/lab_03_03.xsd">
	<产品 名称="洗衣机" 编码="HR4-34723S"/>
	<产品 名称="冰箱" 编码="HR7-2865473Q"/>
</产品手册>

Schema代码:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:simpleType name="产品编码">
		<xs:restriction base="xs:string">
			<xs:minLength value="8"/>
			<xs:maxLength value="12"/>
			<xs:pattern value="HR[2457]-[0-9]+[SQD]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="产品手册">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="产品" maxOccurs="unbounded">
					<xs:complexType>
						<xs:attribute name="名称" type="xs:NMTOKEN"/>
						<xs:attribute name="编码" type="产品编码"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

实验四

太多了,我懒得一个一个上传了,直接上图
XML模式(Schema)实验三_第1张图片
XML模式(Schema)实验三_第2张图片
XML模式(Schema)实验三_第3张图片

实验五

xml代码:
XML模式(Schema)实验三_第4张图片
Schema代码:
XML模式(Schema)实验三_第5张图片

你可能感兴趣的:(XML模式(Schema)实验三)