[学校] 运动规范DTD结构, 在XML架构

这对内部DTD规范结构和XMLSCHEMA文章功课 “锻炼” 他的, 你可以参考.

主题: 对于股份 1 学生包括: 全名, 类, 地址, 性别, 出生和成绩单的日期, 每个记录包含表: STT, 主题名称, 学期 1, 学期 2, 平均得分为全年. 具体内容和结构 (根据DTD或XMLSCHEMA) 对应于计分卡的XML文档.

奖:
* 规范的内容: 它被写载有成绩单的内容XML文档. 这可以参考规格DTD结构或XMLSCHEMA使用.
对我们的卡的信息可分为 2 成绩单的主要部分是学生信息 (包含名称, 类,…) 和成绩单 (包括他们的课程).

注意: 由于语言障碍 “根据DTD或XMLSCHEMA” 在所有的,那么你就应该遵循 1 在 2 是什么味儿DTD或XMLSCHEMA, 我做了两种 2, 选哪一个你喜欢的,然后选择.

<?xml version = "1.0" ?>

<!-- if you use dtd-->
<!DOCTYPE PhieuDiem SYSTEM "phieudiemhocsinh.dtd">
<!-- end use dtd-->

<!-- if you use schema-->
<PhieuDiem xmlns = "http://www.w3school.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "phieudiemhocsinh.xsd">
<!-- end use chema-->

<PhieuDiem>
	<SinhVien>
		<HoTen>Nguyen Van Quan</HoTen>
		<Lop>KTPMK10B</Lop>
		<DiaChi>Bac Ninh</DiaChi>
		<GioiTinh>Nam</GioiTinh>
		<NgaySinh>31/12/1992</NgaySinh>
	</SinhVien>
	
	<BangDiem>
		<MonHoc>
			<STT>1</STT>
			<TenMon>XML</TenMon>
			<DienKy1>10</DienKy1>
			<DienKy2>10</DienKy2>
			<DienTB>10</DienTB>
		</MonHoc>
		
		<MonHoc>
			<STT>2</STT>
			<TenMon>Java</TenMon>
			<DienKy1>10</DienKy1>
			<DienKy2>10</DienKy2>
			<DienTB>10</DienTB>
		</MonHoc>
	</BangDiem>
</PhieuDiem>

* 相应的规范DTD结构

<?xml version="1.0"?>
<!DOCTYPE PhieuDiem[
	<!ELEMENT PhieuDiem(SinhVien, BangDiem)>
	
	<!ELEMENT SinhVien(HoTen, Lop, DiaChi, GioiTinh, NgaySinh)>
	<!ELEMENT BangDiem(MonHoc+)>
	
	<!ELEMENT HoTen(#PCDATA)>
	<!ELEMENT Lop(#PCDATA)>
	<!ELEMENT DiaChi(#PCDATA)>
	<!ELEMENT GioiTinh(#PCDATA)>
	<!ELEMENT NgaySinh(#PCDATA)>
	
	<!ELEMENT MonHoc(STT, TenMon, DiemKy1, DiemKy2, DiemTB)>
	<!ELEMENT STT(#PCDATA)>
	<!ELEMENT TenMon(#PCDATA)>
	<!ELEMENT DiemKy1(#PCDATA)>
	<!ELEMENT DiemKy2(#PCDATA)>
	<!ELEMENT DiemTB(#PCDATA)>
]>

* 相应的XMLSCHEMA规格结构

<?xml version = "1.0"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
	<xs:element name = "PhieuDiem" type="KPhieuDiem"/>
	
	<xs:complexType name = "KPhieuDiem">
		<xs:sequence>
			<xs:element name = "SinhVien" type = "KSinhVien"/>
			<xs:element name = "BangDiem" type = "KBangDiem"/>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name = "KieuSinhVien">
		<xs:sequense>
			<xs:element name = "HoTen" type = "xs:string"/>
			<xs:element name = "Lop" type = "xs:string"/>
			<xs:element name = "DiaChi" type = "xs:string"/>
			<xs:element name = "GioiTinh">
				<xs:simpleType>
					<xs:restriction base = "xs:string"/>
					<xs:pattern value = "Nam|Nu"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name = "NgaySinh" type = "xs:date"/>
		</xs:sequense>
	</xs:complexType>
	
	<xs:complexType name = "KBangDiem">
		<xs:element name = "MonHoc" type = "KMonHoc"/>
	</xs:complexType>
	
	<xs:complexType name = "KMonHoc">
		<xs:sequense>
			<xs:element name = "STT" type = "xs:integer"/>
			<xs:element name = "TenMon" type = "xs:string"/>
			<xs:element name = "DiemKy1" type = "KDiem"/>
			<xs:element name = "DiemKy2" type = "KDiem"/>
			<xs:element name = "DiemTB" type = "KDiem"/>
		</xs:sequense>
	</xs:complexType>
	
	<xs:simpleType name = "KDiem">
		<xs:restriction base = "xs:double"/>
		<xs:minExclusive value = "0.0"/>
		<xs:maxExclusive value = "10.0"/>
	</xs:simpleType>
</xs:schema>