Mời các bạn tham khảo bài giảng Tổng quan về XML sau đây để nắm bắt được những kiến thức về công dụng của XML; vai trò của XML; Tag (thẻ) trong XML; XML well-formed; XML validated; vai trò của XML schema; XSL, XSLT, XPath; những kỹ thuật được các Parser sử dụng.
Nội dung trích xuất từ tài liệu:
Bài giảng Tổng quan về XML
Tổng quan về XML
XML dùng để làm gì? Nó có vai trò gì
trong thế giới IT, tại sao cần phải học
nó?
XML có nhiều vai trò, nhưng quan trọng nhất là nó
đóng góp làm dạng data trung gian để các server
giao tiếp với nhau. Sau này học môn Web Services
các bạn sẽ hiểu rõ hơn vai trò này.
XML là 1 khái niệm đơn giản, nhưng nó có ứng dụng
ngày càng lớn trong thế giới IT nhờ sự bùng nổ của
Internet và nhu cầu giao tiếp dữ liệu. Do sự đa dạng
trong cách sử dụng XML đã xuất hiện các khái niệm
khác như XML schemas, XSLT… chính điều đó đã
tăng thêm sức mạnh cho XML
Thế nào là Tag (thẻ) trong XML. Tên các
Tag trong XML thế nào là hợp lệ?
Tag là thành phần cơ bản, có thể gọi đó là các viên
gạch xây dựng lên XML. Trong file XML luôn phải có 1
(và chỉ 1) tag gốc (tag root), tag này có thể chứa 1 hoặc
nhiều tag khác, cũng có thể chứa luôn data mà không
chứa tag nào cả.
Các Tag (thẻ) trong XML có thể bắt đầu bằng dấu 2
chấm (:), dấu gạch dưới ( _ ), nhưng chủ yếu nó bắt
đầu bằng 1 ký tự trong bảng chữ cái. Nó KHÔNG THỂ
bắt đầu bằng chữ số, và cũng KHÔNG THỂ có khoảng
trắng (ngoại trừ trường hợp áp dụng cho attributes).
Thế nào là XML wellformed, thế nào
là XML validated ?
XML Wellformed (trình bày tốt) tức là đã có thẻ mở
thì phải có thẻ đóng, nếu phần tử rỗng (empty
element) thì có thể trình bày dưới dạng 1 thẻ tự đóng
chính nó (kết thúc bằng dấu gạch chéo (/) ), các
attribute phải có dấu bằng và các value của attribute
phải bao bằng dấu nháy (”).
XML Validating (XML hợp lệ) là khái niệm rộng hơn
Wellform, tài liệu XML muốn validated thì không
những phải wellformed mà còn phải thỏa mãn
schema của nó (ở đây schema có thể là DTD hoặc
XML Schema).
Tại sao cần có namespace?
Trong lập trình nói chung và XML nói riêng, kỹ
thuật sử dụng namespace là kỹ thuật tránh xung
đột (conflic) cách đặt tên, để khi nếu nhỡ có 2 tên
trùng nhau, nhưng khác namespace thì chương
trình vẫn hiểu được và hoạt động trơn tru.
Schema là gì? XML schemas là
gì?
Schema nghĩa là lược đồ, tức là bản mô tả về
cấu trúc của một cái gì đó
Như vậy, XML schema là văn bản mô tả về cấu
trúc của file XML (ở đây cái gì đó chính là XML)
Nó mô tả file XML có những Tag gì, Tag gì chứa
Tag gì, hoặc chứa dữ liệu gì… Có 2 dạng XML
schema chính là DTD và XML Schema
Tại sao phải dùng schema? cụ thể là
tại sao phải dùng XML schema?
Trước tiên chúng ta sẽ trả lời câu hỏi, thế nào là
validation và tại sao phải thực hiện việc
validating. Validation nghĩa là “sự hợp lệ”,
Validating nghĩa là kiểm tra xem có hợp lệ hay
không? Như vậy Email Validating có nghĩa là
kiểm tra xem 1 email có hợp lệ hay không (ví dụ
1 email không có ký tự @ là không hợp lệ)? và tất
nhiên XML Validating là kiểm tra sự hợp lệ của 1
file XML
Tại sao phải dùng schema? cụ thể là
tại sao phải dùng XML schema?
Rõ ràng khi có nhiều người trao đổi file XML với
nhau, sẽ xuất hiện nhu cầu kiểm tra xem các file
XML đó có tuân theo cấu trúc (hay “chuẩn”) đã
được 2 bên thống nhất hay chưa, do đó cần dùng
XML schemas để mô tả cấu trúc đó và cần kiểm
tra xem file XML đã thỏa mãn cấu trúc (hay thỏa
mãn XML schema đó) hay chưa. Một file XML
thỏa mãn XML schema của nó (và wellformed,
tất nhiên) thì được gọi là validated (hợp lệ).
XSL, XSLT, XPath là gì? XSL có điểm
gì giống và khác CSS?
XSL (XML Style Sheets) mà chúng ta đều biết Style Sheets là
công cụ “trang điểm” cho các văn bản thêm dễ nhìn, bắt mắt
(CSS cũng là một dạng Style Sheet), cho nên có thể hiểu
XSL là ngôn ngữ cho phép trình bày các văn bản XML theo
cách mà chúng ta muốn (chứ không phải cách trình bày dạng
tree thường thấy ở các trình duyệt). Có nghĩa là ta có thể
trình bày file XML theo dạng bảng, hoặc theo bất k ỳ c ấu trúc
nào, kể cả trở thành một file XML khác.
XSL bao gồm thành phần chính là XSLT (XSL
Transformation, có hiểu hiểu là ngôn ngữ chuyển đổi hình
thức của file XML), các câu lệnh XPath cho phép ta select
các Tag ta muốn và cuối cùng là XSLFO (ta không học cái
XSLFO) này.
Parser là gì?
Parser là công cụ (hàm, thư viện, API,
phần mềm…) cho phép phân tích cấu trúc
cũng như thao tác (đọc/ghi) với file XML.
Những kỹ thuật nào được các Parser
sử dụng?
Có 2 kỹ thuật chính (thực ra hiện nay chỉ có 2 kỹ thuật này),
đó là DOM (còn được gọi là Treebased hay Objectbased) và
SAX (còn được gọi là Eventbased). DOM thì load toàn bộ
cấu trúc của XML vào bộ nhớ, do đó nó tốn tài nguyên của
máy, và không thể sử dụng được với các file XML quá lớn, ưu
điểm chính của nó là có thể thực hiện được các thao tác
đọc/ghi trên XML, còn SAX thì lại quét (scan) file XML từ trên
xuống dưới, nên không tốn nhiều bộ nhớ, có thể áp dụng với
file XML cực lớn, nhưng chỉ có thể thực hiện thao tác đọc.
Nếu các bạn google “DOM vs SAX” hoặc “DOM versus SAX”
sẽ thấy có nhiều sự so sánh cụ thể hơn giữa chúng ở trên
mạng.
...