Bài giảng Lập trình Web hướng Java - Bài 04: Extensible markup language giới thiệu về XML, cú pháp XML, không gian tên của XML, ứng dụng của XML, document object model, XML và CSS, Extensible stylesheet language. Mời bạn đọc cùng tham khảo.
8/24/2011 Nộ i dung Bộ môn Công nghệ Phầ n mề m Việ n CNTT & TT Trư ng Đạ i họ c Bách Khoa Hà Nộ i Bài 04: Extensible Markup Language Giớ i thiệ u XML Cú pháp củ a XML Không gian tên củ a XML Ứ ng dụ ng củ a XML Document Object Model (DOM) XML CSS Extensible Stylesheet Language (XSL) Giả ng viên: ThS Trị nh Tuấ n Đạ t Bộ môn CNPM Email: trinhtuandat.bk@gmail.com/ dattt@soict.hut.edu.vn Giớ i thiệ u XML Giớ i thiệ u XML XML viế t tắ t củ a từ eXtensible Markup Language Là tậ p quy c chuẩ n cách phân chia mộ t tài liệ u thành nhiề u phầ n, đánh dấ u từ ng phầ n theo đặ c trư ng củ a rồ i ghép lạ i So sánh vớ i HTML XML: ngôn ngữ dùng để đị nh nghĩa liệ u, ngư i dùng tự đị nh nghĩa thẻ HTML: ngôn ngữ dùng để hiể n thị nộ i dung liệ u thông qua thẻ chuẩ n Lị ch sử đờ i 1990, Tim Berners Lee đư a HTML 1995, nhóm XML mong muố n Không giớ i hạ n ngôn ngữ Đơ n giả n cho lậ p trình viên Dễ dàng cho Search Enginge 11/ 1996, đặ c tả đầ u tiên củ a XML đư ợ c phát hành 2/ 1998, W3C phê chuẩ n công nhậ n version 1.0 củ a XML Giớ i thiệ u XML Giớ i thiệ u XML Ví dụ trang XML Các c Dễ dàng trao đổ i liệ u Tùy biế n ngôn ngữ đa ng Dữ liệ u mô tả Dữ liệ u có cấ u trúc tích hợ p an ninh N Na tình hình trậ t tự xã hộ i bình thư ng yên ổ n, khơng có rố i loạ n 8/24/2011 Cú pháp XML 2.1 Quy tắ c chung XML XML: tự đị nh nghĩa thẻ Xây dự ng cách hiể n thị chúng bở i CSS hoặ c XSL Thẻ XML 2.1 Quy tắ c chung XML 2.2 Tạ o tài liệ u XML hợ p khuôn ng Mộ t phầ n tử XML bao gồ m cặ p thẻ mở đầ u kế t thúc, bên liệ u an ninh Phầ n liệ u muố n thêm kí tự đặ c biệ t (dấ u > , < …) thự c hiệ n giố ng HTML 2.1 Quy tắ c chung XML 2.1 Quy tắ c chung XML Tạ o khai báo XML Thẻ XML W3C khuyế n cáo: mỗ i tài liệ u XML nên có nhấ t mộ t khai báo Nế u có mộ t thẻ thêm dấ u / phía cuố i: < HeadWord/ > Trong mỗ i thẻ đị nh nghĩa thêm thuộ c tính Tên thẻ XML phân biệ t chữ hoa chữ thư ng Bao gồ m: chữ cái, chữ số , dấ u “_”, dấ u “-”, dấ u “:” ng không đư ợ c bắ t đầ u chữ số , dấ u “ -” 2.1 Quy tắ c chung XML version= “1.0”: cho biế t số hiệ u phiên bả n XML sử dụ ng standalone= “no”: cho biế t tài liệ u khơng có liên quan đế n tài liệ u khác encoding= “UTF-8”: cho biế t kiể u mã hóa ngơn ngữ 10 2.1 Quy tắ c chung XML Tạ o khai báo XML Tạ o khai báo XML Kế t hợ p liệ u củ a XML vớ i CSS Thuộ c tính xml:lang Hello Search engine sử dụ ng để nhậ n ng ngôn ngữ sử dụ ng Tên quố c gia theo chuẩ n ISO 693 gồ m kí tự tắ t Tạ o dịng ghi chú: tư ng tự HTML < ! > Tạ o thẻ gố c: mỗ i file XML phả i có mộ t thẻ gố c Tạ o thuộ c tính: Dạ ng ten_thuoc_tinh=“gia_tri” Giá trị đư ợ c bao nháy kép “” hoặ c nháy n ‘ ’ 11 12 8/24/2011 2.2 Tạ o tài liệ u XML hợ p khuôn ng Các trình dị ch XML thư ng yêu cầ u rấ t nghiêm ngặ t kiể m tra cú pháp Mộ t tài liệ u XML đư ợ c coi cú pháp hợ p khuôn ng Khuôn ng: quy tắ c khai báo, thẻ , thuộ c tính, đặ t tên thẻ … 2.2 Tạ o tài liệ u XML hợ p khuôn ng Quy tắ c bả n Các khai báo XML cầ n đặ t dòng đầ u tiên Mỗ i tài liệ u có mộ t phầ n tử gố c Thẻ đầ y đủ bao gồ m thẻ đóng thẻ mở hoặ c thẻ vớ i dấ u / cuố i Các thẻ lồ ng phả i có thẻ đóng, thẻ mở hợ p vị trí Tên thuộ c tính mộ t thẻ nhấ t Giá trị (kể số ) nằ m cặ p dấ u nháy n hoặ c nháy kép 13 Không gian tên củ a XML 14 Không gian tên củ a XML XML cho phép tự đị nh nghĩa đặ t tên thẻ standalone= “yes”: cho biế t tài liệ u có liên quan đế n tài liệ u khác Cầ n có phân biệ t phạ m vi hay không gian tên mà mỗ i thẻ có ý nghĩa Namespace: cho phép tạ o sử dụ ng thẻ tên độ c lậ p mà không gây lỗ i Sử dụ ng: thêm mộ t prefix trư c tên củ a thẻ tên củ a thuộ c tính 15 Khơng gian tên củ a XML 16 Khơng gian tên củ a XML Ví dụ Ví dụ : đị nh nghĩa namespace dic an ninh N Na tình hình trậ t tự xã hộ i bình thư ng n ổ n, khơng có rố i loạ n an ninh N Na tình hình trậ t tự xã Hộ i bình thư ng n ổ n, khơng có rố i loạ n 17 18 8/24/2011 Không gian tên củ a XML Không gian tên củ a XML Có thể bổ sung thêm thẻ mớ i tên Có thể đư a thêm thuộ c tính vào thẻ khơng gian tên mớ i bằ ng cách thêm “prefix:” phía trư c Thuộ c tính xmlns:prefix đư ợ c đặ t bấ t kỳ thẻ không giớ i hạ n phầ n tử gố c = > Có thể đặ t đị nh nghĩa khơng gian tên đế n nơ i bắ t đầ u đư ợ c sử dụ ng an ninh N Na tình hình trậ t tự xã Hộ i bình thư ng n ổ n, khơng có rố i loạ n composite word 20 19 Không gian tên củ a XML Ứ ng dụ ng củ a XML XML tạ o ngôn ngữ khác Các ứ ng dụ ng thự c tiễ n củ a XML mộ t tậ p thẻ XML hoạ t độ ng mộ t lĩnh vự c toán họ c, tin họ c, kinh doanh… Mỗ i lĩnh vự c dự a đặ c tả XML an ninh N Na tình hình trậ t tự xã Hộ i bình thư ng yên ổ n, khơng có rố i loạ n composite word 21 4.1 MathML - Ngôn ngữ đị nh ng toán họ c 4.2 CML – Ngơn ngữ đị nh ng hóa họ c CML mô tả hiể n thị nộ i dung củ a cấ u trúc mộ t phầ n tử hóa họ c Cung cấ p danh sách cơng thứ c hóa họ c củ a phầ n tử đị nh nghĩa sẵ n Mụ c đích: hiể n thị đị nh ng biể u thứ c tốn họ c Web Giúp trình duyệ t khơng hiể n thị mà cịn hiể u biể u thứ c toán họ c Version 2.0 đờ i 21/ 3/ 2001 Ví dụ cơng thứ c X b 22 b 4ac 2a 23 24 8/24/2011 Document Object Model (DOM) 4.2 CML - Ngơn ngữ đị nh ng hóa họ c DOM mộ t API đố i vớ i HTML XML, đị nh nghĩa cấ u trúc logic củ a tài liệ u xử lý củ a chúng DOM đư ợ c sử dụ ng để xử lý liệ u lư u XML Tài liệ u XML mộ t bao gồ m tậ p hợ p nút a: phầ n tử , liệ u, thuộ c tính… 25 Document Object Model (DOM) Nút Element Attribute Text Entity Processing Instruction Mơ tả Phầ n tử XML Thuộ c tính Dữ liệ u Thự c thể Chỉ thị xử lý Comment Document Document Type Document Fragment Chú thích Tài liệ u Kiể u tài liệ u Đoạ n tài liệ u Notation Ghi 26 Document Object Model (DOM) Ví dụ Các loạ i nút DOM 27 Document Object Model (DOM) 28 Document Object Model (DOM) Nế u thẻ lồ ng = > mơ hình phân cấ p: nút cha, nút con, nút cháu…, liệ u W3C đị nh nghĩa nhiề u mứ c độ cho DOM Các đố i tư ợ ng bả n củ a DOM Đố i tư ợ ng Level 0: đặ c tả DOM khở i đầ u, áp dụ ng trư c NN 3.0, IE 3.0 Level 1: đặ c tả DOM sử dụ ng phổ biế n hiệ n Level 2: kế t hợ p DOM vớ i CSS hay XSL Level 3: mứ c độ hoạ ch đị nh 29 Mô tả Node Mộ t nút n kiế n trúc NodeList Mộ t tậ p hợ p nút NamedNodeMap Mộ t tậ p nút, cho phép truy xuấ t theo tên số 30 8/24/2011 Document Object Model (DOM) Document Object Model (DOM) Mộ t số phư ng thứ c DOM Phư ng thứ c childNodes firstChild lastChild parentNode previousSibling nextSibling nodeName nodeValue Trả Trả Trả Trả Trả Trả Trả Trả về về về về Mô tả NodeList a nút nút đầ u tiên nút cuố i nút cha nút mứ c đứ ng trư c nút mứ c kế tiế p tên củ a nút giá trị củ a nút Ví dụ nodRoot trỏ tớ i nút gố c LexicalEntry nodRoot.childNodes(0) = > HeadWord nodRoot.childNodes(1) = > Category nodRoot.childNodes(0).nextSibling() = > Category nodRoot.childNodes(0).parentNode() = > LexicalEntry 31 XML CSS 32 XML CSS Sử dụ ng CSS để đị nh nghĩa cách hiể n thị thẻ XML Thự c hiệ n Ví dụ Tạ o tài liệ u XML Tạ o file CSS (kiể u External Style) có a đị nh nghĩa style củ a thẻ tài liệ u XML Chèn đoạ n mã khai báo việ c sử dụ ng CSS 33 34 Kế t luậ n Extensible Stylesheet Language (XSL) XSL đư ợ c dùng để đị nh ng tài liệ u XML vớ i mụ c đích có đư ợ c kế t mộ t trang HTML loạ i Ngôn ngữ XML rấ t dễ dàng sử dụ ng có ứ ng dụ ng đa ng XML mơ tả liệ u có cấ u trúc nên đư ợ c dùng tổ c CSDL XSLT (XSL Transform): chuyên chuyể n dị ch, trích rút liệ u XML đư a vào khuôn ng HTML XSL-FO (XSL Formatted Objects): chuyên đị nh ng: font chữ , màu sắ c… 35 36 8/24/2011 Câu hỏ i 37 37 ... họ c Web Giúp trình duyệ t khơng hiể n thị mà hiể u biể u thứ c toán họ c Version 2.0 đờ i 21/ 3/ 2001 Ví dụ cơng thứ c X b 22 b 4ac 2a 23 24 8/24/2011 Document Object Model (DOM) 4.2 CML - Ngôn... biệ t chữ hoa chữ thư ng Bao gồ m: chữ cái, chữ số , dấ u “_”, dấ u ? ?-? ??, dấ u “:” ng không đư ợ c bắ t đầ u chữ số , dấ u “ -? ?? 2.1 Quy tắ c chung XML version= “1.0”: cho biế t số hiệ u phiên bả... dụ ng standalone= “no”: cho biế t tài liệ u khơng có liên quan đế n tài liệ u khác encoding= “UTF-8”: cho biế t kiể u mã hóa ngôn ngữ 10 2.1 Quy tắ c chung XML Tạ o khai báo XML Tạ o khai báo XML