Công nghệ XML và ứng dụng
Chương 1 : Mở ñầu
1. Các ví dụmở ñầu
2. Tài liệu XML
3. Công nghệXML
4. Giới thiệu vềDOM
Chương 2 : ðặc tảcấu trúc và nội dung tài liệu XML
1. Các khái niệm
2. ðặc tảcấu trúc tài liệu XML với DTD
3. ðặc tảcấu trúc tài liệu XML với Xml-Schema
Chương 3 : Truy xuất tài liệu XML với DOM
1. Giới thiệu chung vềDOM
2. Các thao tác cơbản
3. Ngôn ngữXPath
4. DOM và các công nghệkhác
Chương 4 : Biến ñổi tài liệu XML với XSLT
1. Giới thiệu chung vềXSLT
2. Hệthống các thẻcơbản
xuất danh sách dạng lưới trên trang Web từ một danh sách các nút của tập tin Xml trong một ứng
dụng Web
Ví dụ :
Xuất danh sách các mặt hàng : tên , ðơn giá
Xuất danh sách các nhân viên : Họ tên , Ngày sinh , Giới tính
Xuất danh sách các môn học : tên môn , Số tiết LT, Số tiết thực hành
....
Hướng giải quyết :
Sử dụng thẻ table , tr, td của ngôn ngữ Html
....
....
Thẻ xử lý kết xuất giá trị tại cột thứ 1
Thẻ xử lý kết xuất giá trị tại cột thứ 12
.....
Ví dụ :
Chương trình Xslt sau sẽ xuất bảng ñơn giá thuê phòng từ tập tin Bang_don_gia.xml
Bảng ñơn giá thuê phòng
Loại phòng
ðơn giá
2. XML --- > XML
Mục tiêu :
Trình bày một số kỹ thuật cơ bản cho phép tạo tài liệu Xml mới dựa trên một tài liệu Xml ñã có
- Trích rút thông tin
- Tái cấu trúc
* Tạo nút và thuộc tính
Vấn ñề :
Cần tạo thẻ mới X cùng với các thuộc tính trong tập tin xml kết xuất
Hướng giải quyết :
Cách 1 : Tạo lập trực tiếp thẻ mới X trong chương trình Xslt ( tương tự như sao5n thảo tập tin XML
Cách 2 : Sử dụng các thẻ xử lý xsl:element , xsl:attribute
Thẻ xsl:element
Ý nghĩa :
Cho phép tạo thẻ mới trong tập tin Xml kết xuất
Cú pháp :
Các thẻ xử lý tạo thuộc tính ( nếu có )
Các thẻ khác
Thẻ xsl:attribute
Ý nghĩa :
Cho phép tạo thuộc tính của một thẻ trong tập tin Xml kết xuất
Cú pháp :
Thẻ xử lý kết xuất giá trị của thuộc tính
Các thẻ khác
Vi dụ :
Chương trình Xslt sau ñây biến ñổi tập tin Phieu_thu.xml với tập tin Xml kết xuất có các nút con tương
ứng các thuộc tính
<PHIEU_THUKhach_hang="Trần văn Long"
Ngay_thu="11/2/2007"
So_tien="40000" >
Chương trình Xslt
<PHIEU_THUNgay_thu="{$Ngay_thu}"
So_tien="{$So_tien}">
* Sao chép nút
Vấn ñề :
Cần tạo thẻ kết xuất trong tập tin xml kết xuất có cùng tên và các thuộc tính với thẻ trong tập tin nguồn
Hướng giải quyết :
Cách 1 : Sử dụng các thẻ xử lý xsl:element , xsl:attribute
Cách 2 : Sử dụng các thẻ xử lý xsl:copy , xsl:attribute
Thẻ xsl:copy
Ý nghĩa :
Cho phép sao chép thẻ từ tập tin xml nguồn ( với nút ngữ cảnh tương ứng thẻ ) sang tập tin xml kết
xuất
Cú pháp :
Các thẻ xử lý tạo thuộc tính ( nếu có )
Các thẻ khác
Kết hợp với xsl:attribute ñể sao chép thẻ - thuộc tính
Ví dụ 1:
Chương trình sau trích danh sách các khối của tập tin truong.xml
Vi dụ 2 :
Chương trình Xslt sau cho phép biến ñổi tập tin Xml bất kỳ theo qui tắc : Tất cả thuộc tính sẽ biến thành
thẻ con
* Sao chép nút - thuộc tính - nút con
Vấn ñề :
Cần sao chép toàn bộ thẻ X , tất cả thuộc tính của X, tất các thẻ con mọi cấp của X trong tập tin
xml nguồn vào tập tin Xml kết xuất
Hướng giải quyết :
Cách 1 : Sử dụng các thẻ xử lý xsl:copy , xsl:attribute
Cách 2 : Sử dụng thẻ xử lý xsl:copy-of
Thẻ xsl:copy-of
Ý nghĩa :
Cho phép sao chép toàn bộ thẻ X , tất cả thuộc tính của X, tất các thẻ con mọi cấp của X trong tập tin
xml nguồn vào tập tin Xml kết xuất
Cú pháp :
Vi dụ :
Cho tập tin xml Bang_phan_cong.xml
ðoạn chương trình sau cho phép tái cấu trúc tập tin Bang_phan_cong.xml với thẻ MON chuyễn thành
thuộc tính Bo_mon của thẻ GIAO_VIEN
* Sắp thứ tự các nút
Vấn ñề :
Cần sắp thứ tự danh sách các thẻ X của tập tin xml kết xuất
Hướng giải quyết :
Sử dụng thẻ xử lý xsl:sort kết hợp với xsl:apply-templates
Thẻ xsl:sort
Ý nghĩa :
Cho phép sắp thứ tự danh sách các thẻ X của tập tin xml kết xuất
Cú pháp :
Sắp tăng
Sắp giảm
Kết hợp với xsl:apply-templates ñể tiến hành sắp thứ tự các kết quả sau khi thực hiện so khớp các
hàm/mẩu
......
Ví dụ : Với tập tin Xml Ket_qua_Olympic.xml
ðoạn chương trình XSL sau sắp xếp các quốc gia giảm dần theo thứ tự ưu tiên
- Ứu tiên 1 : Số huy chương vàng
- Ứu tiên 2 : Số huy chương bạc
- Ưu tiên 3 : Số huy chương ñồng
-->
IV. Bài tập
1. XML --- > HTML
* Tích 2 phân số
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin về 2 phân số
- Kết xuất : Trang Web thể hiện kết quả nhân 2 phân số
Ví dụ : vời phân số 4/7, 5/11
Kết xuất sẽ là
Kết quả tính tích 2 phân số 1/7 và 5/11
4/7*5/11=20/77
* Phương trình ñường thẳng
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin về các hệ số của phương trình ñường thẳng trong mặt
phẳng
- Kết xuất : Trang Web thể hiện kết quả là phương trình ñường thẳng
Ví dụ :
Vời giá trị các hệ số 2,3,4
Kết xuất sẽ là : Phương trình ñường thẳng 2x + 3y + 4=0
Vời giá trị các hệ số 7,-3
Kết xuất sẽ là : Phương trình ñường thẳng 7x - 3y =0
* Phương trình ñường tròn
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin về tọa ñộ tâm và bán kính của một ñường tròn
- Kết xuất : Trang Web thể hiện kết quả là phương trình ñường tròn
Ví dụ :
Vời giá trị các tọa ñộ tâm 4,5 và bán kính 3
Kết xuất sẽ là : Phương trình ñường tròn (x-4)2 + (y-5) 2 = 9
Vời giá trị các tọa ñộ tâm -2,3 và bán kính 7
Kết xuất sẽ là : Phương trình ñường tròn (x + 2 )2 + (y-3) 2 = 49
* ðề trắc nghiệm
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin về ñề trắc nghiệm
- Kết xuất : Trang Web thể hiện ñề trắc nghiệm
* Hồ sơ học sinh
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin về hồ sơ học sinh bao gồm : Họ và tên , giới tính, ngày
sinh , ñịa chỉ
- Kết xuất :
a) Trang Web thể hiện hồ sơ học sinh dạng xem
b) Trang Web thể hiện hồ sơ học sinh dạng nhập liệu ( cập nhật)
* Bảng xếp hạng Olympic
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin kết quả thi ñấu Olympic các quốc gia
- Kết xuất :
a) Trang Web thể hiện bảng kết quả thi ñấu
b) Trang Web cho phép cập nhật số huy chương vàng, bạc, ñồng
2. XML - XML
* Hồ sơ nhân viên
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin về hồ sơ nhân viên với
+ Thông tin bao gồm : Họ và tên, Giới tính , Ngày sinh, ðịa chỉ , ðơn vị
+ Tất cả các thông tin ñều biểu diễn dưới dạng thẻ con
- Kết xuất : Tập tin Xml
a) Tất cả các thông tin ñều biểu diễn dạng thuộc tính
b) Tất cả các thông ngoại trừ ñơn vị ñều biểu diễn dạng thuộc tính
* Trường - khối - lớp
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin tổ chức trường , các khối của trường, các lớp của khối
- Kết xuất :
a) Tập tin Xml chỉ bao gồm các lớp có sỉ số trên 30
b) Tập tin Xml chỉ bao gồm các khối có hơn 5 lớp
* Bảng phân công giáo viên
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin bảng phân công các giáo viên của một trường
- Kết xuất :
a) Tập tin Xml chỉ bao gồm danh sách các bộ môn cùng với số lượng các giáo viên
b) Tập tin Xml chỉ bao gồm danh sách các giáo viên ñược phân công dạy trên 2 lớp
* Cây số nguyên
Yêu cầu :
Viết chương trình XSLT cho phép tạo kết xuất từ dữ liệu nguồn
- Dữ liệu nguồn : Tập tin xml biểu diễn thông tin cây các số nguyên
- Kết xuất :
a) Tập tin Xml chỉ bao gồm danh sách các nút lá
b) Tập tin Xml chỉ bao gồm danh sách các nút có giá trị từ 1 ñến 10
c) Tập tin Xml là tập tin nguồn sau khi bỏ ñi các nút lá
d) Tập tin Xml là tập tin nguồn sau khi bỏ ñi tất cả các nút con cấp 1 ( con của gốc )
e) Tập tin Xml là tập tin nguồn sau khi sắp thứ tự tăng các nút cùng cha
ðồ án
Mục tiêu :
Giúp sinh viên
- Có cơ hội ôn tập, rèn luyện các kỹ thuật liên quan XML
- Có cơ hội tìm hiểu và sử dụng tốt ngôn ngữ lập trình
- Rút các kinh nghiệm khi xây dựng ứng dụng thực tế
ðiểm số :
ðồ án là tùy chọn, sinh viên không bắt buộc phải ñăng ký.
Với các sinh viên ñã ñăng ký ñiểm số của ñồ án sẽ ñược cộng vào ñiểm thi cuối môn
=== > ðiểm thi cuối môn sẽ là 10 + n
với -2<=n <=2
ðăng ký và không nộp bài n =-2
=== > Cần suy nhỉ trước khi ñăng ký
Yêu cầu chung :
Viết một chương trình ứng dụng với các chức năng ñược yêu cầu
Kết quả nộp :
1. Báo cáo viết về hồ sơ thiết kế ( tập tin Word )
2. Chương trình nguồn
3 . Chương trình ñã biên dịch cùng với các dữ liệu thử nghiệm
Thời hạn :
- Hạn chót ñăng ký : Ngày 1/10/2007. Sinh viên ñăng ký ñồ án nào sẽ chọn mục thảo luận và cho ý kiến
về việc ñăng ký
- Hạn chót nộp kết quả : Sẽ ñược thông báo sau ( dự kiến trong tuần lễ thi )
Lứu ý :
- 1 sinh viên trên 1 ñồ án
- Có thể sẽ có vấn ñáp trực tiếp với giáo viên khi nộp ñồ án nhằm xác ñịnh chính xác người thực hiện
1. Dò mìn
Các yêu cầu chức năng :
1. ðánh cờ ( chức năng chính tương ứng việc xử lý việc chọn vị trí của người dùng )
2. Ghi bàn cờ vào tập tin
3. ðọc bàn cờ ñã ghi
2. Bán vé tàu hỏa
Các yêu cầu chức năng :
1. Tính tiền bán vé
2. Quản lý ( thêm,xóa,sửa ) các ga
3. Cập nhật bảng ñơn giá
3. ðánh cơ caro
Các yêu cầu chức năng :
1. ðánh cờ ( chức năng chính tương ứng việc xử lý việc ñi cờ của người dùng )
2. Ghi bàn cờ vào tập tin
3. ðọc bàn cờ ñã ghi
4. ðánh cơ tướng
Các yêu cầu chức năng :
1. ðánh cờ ( chức năng chính tương ứng việc xử lý việc ñi cờ của người dùng )
2. Ghi bàn cờ vào tập tin
3. ðọc bàn cờ ñã ghi
5. Trò chơi ô chử
Các yêu cầu chức năng :
1. ðọc và ñoán ô chử ñả ñược lưu trữ trên 1 tập tin
2. Soạn thảo và ghi ô chử vào tập tin
6. Trò chơi Sudoku
Các yêu cầu chức năng :
1. ðọc và giải ma trận Sudoku ñả ñược lưu trữ trên 1 tập tin
2. Soạn thảo ma trận Sudoku và ghi vào tập tin
7. Rồng vàng
Các yêu cầu chức năng :
1. Sắp xếp các từ ( vòng 1 của trò chơi )
2. Trả lời các câu ñố ( vòng 2 )
2. Soạn thảo câu ñố ( vòng 1 , 2 )
The End
File đính kèm:
Công nghệ XML và ứng dụng.pdf

