Tải bản đầy đủ (.docx) (15 trang)

Câu hỏi ôn tập và đáp án môn Ngôn ngữ XML và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (106.83 KB, 15 trang )

Câu hỏi ôn tập Ngôn ngữ XML và ứng dụng
A.Câu hỏi
Câu I (2 điểm)
1. Hãy tạo file Duong_tron.xml mô tả đường tròn gồm các thuộc tính: Tên đường
tròn, tâm và toạ độ của tâm.
2. Hãy tạo file Day_phan_so.xml mô tả một dãy phân số (Tạo từ 3 phân số trở lên)
gồm các thuộc tính: Tử số, mẫu số là các số nguyên.
3. Hãy tạo file Tu_giac.xml mô tả một tứ giác gồm các thuộc tính: Tên các điểm và
toạ độ tương ứng của các điểm đó.
4. Hãy so sánh sự giống nhau và khác nhau giữa XML và HTML.
Câu II (4 điểm):
1. Cho cấu trúc XML mô tả chương trình quản lý thông tin sinh viên và điểm
các môn học mà sinh viên đăng kí, lưu các thông tin sau: Sinh viên gồm
mã số sinh viên, họ tên, lớp. Một môn học mà sinh viên đăng kí học gồm
có thông tin: mã môn học, tên môn học, số tín chỉ; Với mỗi môn học mà
sinh viên đăng kí học thì sẽ có kết quả cuối kì chính là điểm thi mà sinh
viên đạt được trong môn đó.
Hãy đặc tả cấu trúc trên (bằng DTD(DocType Document) hoặc XML
Schema).
2. Cho cấu trúc XML quản lý điểm thi cuối kì của sinh viên, trong đó cần
phải lưu trữ các thông tin sau: mã số sinh viên (MSSV), tên sinh viên
(TenSV), mã môn học (MaMH), tên môn học (TenMH), và điểm thi của
sinh viên (Diem).
Hãy đặc tả cấu trúc trên (bằng DTD(DocType Document) hoặc XML
Schema).
3. Cho cấu trúc XML về đơn hàng, trong mỗi đơn hàng người ta cần lưu các
thông tin sau: Mã khách hàng, tên khách hàng, địa chỉ liên lạc và một danh
sách những mặt hàng người đó mua. Danh sách mặt hàng gồm có nhiều
mặt hàng khác nhau, mỗi mặt hàng gồm những thông tin sau: Mã mặt
hàng, tên mặt hàng, số lượng, đơn giá.
Hãy đặc tả cấu trúc trên (bằng DTD(DocType Document) hoặc XML


Schema).
4. Một chương trình quản lý thông tin sinh viên, và điểm các môn học mà họ
đăng kí lưu các thông tin sau: sinh viên gồm mã số sinh viên, họ tên sinh
viên, lớp. Một môn học mà sinh viên đăng kí học gồm có thông tin mã
môn học, tên môn học, số tín chỉ, với mỗi môn học mà sinh viên đăng kí
học thì sẽ có kết quả cuối kì chính là điểm thi mà sinh viên đạt được trong
môn đó.
Yêu cầu: Định nghĩa lược đồ XML Schema với yêu cầu như sau:
+ MSSV: là một chuỗi các kí tự số có chiều dài 7 kí tự.
+ Lớp của sinh viên là một trong những giá trị của tập hợp gồm các
lớp {Tin21A1HN, Tin21A2HN, Tin21A1ND, Tin22A1HN,
Tin22A2HN}.
+ Mã môn học là một chuỗi 4 kí tự, hai kí tự đầu là chữ cái, hai kí tự
sau là số.
+ Số tín chỉ của môn học >= 1 và <=5.
+ Điểm của sinh viên >=0 và <=10
Câu III (4 điểm):
1. Hãy đọc file Duong_tron.xml đã tạo được ở câu I với yêu cầu hiển thị
được tất cả các thuộc tính của đối tượng được tạo.
2. Hãy đọc file Day_phan_so.xml đã tạo được ở câu I với yêu cầu hiển thị
được tất cả các thuộc tính của đối tượng được tạo.
3. Hãy đọc file Tu_giac.xml đã tạo được ở câu I với yêu cầu hiển thị được tất
cả các thuộc tính của đối tượng được tạo.
4. Cho File books.xml
<bookstore>
<book><title>
The Autobiography of Benjamin Franklin
</title><author><first-name>Benjamin</first-name><last-
name>Franklin</last-name></author><price>8.99</price>
</book>

<book><title>
The Confidence Man
</title><author><first-name>Herman</first-name><last-
name>Melville</last-name></author><price>11.99</price>
</book>
</bookstore>
Hãy đọc tệp XML trên bằng ngôn ngữ .Net
5. Từ đặc tả trên (Câu II.4) hãy tạo file qlsv.xml.
B.Đáp án
Câu I:
1 vẽ đường tròn có tâm và bán kính
<?xml version="1.0" encoding="utf-8" ?>
<DUONG_TRON TEN="C">
<BAN_KINH R = "5"/>
<TAM TEN= “O” x="3" y="2" />
</DUONG_TRON>
2. tạo file Day_phan_so.xml
<?xml version="1.0" encoding="utf-8"?>
<DAY_PHAN_SO>
<PHAN_SO Tu_so= “4” Mau_so=”7”/>
<PHAN_SO1 Tu_so= “5” Mau_so=”8”/>
<PHAN_SO2 Tu_so= “7” Mau_so=”23”/>
</DAY_PHAN_SO>
3. tạo file Tu_giac.xml
<?xml version="1.0" encoding="utf-8" ?>
<TU_GIAC>
<DIEMA X="2" Y="-1"/>
<DIEMB X="3" Y="5"/>
<DIEMC X="6" Y="3"/>
<DIEMD X="1"Y="8"/>

</TU_GIAC>
4. so sánh sự giống nhau và khác nhau giữa XML và HTML
cả xml và html đều đều là ngôn ngữ đánh dấu
Xml html
Ngôn ngữ đánh dấu mở rộng Ngôn ngữ đánh dấu siêu văn bản
Cho phép người dùng định nghĩa các
phần tử
Các phần tử đã được định nghĩa sẵn
Kiểm tra tính hợp lệ Hầu như không bắt lỗi
Cho phép trao đổi giữa các ứng dụng Chỉ được thiết kế để trình diễn
Cần phải được định nghĩa một cách
chặt chẽ
Không bắt buộc
Các phần tử được đóng Các phần tử rỗng không cần phải đóng
Câu II :
1. Quản lý thông tin điểm thi của sinh viên - đặc tả cấu trúc trên (bằng
DTD(DocType Document) hoặc XML Schema).
<?xmlversion="1.0"encoding="utf-8" ?>
<!DOCTYPE QLSV [
<!ELEMENT QLSV(SINH_VIEN,DIEM)+>
<!ELEMENT SINH_VIEN(MON_HOC+)>
<!ATTLIST SINH_VIEN
Masv CDATA #REQUIRED
<!- - Ma_SV: A_String - - >
Tensv CDATA #REQUIRED
<!- - Ten: A_String - - >
Lop CDATA #REQUIRED
<!- - Lop: A_String - ->
>
<!ELEMENT DIEM(MON_HOC+)>

<!ELEMENT MON_HOC EMPTY>
<!ATTLIST MON_HOC
Mamh CDATA #REQUIRED
<!- – Ma_MH: A_String – ->
Tenmh CDATA #REQUIRED
<!- – Ten_MH: A_String – ->
Sotc CDATA #REQUIRED
<!- – So_TC: A_Int – ->
Diemthi CDATA #REQUIRED
<!- – Diem: A_Real – ->
>
]>
2. quản lý điểm thi cuối kì của sinh viên
<?xml version= “1.0” encoding= “utf-8”?>
<! DOCTYPE DiemThi[
<! ELEMENT DiemThi(SinhVien, BangDiem)>
<! ELEMENT SinhVien (MSSV, TenSV)>
< !ATTLIST
MSSV CDATA #REQUIRED
<! MSSV : A_String >
TenSV CDATA #REQUIRED
<! TenSV : A_String >
>
<! ELEMENT BangDiem(MonHoc +)>
<! ELEMENT Subject (MaMH, TenMH, Diem)>
<! ATTLIST
MaMH CDATA #REQUIRED
<! MaMH : A_String >
TenMH CDATA #REQUIRED
<! TenMH : A_String >

Diem CDATA #REQUIRED
<! Diem : A_ Real >
>
]>
3. Hóa đơn bán hàng
<?xml version= “1.0” encoding= “utf-8”?>
<! DOCTYPE DonHang[
<! ELEMENT DonHang(KhachHang, DSHang)>
<! ELEMENT KhachHang (MaKH, TenKH, DiaChi)>
< !ATTLIST
MaKH CDATA #REQUIRED
<! MaKH : A_String >
TenKH CDATA #REQUIRED
<! TenKH : A_String >
DiaChi CDATA #REQUIRED
<! DiaChi : A_String >
>
<! ELEMENT DSHang(Hang +)>
<! ELEMENT Subject (MaMH, TenMH, SoLuong, DonGia)>
<! ATTLIST
MaMH CDATA #REQUIRED
<! MaMH : A_String >
TenMH CDATA #REQUIRED
<! TenMH : A_String >
SoLuong CDATA #REQUIRED
<! Lop : A_Float >
DonGia CDATA #REQUIRED
<! DonGia : A_Double >
>
]>

4. Quản lý thông tin điểm thi của sinh viên- Định nghĩa lược đồ XML Schema
QLSV.xsd
. 1: <?xml version="1.0" encoding="utf-8"?>
2: <xs:schema id="XMLSchema"
3: targetNamespace=" /> 4: elementFormDefault="qualified"
5: xmlns=" /> 6: xmlns:mstns=" /> 7: xmlns:xs=" /> 8: >
9: <xs:element name="ListStudent">
10: <xs:complexType>
11: <xs:sequence>
12: <xs:element name="Student" maxOccurs="unbounded"
type="TypeStudent">
13: </xs:element>
14: </xs:sequence>
15: </xs:complexType>
16: </xs:element>
17: <xs:simpleType name="TypeIDSub">
18: <xs:restriction base="xs:string">
19: <xs:pattern value="[a-zA-Z]{2}[0-9]{2}" />
20: </xs:restriction>
21: </xs:simpleType>
22:
23: <xs:simpleType name="TypeMSSV">
24: <xs:restriction base="xs:string">
25: <xs:length value="7"/>
26: </xs:restriction>
27: </xs:simpleType>
28: <xs:simpleType name="TypeLop">
29: <xs:restriction base="xs:string">
30: <xs:enumeration value=" Tin21A1HN "/>
31: <xs:enumeration value=" Tin21A2HN "/>

32: <xs:enumeration value=" Tin21A1ND "/>
33: <xs:enumeration value=" Tin22A1HN "/>
<xs:enumeration value=" Tin22A2HN "/>
34: </xs:restriction>
35: </xs:simpleType>
36: <xs:complexType name="TypeSubject">
37:
38: <xs:sequence>
39: <xs:element name="IDSub" type="TypeIDSub"/>
40: <xs:element name="NameSub" type="xs:string"/>
41: <xs:element name="SoTC">
42: <xs:simpleType>
43: <xs:restriction base="xs:integer">
44: <xs:minInclusive value="1"/>
45: <xs:maxInclusive value="5"/>
46: </xs:restriction>
47: </xs:simpleType>
48: </xs:element>
49: <xs:element name="Diem" minOccurs="0">
50: <xs:simpleType>
51: <xs:restriction base="xs:double">
52: <xs:minInclusive value="0"/>
53: <xs:maxInclusive value="10"/>
54: </xs:restriction>
55: </xs:simpleType>
56: </xs:element>
57: </xs:sequence>
58:
59: </xs:complexType>
60:

61: <xs:complexType name="TypeStudent">
62: <xs:sequence>
63: <xs:element name="MSSV" type="TypeMSSV"/>
64: <xs:element name="HoTen" type="xs:string" />
65: <xs:element name="Lop" type="TypeLop"/>
66: <xs:element name="ListSubject">
67: <xs:complexType>
68: <xs:sequence>
69: <xs:element name="Subject" type="TypeSubject"
maxOccurs="unbounded"/>
70: </xs:sequence>
71: </xs:complexType>
72: </xs:element>
73: </xs:sequence>
74: </xs:complexType>
75: </xs:schema>
Câu III
1. đọc file DUONG_TRON.xml
Import System.xml
Public class MH_Doc_Duong_Tron
Private Sub MH_Doc_Duong_Tron_Load( )
Dim tai_lieu As new XmlDocument
tai_lieu.Load(“ \ \Duong_tron.xml”)
Dim Duong_tron As
XmlElement=tai_lieu.SelectSingleNode(“/DUONG_TRON”)
Dim O As
XmlDocument=tai_lieu.SelectSingleNode(“/DUONG_TRON/DIEM”)
Dim ten_duong_tron As String=Duong_tron.GetAttribute(“Ten”)
Dim ten_diem As String = O.GetAttribute(“Ten”)
Dim R As Double = Duong_tron.GetAttribute(“R”)

Dim x As Double = O.GetAttribute(“x”)
Dim y As Double = O.GetAttribute(“y”)
Me.Close ()
End Sub
End Class
2. đọc file Day_phan_so.xml
Import system.xml
Public class MH_DOC_Day_PS
Private Sub MH_DOC_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Dim tai_lieu As New XmlDocument
Tai_lieu.Load(“ \ \Day_PS.xml”)
Dim Day_PS As XmlElement = tai_lieu.SelectSingleNode
(“/DAY_PHAN_SO”)
DIM Phan_so As XmlElement = tai_lieu.SelectSingleNode
(“/DAY_PHAN_SO/PHAN_SO”)
DIM Phan_so1 As XmlElement = tai_lieu.SelectSingleNode
(“/DAY_PHAN_SO/PHAN_SO1”)
DIM Phan_so2 As XmlElement = tai_lieu.SelectSingleNode
(“/DAY_PHAN_SO/PHAN_SO2”)
DIM Tu_so As Integer = Phan_so.GetAttribute (“Tu_so”)
DIM Mau_so As Integer = Phan_so.GetAttribute (“Mau_so”)
DIM Tu_so1 As Integer = Phan_so1.GetAttribute (“Tu_so”)
DIM Mau_so1 As Integer = Phan_so1.GetAttribute (“Mau_so”)
DIM Tu_so2 As Integer = Phan_so2.GetAttribute (“Tu_so”)
DIM Mau_so2 As Integer = Phan_so2.GetAttribute (“Mau_so”)
Me.Close ()
End Sub
End Class


3. đọc file tứ giác
Imports System.xml
Public class DOC_TU_GIAC
Private sub DOC_TU_GIAC.Load(sender As Object, e As EventArgs)
Handles MyBase.Load
Dim tai_lieu As New XmlDocument
tai_lieu.Load(“ \ \Tu_giac.xml”)
Dim Tu_Giac As XmlElement=tai_lieu.SelectSingleNole(“/TU_GIAC”)
Dim DiemA As
XmlElement=tai_lieu.SelectSingleNole(“/TU_GIAC/DIEMA”)
Dim DiemB As
XmlElement=tai_lieu.SelectSingleNole(“/TU_GIAC/DIEMB”)
Dim DiemC As
XmlElement=tai_lieu.SelectSingleNole(“/TU_GIAC/DIEMC”)
Dim DiemD As
XmlElement=tai_lieu.SelectSingleNole(“/TU_GIAC/DIEMD”)
Dim TendiemA As String=DiemA.GetAttribute(“tên”)
Dim x1 As Double=DiemA.GetAttribute(“x”)
Dim y1 As Double=DiemA.GetAttribute(“y”)
Dim TendiemB As String=DiemB.GetAttribute(“tên”)
Dim x2 As Double=DiemB.GetAttribute(“x”)
Dim y2 As Double=DiemB.GetAttribute(“y”)
Dim TendiemC As String=DiemC.GetAttribute(“tên”)
Dim x3 As Double=DiemC.GetAttribute(“x”)
Dim y3 As Double=DiemC.GetAttribute(“y”)
Dim TendiemD As String=DiemD.GetAttribute(“tên”)
Dim x4 As Double=DiemD.GetAttribute(“x”)
Dim y4 As Double=DiemD.GetAttribute(“y”)
Me.Close()
End Sub

End Class
4. đọc File books.xml bằng vb.net
Imports System.Xml
Public Class books
Private Sub books_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Dim tailieu As New XmlDocument
tailieu.Load(" \ \books.xml")
Dim bookstore As XmlElement = tailieu.SelectSingleNode("/bookstore")
Dim book As XmlElement = tailieu.SelectSingleNode("bookstore/book")
Dim author As XmlElement = tailieu.SelectSingleNode("/author")
Dim title As String = book.GetAttribute("title")
Dim first As String = author.GetAttribute("first-name")
Dim last As String = author.GetAttribute("last-name")
Dim price As String = book.GetAttribute("book")
Me.Close()
End Sub
End Class
5. hãy tạo file qlsv.xml.
QLSV.xml
1: <?xml version="1.0" encoding="utf-8" ?>
2: <ListStudent xmlns=" /> 3: <Student>
4: <MSSV>0912679</MSSV>
5: <HoTen>Love Bum</HoTen>
6: <Lop> Tin21A1HN </Lop>
7: <ListSubject>
8: <Subject>
9: <IDSub>CT11</IDSub>
10: <NameSub>XML</NameSub>
11: <SoTC>5</SoTC>

12: </Subject>
13: <Subject>
14: <IDSub>ct02</IDSub>
15: <NameSub>Web nâng cao</NameSub>
16: <SoTC>4</SoTC>
17: </Subject>
18: </ListSubject>
19: </Student>
20: <Student>
21: <MSSV>0910679</MSSV>
22: <HoTen>Bich Hang</HoTen>
23: <Lop> Tin21A2HN </Lop>
24: <ListSubject>
25: <Subject>
26: <IDSub>CT00</IDSub>
27: <NameSub>XML</NameSub>
28: <SoTC>3</SoTC>
29: </Subject>
30: <Subject>
31: <IDSub>CT01</IDSub>
32: <NameSub>Android</NameSub>
33: <SoTC>5</SoTC>
34: </Subject>
35: </ListSubject>
36: </Student>
37: </ListStudent>

×