Thiết kế XML
- Tách biệt cú pháp (biểu diễn cấu trúc) và ngữ nghĩa – và
chỉ quan tâm cú pháp.
- Tập thẻ có thể mở rộng – chúng ta có thể tự ñịnh
nghĩa các thẻ riêng, dựa vào thông tin.
Mục ñích: XML là ñịnh dạng chung cho các thông tin có
cấu trúc.
13 trang |
Chia sẻ: oanh_nt | Lượt xem: 1516 | Lượt tải: 1
Nội dung tài liệu Bài giảng Giới thiệu XML, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Introduction to XML / Chapter 1 / 1 of 26
Giới thiệu XML
Introduction to XML / Chapter 1 / 2 of 26
Tại sao dùng XML?
Hạn chế của HTML
- ðược dùng ñể trình diễn thông tin dưới dạng trang Web.
- Bao gồm một tập cố ñịnh các thẻ ñịnh dạng.
- Các thẻ không cho biết ý nghĩa của dữ liệu chứa trong
nó.
- Không mở rộng thẻ ñược (không thể ñịnh nghĩa thẻ mới)
2Introduction to XML / Chapter 1 / 3 of 26
Sự cần thiết của XML
Thiết kế XML
- Tách biệt cú pháp (biểu diễn cấu trúc) và ngữ nghĩa – và
chỉ quan tâm cú pháp.
- Tập thẻ có thểmở rộng – chúng ta có thể tự ñịnh
nghĩa các thẻ riêng, dựa vào thông tin.
Mục ñích: XML là ñịnh dạng chung cho các thông tin có
cấu trúc.
A formal specification of XML can be found at:
Introduction to XML / Chapter 1 / 4 of 26
XML là gì?
• Extensible Markup Language – Ngôn ngữ ñánh
dấu có thể mở rộng.
• Một tập các luật ñể ñịnh nghĩa và biểu diễn thông
tin dưới dạng các tài liệu có cấu trúc
• Hội tụ ba công nghệ:
• ðánh dấu tài liệu (Document markup)
• Trao ñổi dữ liệu (Data interchange)
• World wide web
3Introduction to XML / Chapter 1 / 5 of 26
XML là gì? (2)
• XML là một siêu ngôn ngữ, không phải là một
ngôn ngữ cụ thể.
• ðịnh nghĩa các luật ñánh dấu tài liệu
• Có khả năng miêu tả trước Document Type
Definition (DTD) ñể giới hạn các ñánh dấu ñược
phép
• Có thể mở rộng cho tất cả các ngôn ngữ tự nhiên.
Introduction to XML / Chapter 1 / 6 of 26
XML là gì? (3)
• Luật 1: Thông tin ñược trình diễn trong các ñơn
vị gọi là tài liệu XML (XML documents).
• Luật 2: Một tài liệu XML document chứa một
hoặc nhiều phần tử (elements).
• Luật 3: Một phần tử có tên, có thể chứa các
phần tử khác, và có thể có các thuộc tính
• Và nhiều luật khác ...
4Introduction to XML / Chapter 1 / 7 of 26
Ví dụmột tài liệu XML (1)
John Doe
Introduction to XML
12 June 2001
121232323
XYZ
Foo Bar
Introduction to XSL
12 June 2001
12323573
ABC
Tự ñặt ra các thẻ
Các phần tử con (thuộc tính) of
“Book”
Introduction to XML / Chapter 1 / 8 of 26
Ví dụmột tài liệu XML (2)
XM là văn bản có cấu trúc phân cấp
- Chúng ta cần một bộ kiểm tra ngữ pháp ñể (grammar) ñể
kiểm tra tính ñúng
- Một “stylesheet” ñược dùng ñể ñịnh nghĩa cách thể hiện dữ
liệu
5Introduction to XML / Chapter 1 / 9 of 26
DTD [Document Type Definition]
• ðược sử dụng ñể miêu tả một lớp các tài liệu XML
(tương tự như các cấu trúc ngữ pháp ñối với các ngôn ngữ
khác), và giới hạn cấu trúc của tài liệu XML.
• Một tài liệu XML ñược gọi là hợp lệ nếu nó ñúng DTD.
Introduction to XML / Chapter 1 / 10 of 26
DTD [Document Type Definition] (2)
Example DTD:
6Introduction to XML / Chapter 1 / 11 of 26
Các vấn ñề với XML DTD
Không phải cú pháp XML
• Tài liệu XML theo một cú pháp khác
• DTD theo một cú pháp khác
• => cần 2 trình phân tích.
Tập các kiểu cơ sở bị giới hạn
• Mong muốn có một tập các kiểu tương thích với tập
kiểu trong các CSDL
• Một trong các ñiểm yếu của DTD là chỉ sử dụng một
kiểu duy nhất – kiểu xâu (PCDATA).
Introduction to XML / Chapter 1 / 12 of 26
Các vấn ñề với XML DTD (2)
Sử dụng các ràng buộc bị giới hạn.
• Chỉ hỗ trợ các ràng buộc như “+” (1 hoặc nhiều), “?”
(0 hoặc1), “*” (0 hoặc nhiều), etc. Không cung cấp
nhiều ràng buộc như trong các CSDL (enumerations,
ranges, string length, etc.)
7Introduction to XML / Chapter 1 / 13 of 26
Lược ñồ XML (XML Schema)
• XML Schemas là cải tiến của DTDs:
– Mở rộng các kiểu dữ liệu.
• Nhiều kiểu dữ liệu cơ bản như trong CSDL: string,
boolean, decimal, integer, date, etc.
• Có thể tự ñịnh nghĩa kiểu dữ liệu
Introduction to XML / Chapter 1 / 14 of 26
XML Schema (2)
ðược viết theo cùng cú pháp với tài liệu XML.
– Hướng ñối tượng
• Có thể dẫn xuất các ñịnh nghĩa
– Có thể tạo nhiều ràng buộc trên phạm vi dữ liệu.
• Ví dụ: maxlength, precision, enumeration,
maxInclusive (upper bound), minInclusive (lower
bound), encoding (applies only to binary)
8Introduction to XML / Chapter 1 / 15 of 26
XML Schema
<xsd:schema
xmlns:xsd=“”
targetNamespace=""
xmlns=“”>
<xsd:element ref="Book" minOccurs="1"
maxOccurs="unbounded"/>
Prefix “xsd” refers to the
XMLSchema namespace
“xmlns” refers to the
default namespace
Khi tham chiếu ñến phần tử
khác, dùng “ref”
Introduction to XML / Chapter 1 / 16 of 26
XML Schema (2)
9Introduction to XML / Chapter 1 / 17 of 26
Không gian tên - Namespaces
A
B
A?
B?
Introduction to XML / Chapter 1 / 18 of 26
Namespaces
Namespace của một phần tử là phạm vi mà phần tử
ñó hợp lệ.
10
Introduction to XML / Chapter 1 / 19 of 26
Namespaces (2)
Tại sao chúng ta cần Namespaces ?
Khi kết hợp nhiều tài liệu XML, các phần tử
không bị trùng tên – ñụng ñộ tên.
Introduction to XML / Chapter 1 / 20 of 26
Namespaces (3)
• Namespaces trong XML:
Một XML namespace là một tập các tên, ñược xác
ñịnh bởi một tham chiếu URI.
Các tên trong XML namespaces có thể ở dạng ñầy
ñủ dạng prefix: local part. Prefix ñược ánh xạ vào
URI ñể chọn một namespace.
11
Introduction to XML / Chapter 1 / 21 of 26
XSL [XML Stylesheet Language]
A
B C
XML1
XML2
Introduction to XML / Chapter 1 / 22 of 26
XSL [XML Stylesheet Language]
<table cellpadding="2" cellspacing="0" border="1“
bgcolor="#FFFFD5">
Title
Author
Date
ISBN
12
Introduction to XML / Chapter 1 / 23 of 26
XSL [XML Stylesheet Language] (2)
Introduction to XML / Chapter 1 / 24 of 26
Tham chiếu
Title Author Date ISBN
Introduction to XML John Doe 12 June 2001 121232323
Introduction to XSL Foo Bar 12 June 2001 12323573
13
Introduction to XML / Chapter 1 / 25 of 26
Công cụ/Phần mềm
XML Spy
Là công cụ biên tập XML tốt nhất hiện nay, cho phép làm việc
với các tệp: XML files, DTD’s, XSL files, as well as XSD
(XML Schema). Phiên bản dùng thử 30 ngày.
XML Notepad
Microsoft XML Notepad là một ứng dụng ñơn giản dùng ñể
xây dựng và soạn thảo các dữ liệu dựa trên XML. Phần mềm
miễn phí.
Các file đính kèm theo tài liệu này:
- bo_tro_2_xml.pdf