Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Ngôn ngữ đánh dấu văn bản mở rộng XML
Nội dung xem thử
Mô tả chi tiết
TRƢỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
------
Tài liệu giảng dạy
NGÔN NGỮ
ĐÁNH DẤU VĂN BẢN MỞ RỘNG XML
Chủ nhiệm đề tài: PHAN THỊ THỂ
Thủ Đức, tháng 01 năm 2013
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang i
Mục Lục
Mục lục ............................................................................................................................ i
Danh mục từ viết tắt ....................................................................................................... vi
Danh mục hình vẽ.......................................................................................................... vii
CHƢƠNG 1. TỔNG QUAN VỀ XML ....................................................................... 1
1.1 Định nghĩa XML: ............................................................................................... 1
1.2 Sự khác biệt cơ bản giữa XML và HTML: ......................................................... 2
1.3 Tại sao nhà phát triển sử dụng XML................................................................... 2
1.3.1 XML tách dữ liệu từ HTML:........................................................................ 2
1.3.2 XML – đơn giản hóa việc chia sẽ dữ liệu:.................................................... 2
1.3.3 XML – đơn giản hóa việc trao đổi dữ liệu:................................................... 2
1.3.4 XML – đơn giản hóa việc thay đổi nền tảng:................................................ 3
1.3.5 XML làm cho dữ liệu của bạn khả dụng hơn:............................................... 3
1.4 XML dùng ở đâu ................................................................................................ 3
1.5 Các đặc điểm của XML ...................................................................................... 3
1.6 Một số công nghệ liên quan. ............................................................................... 4
1.7 Tổng kết chƣơng................................................................................................. 4
Câu hỏi và bài tập ........................................................................................................ 4
CHƢƠNG 2. TẠO TÀI LIỆU XML ........................................................................... 6
2.1 Xây dựng tài liệu XML liệu hợp khuôn dạng...................................................... 6
2.1.1 Công cụ soạn thảo........................................................................................ 6
2.1.2 Cấu trúc chung của tài liệu........................................................................... 6
2.2 Các khai báo XML- Chỉ thị xử lý ....................................................................... 8
2.3 Chú thích............................................................................................................ 9
2.4 Thẻ và các phần tử (element).............................................................................. 9
2.4.1 Cấu thành của phần tử (element) và thẻ........................................................ 9
2.4.2 Tên thẻ....................................................................................................... 10
2.4.3 Phần tử rỗng............................................................................................... 11
2.5 Phần tử gốc (root element)................................................................................ 12
2.6 Thuộc tính (attribute)........................................................................................ 13
2.6.1 Tên thuộc tính............................................................................................ 13
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang ii
2.6.2 Trị gán cho thuộc tính ................................................................................ 13
2.6.3 Thuộc tính hữu dụng xml:lang ................................................................... 14
2.7 Cách xây dựng cấu trúc tài liệu hợp khuôn dạng............................................... 14
2.8 Tổng kết chƣơng: ............................................................................................. 18
Câu hỏi và bài tập (Làm quen với Altova XMLSpy).................................................... 19
CHƢƠNG 3. XML và CSS....................................................................................... 28
3.1 Giới thiệu CSS ................................................................................................. 28
3.2 Cách gán CSS vào tài liệu XML....................................................................... 29
3.3 Tổng kết chƣơng............................................................................................... 33
Câu hỏi và bài tập (Định dạng tài liệu XML sử dụng CSS)......................................... 33
CHƢƠNG 4. ĐỊNH NGHĨA KIỂU DỮ LIỆU (DTD) VÀ KIỂM TRA TÍNH HỢP
LỆ CỦA XML 43
4.1 Định nghĩa DTD............................................................................................... 43
4.2 Tạo khai báo..................................................................................................... 43
4.3 Định nghĩa kiểu dữ liệu trong DTD .................................................................. 44
4.3.1 Phần tử <!DOCTYPE> .............................................................................. 44
4.3.2 Phần tử <!ELEMENT>.............................................................................. 44
4.3.3 Định nghĩa DTDs tham chiếu nội............................................................... 47
4.3.4 Định nghĩa DTDs tham chiếu ngoại ........................................................... 48
4.4 Tổng kết chƣơng............................................................................................... 50
Câu hỏi và bài tập (Document Type Definition 1)....................................................... 50
CHƢƠNG 5. THUỘC TÍNH VÀ THỰC THỂ DTD................................................. 56
5.1 Khai báo các attribute (thuộc tính).................................................................... 56
5.2 Các kiểu dữ liệu của Attribute (thuộc tính) ....................................................... 58
5.3 Thuộc tính đƣợc định nghĩa trƣớc..................................................................... 61
5.4 Thực thể(Entity) ............................................................................................... 62
5.4.1 Thực thể là gì? ........................................................................................... 62
5.4.2 Thực thể tổng quát ..................................................................................... 63
5.4.3 Thực thể tham số........................................................................................ 64
5.5 Tổng kết chƣơng............................................................................................... 66
Câu hỏi và bài tập (Document Type Definition 2)....................................................... 66
CHƢƠNG 6. XSLT .................................................................................................. 77
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang iii
6.1 XSLT là gì? ...................................................................................................... 77
6.2 Không gian tên (namespaces) ........................................................................... 79
6.2.1 Khai báo không gian tên (namespace)........................................................ 79
6.2.2 Không gian tên mặc định (namespace default) ........................................... 80
6.3 Một số thẻ trong XSLT..................................................................................... 81
6.3.1 Cơ chế so khớp .......................................................................................... 85
6.3.2 Lựa chọn nội dung dữ liệu ......................................................................... 86
6.3.3 Sao chép nội dung của nút.......................................................................... 87
6.3.4 Đếm số nút xsl:number .............................................................................. 88
6.3.5 Sắp xếp các phần tử ................................................................................... 90
6.3.6 Khai báo hằng (constants).......................................................................... 90
6.3.7 Lựa chọn (rẽ nhánh)................................................................................... 91
6.4 Tổng kết chƣơng............................................................................................... 93
Câu hỏi và bài tập (XSLT 1)....................................................................................... 93
CHƢƠNG 7. LƢỢC ĐỒ XML ( XML SCHEMA)................................................... 96
7.1 Giới thiệu lƣợc đồ XML và W3C ..................................................................... 96
7.1.1 XML Schema là gì? ................................................................................... 96
7.1.2 Tại sao lại sử dụng XML Schema?............................................................. 97
7.1.3 So sánh DTD và XML Schema .................................................................. 98
7.2 Cách sử dụng XML Schema để quy định cấu trúc của tài liệu XML................. 98
7.2.1 Cách sử dụng XML Schema ...................................................................... 98
7.2.2 Phần tử đơn giản ........................................................................................ 99
7.2.3 Giá trị mặc định và cố định ...................................................................... 100
7.2.4 Chỉ định ràng buộc và giá trị mặc định cho thuộc tính.............................. 100
7.3 Ràng buộc dữ liệu........................................................................................... 102
7.4 Phần tử phức tạp............................................................................................. 105
7.5 Phần tử rỗng ................................................................................................... 107
7.6 Phần tử chỉ chứa phần tử ................................................................................ 107
7.7 Phần tử hỗn hợp.............................................................................................. 108
7.8 Indicator ......................................................................................................... 108
7.9 Các kiểu dữ liệu.............................................................................................. 110
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang iv
7.9.1 Kiểu dữ liệu chuỗi.................................................................................... 110
7.9.2 Kiểu dữ liệu ngày tháng ........................................................................... 111
7.9.3 Kiểu dữ liệu thời gian .............................................................................. 111
7.9.4 Kiểu dữ liệu ngày giờ............................................................................... 111
7.9.5 Kiểu dữ liệu duration ............................................................................... 112
7.9.6 Kiểu dữ liệu số......................................................................................... 112
7.9.7 Kiểu dữ liệu khác ..................................................................................... 113
7.10 Tổng kết chƣơng ......................................................................................... 113
Câu hỏi và bài tập (XML Schema 1)......................................................................... 113
CHƢƠNG 8. TỔNG QUAN DOM ......................................................................... 119
8.1 Giới thiệu ....................................................................................................... 119
8.2 Đặc điểm – công dụng .................................................................................... 121
8.3 Làm việc với XML DOM. .............................................................................. 122
8.4 Quản lý các thành phần trên nodes.................................................................. 128
8.5 Attribute ......................................................................................................... 129
8.6 Thay đổi giá trị ............................................................................................... 130
8.6.1 Element.................................................................................................... 130
8.6.2 Attribute .................................................................................................. 131
8.7 Xóa Node ....................................................................................................... 132
8.8 Thay thế Node ............................................................................................... 135
8.9 Tạo node......................................................................................................... 137
8.10 Thêm node .................................................................................................. 138
8.11 Clone Nodes................................................................................................ 139
8.12 Tổng kết chƣơng ......................................................................................... 140
Câu hỏi và bài tập (XML DOM)............................................................................... 140
CHƢƠNG 9. LINQ TO XML................................................................................. 142
9.1 Giới thiệu ....................................................................................................... 142
9.2 Xây dựng một cây XML................................................................................. 143
9.3 Lƣu trữ và load những file XML .................................................................... 144
9.4 Truy vấn cơ bản trên cây XML....................................................................... 145
9.4.1 Tìm và lọc phần tử ................................................................................... 146
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang v
9.4.2 Sắp xếp các phần tử ................................................................................. 146
9.4.3 Nhóm các phần tử .................................................................................... 155
9.5 Tổng kết chƣơng............................................................................................. 156
Câu hỏi và bài tập .................................................................................................... 157
Tài liệu tham khảo ....................................................................................................... 161
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang vi
Danh mục từ viết tắt
HTML
SGML
W3C
SOAP
WSDL
WAP
SMIL
hyperText markup language
Standard Generalized Markup
Language
World wide web
Simple Object Access Protocol
Web Service Definition Language
Wireless Application Protocol
Synchronized Multimedia Integration
Language
Ngôn ngữ đánh dấu siêu
văn bản
Tổ chức w3C
Giao thức truy cập đối
tƣợng đơn giản
Dùng để mô tả các dịch vụ
web
ngôn ngữ tích hợp đa
phƣơng tiện
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang vii
Danh mục hình vẽ
Hình 1-1 Ví dụ về ứng dụng của XML..................................................................... 4
Hình 2-1 Ví dụ một tài liệu XML mẫu ..................................................................... 7
Hình 2-2 Ví dụ định nghĩa thuộc tính cho phần tử.................................................. 14
Hình 2-3 Quy định tài liệu XML hợp chuẩn........................................................... 15
Hình 3-1 Định nghĩa CSS ...................................................................................... 28
Hình 3-2 Khai báo CSS trong XML....................................................................... 30
Hình 4-1 Định nghĩa phần tử trong DTD ............................................................... 45
Hình 4-2 Kiểu ANY trong DTD............................................................................. 45
Hình 5-1 Khai báo thuộc tính................................................................................. 56
Hình 7-1 Cấu trúc của Schema............................................................................... 96
Hình 7-2 Phần tử đơn giản trong Schema............................................................... 99
Hình 8-1 Mô hình cây XML DOM ...................................................................... 120
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang 1
CHƢƠNG 1. TỔNG QUAN VỀ XML
Sau chƣơng này, Sinh viên có khả năng:
Trình bày đƣợc các đặc điểm của ngôn ngữ đánh dấu mở rộng XML
Trình bày đƣợc các công nghệ liên quan đến XML
Biết đƣợc tại sao nhà phát triển sử dụng XML
Trình bày đƣợc sự hình thành một tài liệu XML
1.1 Định nghĩa XML:
XML (eXtensible Markup Language, ―Ngôn ngữ Đánh dấu Mở rộng‖) là
ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra các ngôn ngữ
đánh dấu khác. Đây là một tập con đơn giản của SGML, có khả năng mô tả nhiều
loại dữ liệu khác nhau. Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ
liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống đƣợc kết nối với
Internet. Các ngôn ngữ dựa trên XML (thí dụ: RDF, RSS, MathML, XHTML,
SVG, GML và cXML) đƣợc định nghĩa theo cách thông thƣờng, cho phép các
chƣơng trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần có
hiểu biết trƣớc về hình thức của chúng.
XML là ngôn ngữ tạo cấu trúc dữ liệu văn bản đƣợc phát triển từ đầu năm
1996 dựa theo và tận dụng những điểm mạnh của chuẩn SGML (Standard
Generalized Markup Language) đƣợc xem nhƣ là siêu ngôn ngữ có khả năng sinh
ngôn ngữ khác), cùng những kinh nghiệm có đƣợc từ ngôn ngữ HTML
(HyperText Markup Language). SGML phát triển cho việc định cấu trúc và nội
dung tài liệu điện tử do tổ chức ISO (International Organization for
Standardization) chuẩn hóa năm 1986.
SGML là do IBM đƣa ra nhƣng đƣợc phát triển bởi W3C (World Wide
Web) nhƣng đặc tả XML lại do Netscape, Microsoft và các thành viên dự án
Text Encoding Intiative (TEI) xây dựng. Tổ chức W3C XML Special Interest
Group có đại diện từ hơn 100 công ty cùng nhiều chuyên gia đƣợc mời khác.
W3C chính thức thông qua chuẩn XML vào tháng 2/1998.
Trong thực tế XML không phải là một ngôn ngữ lập trình, XML giúp máy
tính dễ dàng tạo dữ liệu, đọc dữ liệu, trao đổi dữ liệu và làm cho cấu trúc dữ liệu
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang 2
trở nên rõ ràng và dễ hiểu hơn, ngoài ra XML còn có thể mở rộng, có nền tảng
hoàn toàn độc lập và hỗ trợ tính quốc tế hóa, nội địa hóa. XML hỗ trợ hoàn toàn
unicode.
1.2 Sự khác biệt cơ bản giữa XML và HTML:
1.3 Tại sao nhà phát triển sử dụng XML
1.3.1 XML tách dữ liệu từ HTML:
Nếu bạn cần hiển thị động trong tài liệu HTML của bạn, Nó sẽ mất rất
nhiều công việc để chỉnh sửa HTML mỗi khi thay đổi dữ liệu .
Với XML, dữ liệu có thể đƣợc lƣu trữ trong các file XML riêng biệt. Bằng
cách này bạn có thể tập trung vào việc sử dụng HTML để bố trí và hiển
thị, và chắc chắn rằng những thay đổi trong dữ liệu cơ bản trong XML sẽ
không có yêu cầu bất kỳ thay đổi nào.
Với một dòng mã Javascript, bạn có thể đọc một tập tin XML bên ngoài
và cập nhật nội dung dữ liệu vào trang web của bạn.
1.3.2 XML – đơn giản hóa việc chia sẽ dữ liệu:
Trong thế giới thực, các hệ thống máy tính và các cơ sở dữ liệu chứa dữ
liệu ở định dạng không tƣơng thích. Dữ liệu XML đƣợc lƣu trữ ở dạng
văn bản thuần. Điều này cung cấp một phần mềm và phần cứng một cách
độc lập với dữ liệu lƣu trữ –>Điều này làm cho nó dễ dàng hơn trong việc
tạo ra dữ liệu có thể chia sẽ bởi các ứng dụng khác nhau.
1.3.3 XML – đơn giản hóa việc trao đổi dữ liệu:
Một trong những thách thức tốn thời gian cho các nhà phát triển là việc
trao đổi các dữ liệu giữa các hệ thống không tƣơng thích trên internet.
Trao đổi dữ liệu bằng XML làm giảm đáng kể độ phức tạp này, kể từ khi
các dữ liệu có thể đƣợc đọc bởi các ứng dụng không tƣơng thích khác
nhau.
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang 3
1.3.4 XML – đơn giản hóa việc thay đổi nền tảng:
Khi nâng cấp lên hệ thống mới (phần cứng hay nền tảng phần mềm) một
phần lớn dữ liệu phải đƣợc thay đổi, và phần dữ liệu không tƣơng thích
thƣờng bị mất.
Dữ liệu XML đƣợc lƣu trữ trong định dạng văn bản. Vì vậy việc sử dụng
XML sẽ dễ dàng khi mở rộng hoặc nâng cấp lên hệ điều hành mới, ứng
dụng mới, hoặc các trình duyệt mới mà không làm mất dữ liệu.
1.3.5 XML làm cho dữ liệu của bạn khả dụng hơn:
Các ứng dụng khác nhau có thể truy cập dữ liệu của bạn, không chỉ trong
các trang HTML mà còn từ các nguồn dữ liệu XML.
Với XML, dữ liệu của bạn có thể khả dụng cho tất cả các loại ―máy đọc‖
(reading machines – máy tính cầm tay, máy có hỗ trợ giọng nói, tin tức,
..), và làm cho nó khả dụng thêm cho những ngƣời mù hoặc những ngƣời
khuyết tật khác.
1.4 XML dùng ở đâu
- XML độc lập platform (Windows, Unix) và ngôn ngữ lập trình (Visual
Basic, Java).
- XML dùng để trao đổi dữ liệu giữa những ứng dụng với nhau.
- Ứng dụng web: giảm thời gian load trang web.
- Chứa nội dung trang web: sử dụng XSLT hay CSS để chuyển đổi và hiện
thị trang web.
- Remote Procedure Call (RPC): đối tƣợng ở máy này gọi đối tƣợng ở máy
khác. Sử dụng XML và HTTP.
- Simple Object Access Protocol (SOAP): tƣơng tự nhƣ RPC cho phép
thông qua firewall.
- eCommerce: B2B, B2C, …
1.5 Các đặc điểm của XML
- XML dùng để mô tả dữ liệu
- Đối với XML, chúng ta có thể tạo ra những tag mà chúng ta cần. Tag tạo
ra đó phải định nghĩa trong DTD (Document Type Definition).
- Tạm hiểu DTD là từ vựng + cú pháp cho những tài liệu nào đó. Ví dụ:
CML(Chemical ML), MathML …
- Trình duyệt không cần biết trƣớc đƣợc tất cả các tag đƣợc sử dụng bởi
hàng ngàn ngôn ngữ đánh dấu (ML) khác nhau.
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang 4
Hình 1-1 Ví dụ về ứng dụng của XML
- XML ngày nay cũng quan trọng trong WEB nhƣ HTML, nó cũng là một
nền tảng của WEB.
- XML là một công cụ phổ biến nhất để truyền dữ liệu giữa tất cả các loại
ứng dụng.
1.6 Một số công nghệ liên quan.
- XHTML (eXtensible HyperText Markup Language) Ngôn ngữ đánh dấu
siêu văn bản mở rộng.
- WSDL (Web Service Definition Language) dùng để mô tả các dịch vụ
web có sẵn.
- WAP(Wireless Application Protocol) và WML (Wireless Markup
Language) là ngôn ngữ đánh dấu cho thiết bị cầm tay.
- RSS (Really Simple Syndication) là ngôn ngữ cho bản tin.
- RDF (Resource Description Framework )là OWL (The Web Ontology
Language) để mô tả tài nguyên và ontology.
- SMIL (Synchronized Multimedia Integration Language) để mô tả đa
phƣơng tiện cho web.
- Các công nghệ hỗ trợ riêng cho XML bao gồm XSL, XLinks và XPointer.
1.7 Tổng kết chƣơng
- XML là ngôn ngữ siêu đánh dấu (meta-markup) cho phép tạo những
ngôn ngữ đánh dấu cho những tài liệu thuộc những lĩnh vực chuyên biệt.
- XML tags miêu tả cấu trúc và ngữ nghĩa của nội dung tài liệu, mà không
định dạng nội dung đó. Định dạng đƣợc miêu tả bằng một style sheet
riêng.
- Tài liệu XML đƣợc tạo bằng một editor, đƣợc đọc bởi một Parser, và
đƣợc hiển thị bởi Browser.
- XML trên Web dựa trên những nền tảng đƣợc cung cấp bởi HTML: CSS
và URLs
Câu hỏi và bài tập
1. Ngôn ngữ XML là gì
Tài liệu ngôn ngữ đánh dấu mở rộng XML
Trang 5
2. Cho biết các đặc điểm của ngôn ngữ XML?
3. So sánh HTML và XML?
4. Trình bày những công nghệ liên quan đến ngôn ngữ XML.