Khóa luận Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện
Bạn đang xem 20 trang mẫu của tài liệu "Khóa luận Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- khoa_luan_tim_hieu_ngon_ngu_xml_mot_so_ung_dung_trong_linh_v.pdf
Nội dung text: Khóa luận Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện MỞ ĐẦU 1. Tính cấp thiết của đề tài Trong xã hội thông tin ngày nay, thông tin là yếu tố quan trọng bậc nhất trong mọi hoạt động của đời sống, mọi ngành nghề trong xã hội. Sự bùng nổ thông tin khiến cho thông tin trở thành nguồn tài nguyên khổng lồ mà con người cần nỗ lực để có thể làm chủ. Một trong những yếu tố thúc đẩy việc sản sinh thông tin với khối lượng ngày càng lớn như vậy chính là mạng Internet, đồng thời mạng Internet cũng là công cụ hữu hiệu để lưu trữ và truyền tải thông tin. Với hệ thống World Wide Web khổng lồ, con người có thể dễ dàng tìm kiếm, nắm bắt, trao đổi thông tin từ khắp nơi trên thế giới. World Wide Web (hiểu ngắn gọn là “Web”) là tập hợp các tài liệu siêu văn bản được liên kết với nhau và truy cập thông qua mạng Internet. Với một trình duyệt Web, ta có thể xem được các trang Web chứa đầy đủ văn bản, hình ảnh, âm thanh, và có thể di chuyển qua lại sử dụng các siêu liên kết (hyperlinks). Các trang Web như vậy được tạo lập nên nhờ các ngôn ngữ đánh dấu, mà được biết đến nhiều nhất là ngôn ngữ đánh dấu siêu văn bản - HTML (HyperText Markup Language). HTML là phương tiện để mô tả cấu trúc của thông tin văn bản trong một tài liệu bằng cách hiển thị văn bản dưới dạng đường link, đầu mục, đoạn văn, danh sách, HTML được viết dưới dạng các thẻ (tags) đặt trong cặp dấu ngoặc nhọn . Tuy nhiên, HTML có những hạn chế nhất định. Với HTML, người sử dụng chỉ dừng lại ở việc xem tài liệu chứ họ không thể thao tác với chúng, tạo lập chúng theo định dạng mong muốn. Với thực tế là HTML thì có nhiều hạn chế, trong khi SGML lại quá phức tạp không thể ứng dụng, vào cuối những năm 90, các nhà nghiên cứu đã sáng tạo ra ngôn ngữ đánh dấu mở rộng - XML (eXtensible Markup Language). Tính linh hoạt và khả năng ứng dụng cao giúp cho XML nhanh chóng được chấp nhận bởi các nhà chuyên môn Phùng Thanh Vân. K50 Thông tin - Thư viện
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện (W3C - World Wide Web Consortium đã ngay lập tức định hình HTML thành một ứng dụng XML với kết quả là XHTML). Hiện nay, XML được ứng dụng rộng rãi trong rất nhiều lĩnh vực, và lĩnh vực Thông tin - Thư viện cũng đã áp dụng XML để hoàn thiện công tác của mình. Từ thực tế này, là sinh viên của ngành Thông tin - Thư viện, tôi nghĩ rằng việc nghiên cứu về XML và ứng dụng của nó là hoàn toàn cần thiết. Chính vì vậy, tôi đã lựa chọn thực hiện đề tài “Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện”. 2. Mục đích nghiên cứu Việc nghiên cứu đề tài này trước hết giúp tôi tìm hiểu một cách khái quát về XML, ứng dụng của nó nói chung và đặc biệt trong lĩnh vực Thông tin - Thư viện. Từ việc hiểu về cách thức tạo lập cũng như tiện ích ứng dụng của ngôn ngữ đánh dấu, tôi có thể đưa ra một số giải pháp, kiến nghị giúp nâng cao hiệu quả sử dụng nó trong lĩnh vực Thông tin - Thư viện của mình. 3. Phạm vi nghiên cứu Vấn đề XML là vấn đề rất rộng lớn, với XML, rất nhiều ứng dụng cũng như tiện ích có thể được tạo ra, tùy biến theo mong muốn của từng cá nhân, từng lĩnh vực ngành nghề cụ thể. Chính vì vậy, với thời gian tìm hiểu có hạn, và trong phạm vi trình bày của một Khóa luận, tôi chỉ có thể nêu ra những khái niệm cơ bản, cấu trúc, cách hiển thị tài liệu XML trong trình duyệt và một số ứng dụng của XML trong lĩnh vực Thông tin - Thư viện. 4. Phương pháp nghiên cứu Để thực hiện Khóa luận này, về mặt phương pháp luận tôi sử dụng phương pháp nghiên cứu tài liệu và phương pháp hỏi ý kiến chuyên gia. Tài liệu được tìm kiếm chủ yếu trên các trang web, đặc biệt là trang web của Thư viện Quốc hội Mỹ. Sau khi thu thập, tham khảo tài liệu về ngôn ngữ XML, tôi thực hiện phương pháp khảo sát, đánh giá, so sánh với tình hình sử dụng thực tế của nó trong một số lĩnh vực và đặc biệt là lĩnh vực Thông tin - Thư viện. Phùng Thanh Vân. K50 Thông tin - Thư viện 2
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện 5. Đóng góp về lý luận và thực tiễn của Khóa luận Thực hiện đề tài Khóa luận này, tôi hy vọng có thể có những đóng góp như sau: - Khái quát và cung cấp được cho người đọc những thông tin cơ bản về các loại ngôn ngữ đánh dấu nói chung và ngôn ngữ đánh dấu mở rộng XML nói riêng, cùng với tình hình phát triển và ứng dụng của chúng. - Giới thiệu một vài ứng dụng quan trọng của XML trong lĩnh vực Thông tin - Thư viện và đưa ra các kiến nghị nhằm đẩy mạnh việc ứng dụng, nâng cao hiệu quả của loại ngôn ngữ này tại Việt Nam. 6. Bố cục của Khóa luận Phần nội dung của Khóa luận gồm 4 chương như sau: . Chương 1. Tổng quan về ngôn ngữ đánh dấu - Markup Language. Chương này nêu tổng quan về khái niệm và việc sử dụng một số loại ngôn ngữ đánh dấu cơ bản, đi sâu hơn vào ngôn ngữ đánh dấu siêu văn bản HTML. . Chương 2. Ngôn ngữ đánh dấu mở rộng - XML. Chương này đi sâu tìm hiểu về ngôn ngữ XML, cấu trúc, các thành phần cơ bản của ngôn ngữ này. . Chương 3. Một số ứng dụng XML trong lĩnh vực Thông tin - Thư viện. Chương này giới thiệu một số ứng dụng của XML trong hoạt động Thông tin - Thư viện: MARC XML, METS, và MODS. . Chương 4. Đánh giá và kiến nghị. Phùng Thanh Vân. K50 Thông tin - Thư viện 3
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện CHƯƠNG 1 TỔNG QUAN VỀ NGÔN NGỮ ĐÁNH DẤU - MARKUP LANGUAGE Ngôn ngữ đánh dấu là một tập hợp các ghi chú cho văn bản mô tả cách chúng được cấu trúc, trình bày, hoặc định dạng. Ngôn ngữ đánh dấu có thể là dạng viết tay hoặc dạng mã đánh dấu sử dụng trong hệ thống xử lý văn bản của máy tính. Ví dụ điển hình nhất về ngôn ngữ đánh dấu chính là Ngôn ngữ đánh dấu siêu văn bản - HTML, một trong số các giao thức của World Wide Web. Dưới đây là khái niệm về một số loại ngôn ngữ đánh dấu. 1.1. Ngôn ngữ đánh dấu tổng quát - GML GML (Generalized Markup Language) là ngôn ngữ định dạng tài liệu của IBM, nó mô tả một tài liệu về mặt cấu trúc tổ chức, các phần nội dung và mối quan hệ giữa chúng. GML cho phép mô tả các phần của một tài liệu theo thứ bậc đề mục: Tên phần/chương, các đoạn văn bản trong đó, danh mục, bảng biểu, GML là nền tảng để phát triển các loại ngôn ngữ đánh dấu sau này. 1.2. Ngôn ngữ đánh dấu tổng quát chuẩn - SGML SGML (Standard Generalized Markup Language) được phát triển lên từ GML. Năm 1986, SGML được tổ chức ISO công nhận là chuẩn lưu trữ và chuyển đổi dữ liệu (ISO 8879:1986). SGML bản thân nó không phải là một ngôn ngữ tư liệu, nó là ngôn ngữ dùng để đặc tả các ngôn ngữ khác, nói cách khác, SGML là một loại siêu ngôn ngữ hay siêu dữ liệu (metadata). SGML được thiết kế với mục đích để chia sẻ các dữ liệu đọc máy từ hệ thống này sang hệ thống khác mà không bị mất dữ liệu. Nó cũng được sử Phùng Thanh Vân. K50 Thông tin - Thư viện 4
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện dụng trong việc in ấn và xuất bản. Tuy nhiên, do việc sử dụng SGML quá phức tạp và phải tốn nhiều công sức để thực hiện nên SGML không được mở rộng áp dụng đối với mục đích sử dụng thông thường. 1.3. Ngôn ngữ đánh dấu siêu văn bản - HTML 1.3.1. Khái quát chung HTML (HyperText Markup Language) là loại ngôn ngữ đánh dấu nổi trội cho các trang Web. Như đã định nghĩa ở trên, HTML cung cấp phương tiện để mô tả cấu trúc của thông tin văn bản trong một tài liệu bằng cách hiển thị văn bản dưới dạng đường link, đầu mục, đoạn văn, danh sách, Giống với SGML, HTML sử dụng các thẻ (tags) đặt trong cặp dấu ngoặc nhọn . Các thẻ HTML chỉ là một tập hợp nhỏ của SGML. HTML là ngôn ngữ đánh dấu chú trọng nhiều đến cách thức trình bày tài liệu mà ít chú trọng cấu trúc, ngữ nghĩa của tài liệu. Cấu trúc của một trang HTML cơ bản có dạng như sau: Tiêu đề trang web Phần thân trang web Thẻ đầu tiên trong tài liệu HTML là . Thẻ này báo cho trình duyệt biết đây là điểm khởi đầu của một tài liệu HTML. Thẻ cuối cùng của tài liệu là , thẻ này báo cho trình duyệt biết đây là điểm kết thúc của văn bản. Phùng Thanh Vân. K50 Thông tin - Thư viện 5
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Đoạn chữ nằm giữa hai thẻ và là thông tin header, nó xác định phần mở đầu của tài liệu. Đoạn chữ nằm giữa cặp thẻ là tiêu đề của văn bản. Dòng tiêu đề này sẽ xuất hiện ở thanh trạng thái của trình duyệt web. Đoạn chữ nằm giữa cặp thẻ là nội dung văn bản, chính là những gì sẽ thể hiện trên trình duyệt. Các thẻ của HTML không phân biệt chữ viết hoa và chữ viết thường. Có thể thêm vào các thuộc tính cho các thẻ của HTML. Những thuộc tính này cung cấp thông tin về thành phần HTML của trang Web. Ví dụ: báo cho trình duyệt biết rằng màu nền của trang là màu đỏ. Thuộc tính luôn luôn đi kèm một cặp name-value với cú pháp: name=“value”. 1.3.2. Cú pháp các thẻ HTML Thẻ cấu trúc: . HTML Cặp thẻ này được sử dụng để xác nhận một tài liệu là tài liệu HTML. Toàn bộ nội dung của tài liệu đặt giữa cặp thẻ này. Cú pháp: Nội dung tài liệu . HEAD Thẻ Head được sử dụng để xác định phần mở đầu cho tài liệu. Cú pháp: Phần mở đầu tài liệu (Header) Phùng Thanh Vân. K50 Thông tin - Thư viện 6
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện . TITLE Cặp thẻ này xác định tiêu đề của tài liệu, chỉ có thể sử dụng trong phần mở đầu của tài liệu, tức là nó phải nằm trong phạm vi giới hạn bởi cặp thẻ HEAD. Cú pháp: Tiêu đề tài liệu . BODY Cặp thẻ này dùng để xác định phần nội dung chính (phần thân) của tài liệu. Trong phần thân có thể chứa các thông tin định dạng nhất định để đặt ảnh nền cho tài liệu, màu nền, đặt lề, Những thông tin này được đặt ở phần tham số của thẻ. Cú pháp cơ bản: Phần nội dung Bắt đầu từ HTML 3.2, có nhiều thuộc tính được sử dụng trong thẻ BODY. Một số thuộc tính chính như sau: - BACKGROUND: Đặt một ảnh làm nền cho văn bản. Giá trị của tham số (đặt sau dấu “=”) là URL của file ảnh. - BGCOLOR: Đặt màu cho trang hiển thị. Nếu cả hai tham số BACKGROUND và BGCOLOR cùng có giá trị thì trình duyệt sẽ hiển thị màu nền trước, sau đó mới tải ảnh lên trên. - TEXT: Xác định màu chữ cho văn bản, kể cả các đề mục. - ALINK, VLINK, LINK: Xác định màu sắc cho các siêu liên kết trong văn bản. Thẻ định dạng khối: Phùng Thanh Vân. K50 Thông tin - Thư viện 7
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện . Thẻ P Thẻ được sử dụng để định dạng một đoạn văn bản. Cú pháp: Nội dung đoạn văn bản . Các định dạng đề mục HTML hỗ trợ 6 mức đề mục. Ở đây, đề mục chỉ là các chỉ dẫn định dạng về mặt Logic, tức là mỗi trình duyệt sẽ thể hiện đề mục dưới một khuôn dạng thích hợp. Có thể ở trình duyệt này là font chữ 14 nhưng sang trình duyệt khác là font chữ 20. Đề mục cấp 1 là cao nhất và giảm dần đến cấp 6. Văn bản ở đề mục cấp 5 hay cấp 6 thường có kích thước nhỏ hơn văn bản thông thường. Dưới đây là các thẻ dùng để dịnh dạng văn bản ở dạng đề mục: : Định dạng đề mục cấp 1 : Định dạng đề mục cấp 2 : Định dạng đề mục cấp 3 : Định dạng đề mục cấp 4 : Định dạng đề mục cấp 5 : Định dạng đề mục cấp 6 . Thẻ xuống dòng BR Thẻ này không có thẻ đóng tương ứng , nó có tác dụng chuyển sang dòng mới. Nội dung văn bản trong tài liệu HTML sẽ được trình duyệt Web thể hiện liên tục, các khoảng trắng liền nhau, các ký tự Tab, ký tự xuống dòng đều được coi như một khoảng trắng. Để xuống dòng trong tài liệu, ta phải sử dụng thẻ . . Thẻ PRE Phùng Thanh Vân. K50 Thông tin - Thư viện 8
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Thẻ này dùng để giới hạn đoạn văn bản đã được định dạng sẵn. Văn bản ở giữa hai thẻ này sẽ được thể hiện giống hệt như khi chúng được đánh vào, ví dụ dấu xuống dòng trong đoạn văn bản giới hạn bởi thẻ sẽ giữ nguyên ý nghĩa chuyển sang dòng mới (trình duyệt sẽ không coi chúng như dấu cách). Cú pháp: Văn bản đã được định dạng Các thẻ định dạng danh sách: Cú pháp: Mục thứ nhất Mục thứ hai Có bốn kiểu danh sách: - Danh sách không sắp xếp (hay không đánh số): - Danh sách có sắp xếp (hay có đánh số): , mỗi mục trong danh sách được sắp xếp thứ tự. - Danh sách thực đơn: - Danh sách phân cấp: Với nhiều trình duyệt, danh sách phân cấp và danh sách thực đơn giống danh sách không đánh số, có thể dùng lẫn với nhau. Với thẻ OL, cú pháp như sau: Mục thứ nhất Mục thứ hai Phùng Thanh Vân. K50 Thông tin - Thư viện 9
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Mục thứ ba Trong đó: TYPE =1: Các mục được sắp xếp theo thứ tự 1, 2, 3 =a: Các mục được sắp xếp theo thứ tự a, b, c =A: Các mục được sắp xếp theo thứ tự A, B, C =i: Các mục được sắp xếp theo thứ tự i, ii, iii =I: Các mục được sắp xếp theo thứ tự I, II, III Ngoài ra còn thuộc tính START= xác định giá trị khởi đầu cho danh sách. Thẻ có thuộc tính TYPE= xác định ký hiệu đầu dòng đứng trước mỗi mục trong danh sách. Thuộc tính này có thể nhận giá trị: disc (chấm tròn đậm); circle (vòng tròn); square (hình vuông). Các thẻ định dạng ký tự: . Các thẻ định dạng in ký tự - , : Chữ in đậm - : Chữ in nghiêng - : Chữ gạch chân - : Đánh dấu đoạn văn bản giữa cặp thẻ này là định nghĩa của một từ. Chúng thường được in nghiêng hoặc thể hiện bằng một kiểu đặc biệt nào đó. - , : Chữ gạch ngang thân - : In chữ lớn hơn bình thường bằng cách tăng kích thước Font hiện thời lên một. Việc dùng các thẻ lồng nhau sẽ tạo nên Phùng Thanh Vân. K50 Thông tin - Thư viện 10
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện hiệu ứng chữ tăng dần. Đối với trình duyệt có giới hạn kích thước font chữ, vượt qua giới hạn này, các thẻ sẽ không có ý nghĩa. - : Ngược lại với thẻ , in chữ nhỏ hơn bình thường bằng cách giảm kích thước Font hiện thời đi một. Việc dùng các thẻ lồng nhau sẽ tạo hiệu ứng chữ giảm dần. Đối với trình duyệt có giới hạn kích thước font chữ, vượt qua giới hạn này, các thẻ sẽ không có ý nghĩa. - : Chọn kiểu chữ hiển thị. Trong thẻ này có thể đặt hai tham số Size= ; Color= xác định cỡ chữ và màu sắc đoạn văn bản nằm giữa hai thẻ. . Căn lề văn bản Việc căn lề văn bản giúp cho trang web có được một bố cục đẹp. Một số các thẻ định dạng như: P, HN, IMG đều có tham số Align cho phép căn lề cho các đoạn văn bản nằm trong phạm vi giới hạn của các thẻ đó. Các giá trị cho tham số Align: - LEFT: Căn lề trái - CENTER: Căn giữa trang - RIGHT: Căn lề phải Ngoài ra, có thể sử dụng thẻ CENTER để căn giữa một khối văn bản, cú pháp: Đoạn văn bản cần căn chỉnh Trên đây là cú pháp và cách sử dụng một số thẻ cơ bản trong tài liệu HTML. Ngoài những thẻ kể trên, HTML còn sử dụng rất nhiều thẻ khác như: thẻ chèn âm thanh, hình ảnh; thẻ định dạng bảng biểu Với số lượng thẻ phong phú, việc tạo ra tài liệu HTML khá đơn giản, tuy nhiên cần phải sử dụng chúng một cách hợp lý, linh hoạt mới có thể cho một trang HTML đẹp mắt. Phùng Thanh Vân. K50 Thông tin - Thư viện 11
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện CHƯƠNG 2 NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG - XML 2.1. Quá trình phát triển Như đã nói ở trên, HTML là một ứng dụng của SGML với ý tưởng ban đầu là tách biệt nội dung tài liệu khỏi cách thức trình bày, nói cách khác, HTML chú trọng đến cách thức trình bày chứ ít chú ý đến cấu trúc ngữ nghĩa của tài liệu. HTML bắt đầu khiến mọi thứ trở nên sai lệch. Ví dụ, thẻ trong trang Web nghĩa là “emphasize” - nhấn mạnh. Người sử dụng sẽ cho hiển thị nội dung được nhấn mạnh này bằng cách in đậm chữ, hoặc in màu khác Việc này không làm hài lòng những người thiết kế Web, họ muốn giữ cố định cách hiển thị chính xác của trang Web. Một vấn đề khác là cuộc cạnh tranh quyết liệt giữa Netscape và Microsoft đã dẫn tới việc “rạn nứt” các tiêu chuẩn, gây khó khăn lớn cho các nhà phát triển Web. Các trang Web bắt đầu được sử dụng cho những mục đích đi xa khỏi khái niệm ban đầu, gồm có khai thác đa phương tiện, hình ảnh động, các ứng dụng trực tuyến, thương mại điện tử Trình duyệt Web cũng phải nới lỏng đối với những trang Web viết vội đã làm trái quy tắc như sử dụng thẻ mở mà không có thẻ đóng tương ứng. Kết quả, sự thiếu nguyên tắc như vậy đã trở thành rào cản cho việc khai thác nội dung trang Web, hay việc sử dụng HTML cho dữ liệu có cấu trúc. Do HTML quá hạn chế, trong khi SGML lại quá phức tạp để thực hiện, các nhà nghiên cứu đã sáng tạo ra XML - ngôn ngữ đánh dấu mở rộng. Với việc sử dụng XML, có thể lưu trữ được hầu như bất kỳ loại dữ liệu nào, ở dạng mà các ứng dụng có thể dễ dàng tiếp nhận và xử lý. XML là ngôn ngữ xây dựng cấu trúc tài liệu văn bản, dựa theo chuẩn SGML. XML được W3C (World Wide Web Consortium: tổ chức độc lập định ra tiêu chuẩn cho trình duyệt Web, máy chủ và ngôn ngữ) phát triển, nhưng đặc tả XML lại do Netscape, Microsoft và các thành viên của dự án Text Encoding Initiative (TEI) xây dựng. Phùng Thanh Vân. K50 Thông tin - Thư viện 12
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện W3C chính thức thông qua chuẩn XML vào tháng 2 năm 1998. Thực chất, XML phát triển không phải với mục đích trang trí trang Web mà là trợ giúp cấu trúc cho tài liệu và dữ liệu để chúng có thể trao đổi giữa các phòng ban, khách hàng và nhà cung cấp. Cho dù XML vẫn chưa phổ biến, song đang được nhiều đối tượng quan tâm bởi nó cho phép chia sẻ và sử dụng thông tin phân tán trên các hệ thống khác nhau. 2.2. Các phần của tài liệu XML . Khai báo (Declaration): Dòng khai báo trên cho biết nội dung tiếp theo là tài liệu XML, hiện sử dụng theo phiên bản 1.0 (phiên bản XML duy nhất được định nghĩa hoàn chỉnh hiện nay) và mã hóa ký tự theo UTF-8 (phiên bản thu gọn 8-bit của Unicode). Khai báo thực thể độc lập (standalone): đặt thuộc tính này là “yes” nếu tài liệu không tham chiếu đến các thực thể khác bên ngoài (external entity), nếu ngược lại, ta đặt giá trị “no”. . Chú thích (Comment): Chú thích giúp hiểu rõ hơn một phần nào đó trong cấu trúc của tài liệu XML. Các chú thích trong XML có cú pháp như sau: . Chỉ thị xử lý (Processing instruction): Thông tin thêm để các ứng dụng phân tích, xử lý tài liệu. Tất cả các chỉ thị xử lý XML bắt đầu bằng . Ví dụ: . Không gian tên (Namespace): Phùng Thanh Vân. K50 Thông tin - Thư viện 13
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Thuộc tính “xmlns” vừa để định rõ không gian tên mặc định cho toàn bộ nội dung phần tử dữ liệu, vừa là tiền tố để giải quyết vấn đề xung đột về tên. Tên đầy đủ của không gian tên phải là duy nhất. Ta dùng định danh tài nguyên duy nhất (URI) để đặt cho không gian tên cần truy xuất. Hiện nay, do URI chưa phổ biến nên thường dùng URL làm định danh duy nhất, vì vậy nó trông giống như một địa chỉ Web dù trên thực tế nó chỉ là một cái tên. Ví dụ: . Các Phần tử (Elements) và Thuộc tính (Attributes): Đây là thành phần căn bản khi xây dựng tài liệu XML. Phần tử mang tính thứ bậc, phải có thẻ mở và thẻ đóng , có thể chứa hoặc không chứa thuộc tính ở thẻ mở. Các phần tử rỗng là các phần tử không có nội dung, và có thể sử dụng kết hợp thẻ mở và đóng, như . Ví dụ: . Dữ liệu nội dung: Là phần văn bản tạo nên nội dung trong các thẻ phần tử. Tương tự trong HTML, các thẻ phần tử có thể bao chứa lẫn nhau. 2.3. Tài liệu XML 2.3.1. Tài liệu XML hợp khuôn dạng (Well-formed document) Khái quát chung: Một tài liệu chỉ có thể hợp khuôn dạng khi nó tuân theo các quy tắc cú pháp của XML được thiết lập bởi W3C. Các quy tắc này được nêu ra trong đặc tả XML 1.0. Có thể nêu ra một số quy tắc như sau: - Phần khai báo phải đặt ở dòng đầu tiên của trang tài liệu. Phùng Thanh Vân. K50 Thông tin - Thư viện 14
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện - Các mã đánh dấu có vị trí nhất định của nó và không được thay đổi. Tài liệu XML chỉ có một thành phần gốc duy nhất, các thẻ bộ phận không được trùng với thẻ gốc và phải nằm trong thẻ gốc. - Một thuộc tính chỉ có thể xuất hiện một lần trong cùng một thẻ mở. - Phân biệt giữa viết chữ hoa và chữ thường. - Phần tử khác rỗng phải bao gồm đầy đủ thẻ mở và thẻ đóng, phần tử rỗng kết thúc bằng ký tự />. - Các giá trị thuộc tính phải đặt trong dấu nháy kép “ ”. - Một vài ký tự mang ý nghĩa đặc biệt trong XML. Ví dụ nếu đặt ký tự “ greater than & & ampersand ' „ apostrophe " “ quotation mark Để hiểu về khuôn dạng hợp lệ, có thể nhìn vào trường hợp tài liệu không hợp khuôn dạng như ở ví dụ dưới đây: Ứng dụng XML Những điều cần biết về XML Phùng Thanh Vân. K50 Thông tin - Thư viện 15
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Ở đây, tài liệu XML không hợp khuôn dạng vì các thẻ sắp xếp sai vị trí, thẻ và đan xen vào nhau. Nếu là HTML, trình duyệt vẫn hiểu ra và hiển thị đúng, nhưng với XML, đòi hỏi phải đúng khuôn dạng hoàn toàn. Định dạng và dữ liệu ký tự: Tài liệu XML được tạo thành từ thành phần định dạng và thành phần dữ liệu ký tự. Định dạng trong tài liệu giúp tạo nên một cấu trúc. Định dạng bao gồm: - Thẻ bắt đầu, thẻ kết thúc - Các phần tử thẻ rỗng - Các tham chiếu thực thể, tham chiếu ký tự - Lời chú thích - Phân đoạn CDATA - Khai báo kiểu tài liệu - Chỉ thị xử lý Tất cả các dữ liệu còn lại trong tài liệu XML không phải là định dạng đều được xem là dữ liệu ký tự. Xem xét ở ví dụ đã nêu: Ứng dụng XML Phùng Thanh Vân. K50 Thông tin - Thư viện 16
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Những điều cần biết về XML Các phần tử định dạng đó là , hoặc Còn lại, phần văn bản “Ứng dụng XML”, “Những điều cần biết về XML” là dữ liệu ký tự, chúng không phải là phần định dạng của tài liệu. Khoảng trắng: Các ký tự cách, tab, xuống dòng, ký tự lùi đầu dòng đều được xem là khoảng trắng đối với các trình phân tích XML. Ví dụ, hai tài liệu XML dưới đây hoàn toàn tương đương nhau: Ứng dụng XML Những điều cần biết về XML và Ứng dụng XML Phùng Thanh Vân. K50 Thông tin - Thư viện 17
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Những điều cần biết về XML Phần tử gốc (root element): Tài liệu XML được coi là hợp khuôn dạng nếu chứa đựng duy nhất một phần tử gốc. Phần tử gốc này chứa đựng tất cả các phần tử và các cặp thẻ khác trong tài liệu. Phần tử gốc được xem là phần rất quan trọng trong cấu trúc XML. Như trong ví dụ nêu trên, phần tử gốc chính là cặp thẻ . Có thể đặt tên bất kỳ cho phần tử gốc. Thuộc tính (Attribute): Thuộc tính của các thẻ trong tài liệu XML tương tự như thuộc tính của các thẻ HTML. Thuộc tính được kết hợp theo cặp name=value. Thuộc tính cho phép xác định thêm thông tin và ý nghĩa của thẻ. Thuộc tính được đặt bên trong thẻ mở và thẻ rỗng. Phân đoạn CDATA: Như đã đề cập ở trên, các ký tự đặc biệt như “<” hay “&” khi đặt trong phần tử dữ liệu XML cần sử dụng các tham chiếu thay thế để tránh gây ra lỗi. Nhưng trong trường hợp muốn lưu toàn bộ dữ liệu từ một tài liệu XML khác vào tài liệu XML của mình sẽ gặp khó khăn vì tài liệu gốc sẽ bị xáo trộn bởi các thẻ nhập vào từ tài liệu bên ngoài. Lúc này, sử dụng phần tử CDATA sẽ báo cho trình phân tích xem toàn bộ nội dung của tài liệu ngoại như là dữ liệu chứ không phải cấu trúc bao gồm các thẻ. Tất cả dữ liệu đặt trong phân đoạn CDATA sẽ không được trình phân tích xem như cấu trúc XML, chúng chỉ là nội dung văn bản bình thường. Phùng Thanh Vân. K50 Thông tin - Thư viện 18
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Phân đoạn CDATA cũng là một phần tử nhưng bao gồm chỉ một thẻ. Thẻ này bắt đầu bằng “ ”. Giữa dấu hiệu bắt đầu và kết thúc là nội dung văn bản mà trình phân tích sẽ không đụng đến. Trên đây là định nghĩa và cú pháp của các thành phần XML cơ bản. Hợp khuôn dạng là yêu cầu tối thiểu mà tài liệu XML cần tuân thủ. Tiếp theo, tài liệu XML còn yêu cầu một điều kiện nữa đó là tính hợp lệ khi định nghĩa kiểu tư liệu cho các phần tử trong tài liệu. 2.3.2. Tài liệu XML hợp lệ (Valid document) Một tài liệu XML được gọi là hợp lệ khi nó là tài liệu được kết hợp với định nghĩa kiểu tư liệu (Document Type Definition - DTD) và tuân theo chuẩn DTD. Các định nghĩa DTD nhằm xác định cú pháp đúng đắn cho tài liệu. DTD có thể được chứa trong một file tách biệt hoặc chứa ngay trong chính tài liệu, DTD sử dụng phần tử hay thẻ Ví dụ về DTD: nhande (#PCDATA)> Phùng Thanh Vân. K50 Thông tin - Thư viện 19
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện tacgia (#PCDATA)> thongtinxuatban (noixb, nhaxb, namxb)> noixb (#PCDATA)> nhaxb (#PCDATA)> namxb (#PCDATA)> ]> Ở đây, nhìn vào khai báo, ta có thể biết được ý nghĩa và cấu trúc của tài liệu: TAILIEU được định nghĩa (bằng khai báo được dùng để bắt đầu định nghĩa kiểu tư liệu DTD cho một phần tử. Khai báo phần tử có cú pháp: Phần tử rỗng được khai báo với từ khóa EMPTY: ANY: Khi khai báo một phần tử với nội dung ANY có nghĩa là phần tử khai báo có thể chứa bất kỳ kiểu nội dung nào, kể cả mọi phần tử khác. Nếu một phần tử được khai báo là ANY thì trình phân tích sẽ không kiểm tra cú pháp hay xác định tính hợp lệ của nội dung phần tử. Cú pháp: Phần tử có chứa phần tử con: Phùng Thanh Vân. K50 Thông tin - Thư viện 20
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện . Khai báo phần tử DTD mà nội dung có thể chứa những phần tử con khác bằng cách định tên các phần tử con trong cặp dấu ngoặc đơn. Cú pháp: . Khai báo phần tử con chỉ được xuất hiện một lần, cú pháp: Ví dụ: . Trường hợp này, phần tử con “tensach” chỉ được xuất hiện một lần trong phần tử SACH. . Khai báo phần tử con xuất hiện ít nhất một lần, cú pháp: Ví dụ: . Dấu + để khai báo rằng phần tử “tensach” phải xuất hiện ít nhất một lần trong phần tử SACH. . Khai báo phần tử con có thể 0 lần hoặc nhiều hơn, cú pháp: . Khai báo phần tử con có thể xuất hiện 0 hoặc 1 lần, cú pháp: #PCDATA: Khai báo định nghĩa #PCDATA cho biết phần tử đó chỉ chứa dữ liệu văn bản thô, không thuộc phần định dạng. Có thể chứa bất kỳ dữ liệu văn bản nào trong #PCDATA (các dữ liệu này không được chứa thẻ định dạng), chúng sẽ được trình phân tích xem như dữ liệu thể hiện của phần tử thẻ trong tài liệu XML. Cú pháp: 2.3.3. Bộ phân tích XML (XML Parser) Bộ phân tích XML là các gói phần mềm được sử dụng như một phần kèm theo của ứng dụng. Có rất nhiều thư viện cung cấp các hàm, cho phép Phùng Thanh Vân. K50 Thông tin - Thư viện 21
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện phân tích nội dung và trích xuất dữ liệu của XML khá đơn giản. Các trình phân tích và thư viện thường dùng nhất: . XML for Java (XML4J): Thư viện phân tích tài liệu XML phát triển bởi IBM AlphaWorks. Thư viện này rất nổi tiếng và được sử dụng rộng rãi trong hầu hết các ví dụ của W3C. Địa chỉ tham khảo: www.alphaworks.ibm.com/tech/xml4j. . Microsoft XML Parser: Trình phân tích sử dụng bởi trình duyệt Internet Explorer cài đặt thông qua kiến trúc COM của Windows. Nếu sử dụng hệ điều hành Windows với Internet Explorer 5 trở lên, thì trình phân tích này là có sẵn kèm theo. Có thể download bản tách rời của trình phân tích này tại địa chỉ: . Java Standard Extension for XML: Đây là gói thư viện dành cho Java xây dựng bởi SunMicrosystem. Download gói này về dùng chung với các ứng dụng Java tại địa chỉ . Python XML Parser: Trình phân tích tài liệu XML dựa vào ngôn ngữ Python cho Linux và UNIX. Địa chỉ Có thể sử dụng các máy tìm tin như Yahoo hay MSN để tìm kiếm các bộ phân tích với từ khóa “XML Parser”. Các trình phân tích thường tách dữ liệu XML ra thành từng mẫu nhỏ và khiến chúng có thể truy xuất được bởi mã lệnh của chương trình. Một vài trình phân tích kiêm luôn cả chức năng kiểm tra khuôn dạng hoặc tính hợp lệ của tài liệu XML. Mặc dù vậy, nếu muốn có một công cụ vừa kiểm tra được lỗi hợp khuôn dạng vừa kiểm tra được tính hợp lệ của tài liệu XML, có thể cần đến những bộ kiểm tra chuyên dụng hơn. Phùng Thanh Vân. K50 Thông tin - Thư viện 22
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện 2.3.4. Bộ kiểm tra XML (XML Validator) Để biết được tài liệu XML viết ra có đúng khuôn dạng và hợp lệ hay không, ta sử dụng bộ kiểm tra XML (XML Validator). Bộ kiểm tra XML cho phép khả năng mạnh mẽ kiểm tra tính đúng đắn của tài liệu XML trước khi đưa vào sử dụng. Các bộ kiểm tra tính hợp lệ của XML là những gói phần mềm cho phép kiểm tra một số chuẩn trên XML và đưa ra lời nhận xét. Ví dụ, nếu sử dụng bộ phân tích XML4J của IBM, có thể dùng đối tượng DOMWriter để làm bộ kiểm tra Validator, thực hiện kiểm tra tính hợp lệ của tài liệu XML. Nếu tài liệu XML hợp lệ, DOMWriter chỉ hiển thị lại nội dung file XML. Tuy nhiên, nếu phát hiện các lỗi XML không hợp lệ, DOMWriter sẽ chỉ rõ vị trí của thẻ gây lỗi. Nếu phát hiện bất kỳ lỗi nào, trình duyệt hay các bộ phân tích XML cũng sẽ ngưng ngay quá trình xử lý và không bỏ qua lỗi như khi phân tích HTML. Tuy nhiên, kiểm tra tính hợp lệ của tài liệu XML theo cách trên đòi hỏi phải chạy trên Java. Bộ kiểm tra tính hợp lệ của XML có thể là một chương trình Windows thông thường tương tự các trình soạn thảo. Dưới đây là địa chỉ một số bộ kiểm tra XML, chúng không cần dùng đến Java như DOMWriter. Tuy nhiên, các bộ kiểm tra Validator thường phân làm hai loại. Loại ứng dụng cài đặt như một chương trình thông thường và một loại kiểm tra tài liệu trực tiếp trên Web. . XML Writer, XML: Đây là trình soạn thảo và kiểm tra tính hợp lệ của tài liệu XML rất đáng giá, là chương trình chạy độc lập. . Tidy: Đây là chương trình C có cả mã nguồn hướng dẫn cách phân tích và kiểm tra tính hợp lệ của tài liệu XML. Mã nguồn Tidy miễn phí và có thể download từ địa chỉ . là một địa chỉ cho phép kiểm tra tính hợp lệ của tài liệu XML ngay trên internet. Phùng Thanh Vân. K50 Thông tin - Thư viện 23
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện 2.3.5. CSS và XSL Muốn thể hiện nội dung của dữ liệu XML theo một định dạng tương tự HTML, phải dùng đến bảng định kiểu CSS và XSL. CSS thích hợp để định dạng tài liệu hướng về HTML. Có thể thay đổi font chữ, cỡ chữ, màu sắc, đặt hình ảnh và yêu cầu kết hợp định dạng của CSS với dữ liệu XML. Bản thân XML chỉ định nghĩa cấu trúc và lưu trữ dữ liệu, nó không có khả năng tự hiển thị và trình diễn nội dung tài liệu. CSS rút dữ liệu từ XML và đặt vào bảng định kiểu tạo thành một phiên bản trình diễn sau cùng. Bảng định kiểu CSS sẽ được nói rõ hơn ở phần sau. XSL là một cách khác để hiển thị XML. XSL (Extensible Style Language) là ngôn ngữ định kiểu mở rộng dựa trên cú pháp và nguyên tắc cấu thành của XML. XSL cho phép xử lý và trình diễn dữ liệu mạnh hơn CSS. XSL là một ngôn ngữ định kiểu có khả năng điều khiển động các phần tử thẻ và dữ liệu cần định dạng. XSL có thể sắp xếp lại các thẻ trong tài liệu, thay đổi cả nội dung thẻ, hiển thị một phần hay toàn bộ nội dung dữ liệu. Có thể nói, kết hợp XSL và XML là cách mạnh nhất để trình diễn và hiển thị dữ liệu. 2.4. Bảng định kiểu CSS và XSLT 2.4.1. Hiển thị tài liệu XML với CSS Bảng định kiểu CSS (Cascading style sheets) cung cấp một phương thức để hiển thị file XML, nó tách biệt cách thức trình bày khỏi nội dung tài liệu. CSS có ba thành phần: hiển thị (layout), hình thức in (typography), và màu sắc (color). Bằng cách kết hợp file XML và file CSS, xử lý chúng với một trình duyệt web sẽ giúp cho việc hiển thị nội dung tài liệu XML theo cách trình bày đẹp mắt và thu hút. File CSS được tạo nên bằng phần tử lựa chọn (selectors) và phần tử khai báo (declarations). Mỗi phần tử lựa chọn trong file CSS tương ứng với một phần tử trong file XML. Mỗi phần tử lựa chọn đi kèm với các khai báo để chỉ rõ cách thức mà tài liệu XML sẽ được hiển thị. Phùng Thanh Vân. K50 Thông tin - Thư viện 24
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Một ví dụ đơn giản: Ghi chú là những đoạn văn bản ngắn. Chúng không chứa quá nhiều nội dung. Dòng khai báo đầu tiên báo cho trình ứng dụng biết sẽ đọc file XML và cho hiển thị nó sử dụng file CSS có tên là note.css. Nếu muốn hiển thị nội dung file này giữa các đoạn văn cách nhau một dòng trống, thì file CSS sẽ như sau: note { display: block; } para { display: block; margin-bottom: 1em; } Trong file CSS này, có 2 phần tử lựa chọn tương ứng với mỗi phần tử trong file XML: note và para. Mỗi phần tử kết hợp với một hoặc một vài khai báo (cặp name/value) để mô tả cách mà nội dung phần tử đó sẽ được trình bày. Tên (name) được phân cách với giá trị (value) bằng dấu hai chấm (:), từng cặp tên/giá trị phân cách với nhau bằng dấu chấm phẩy (;), tất cả các khai báo liên kết với phần tử lựa chọn được nhóm với nhau bằng cặp dấu ngoặc nhọn {}. Có một điều lưu ý đó là không phải tất cả các trình duyệt web đều hỗ trợ CSS như nhau. Với Netscape Navigator 4.7 và Internet Explorer 5.0, việc hiển thị chỉ ở mức độ tối thiểu. Từ Mozilla 1.0 và Internet Explorer 6.0 thì việc thực hiện đã tốt hơn nhiều. Hiển thị (Display): Thuộc tính hiển thị được dùng để chỉ ra một phần tử dữ liệu có được hiển thị hay không, và nếu có thì sẽ hiển thị theo cách nào (ở đây chỉ là những cách hiển thị thông thường). Các giá trị quan trọng nhất để hiển thị là: Theo Phùng Thanh Vân. K50 Thông tin - Thư viện 25
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện dòng (inline), Theo khối (block), Liệt kê danh sách (list-item), hoặc Không hiển thị (none). Hiển thị theo dòng là giá trị mặc định, nghĩa là toàn bộ nội dung của phần tử dữ liệu sẽ hiển thị liền mạch, không xuống dòng. Hiển thị theo khối nghĩa là sau nội dung của một phần tử sẽ xuống một dòng. Nếu có nhiều đoạn văn, ta sử dụng cách hiển thị theo khối. Hiển thị theo dạng liệt kê cũng tương tự như hiển thị theo khối, nó sẽ hiển thị lùi đầu dòng văn bản chỉ một ít. Không hiển thị (giá trị none) nghĩa là nội dung phần tử dữ liệu sẽ không hiện ra, nó là nội dung ẩn. Ví dụ: display: none; display: inline; display: block; display: list-item; Lề (Margin): Thuộc tính lề được sử dụng để chỉ ra độ lớn của khoảng trắng bao quanh khối văn bản. Giá trị có thể được xác định bằng phần trăm (%), số điểm ảnh (pixels - px), hoặc đơn vị quy ước in truyền thống như đơn vị em (em). Khi thuộc tính lề ở dạng đơn giản nhất được cho giá trị, giá trị đó sẽ chỉ định đồng thời vào lề trên, dưới, trái, phải. Cũng có thể đặt lề cụ thể cho lề trên, dưới, trái, phải sử dụng các thuộc tính: margin-top, margin-bottom, margin-left, margin-right. Ví dụ: margin: 5%; margin: 10px; margin-top: 2em; margin-left: 85%; Phùng Thanh Vân. K50 Thông tin - Thư viện 26
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện margin-right: 50px; margin-bottom: 1em; Lùi đầu dòng (Text-indent): Cũng tương tự thuộc tính lề, thuộc tính lùi đầu dòng có thể lấy giá trị bằng phần trăm, pixels, hoặc đơn vị in. Thuộc tính này được sử dụng để chỉ ra những dòng cụ thể nào trong khối văn bản được lùi đầu dòng. Ví dụ: text-indent: 2em; text-indent: 3%; Căn lề (Text-align): Thuộc tính căn lề dùng để căn thẳng các dòng văn bản trong một khối văn bản. Các giá trị thông thường để căn lề là: căn thẳng phải, căn thẳng trái, căn giữa, căn đều hai bên: text-align: right; text-align: left; text-align: center; text-align: justify; Kiểu biểu tượng đánh dấu đầu dòng (List-style): Nếu muốn sử dụng biểu tượng đánh dấu đầu dòng, trước hết ta nên lựa chọn kiểu hiển thị liệt kê (list-item), sau đó định các giá trị kiểu biểu tượng muốn hiển thị đầu dòng như: hình tròn, hình vuông, đánh số thứ tự list-style: circle; list-style: square; list-style: disc; list-style: decimal; Phùng Thanh Vân. K50 Thông tin - Thư viện 27
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Kiểu chữ (Font-family): Giá trị kiểu chữ bao gồm tên font chữ và tên của bộ font chữ đó như serif hoặc sans-serif. Ví dụ: font-family: helvetica; font-family: times, serif; font-family: 'cosmic cartoon', sans-serif; Cỡ chữ (Font-size): Cỡ chữ có thể được xác định bằng con số chính xác hoặc bằng cỡ ước lượng như small, x-small, hay large Ví dụ: font-size: 12pt; font-size: small; font-size: x-small; font-size: large; font-size: xx-large; Kiểu font: Sử dụng thuộc tính kiểu font chữ để định cách hiển thị chữ, các giá trị thông thường là: chữ thường (normal), chữ nghiêng (italic), chữ đậm (bold). Kiểu font chia thành font-style và font-weight. Ví dụ: font-style: normal; font-style: italic; font-weight: normal; font-weight: bold; 2.4.2. Chuyển đổi XML với XSLT Ngoài việc sử dụng file CSS, có một phương thức khác để chuyển đổi tài liệu XML thành dạng tài liệu có thể đọc. Đó là Ngôn ngữ định kiểu mở Phùng Thanh Vân. K50 Thông tin - Thư viện 28
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện rộng dùng cho chuyển đổi - XSLT (Extensible Stylesheet Language Tranformation). XSLT là ngôn ngữ lập trình được thực hiện như một cấu trúc ngữ nghĩa của XML. Cũng như CSS, đầu tiên ta tạo một file XML, tiếp theo viết một file XSLT, sau đó dùng chương trình máy tính kết hợp hai file này tạo thành một file thứ ba. Ở góc độ tài liệu XSLT, dữ liệu đầu vào là một tập hợp các nút (node). Có 7 loại nút mà bộ xử lý XSL có thể nhận dạng và chuyển dịch: Gốc tài liệu (Document root) Thuộc tính (Attribute) Chú thích (Comment) Phần tử (Element) Không gian tên (Namespace) Chỉ thị xử lý (Processing íntruction) Văn bản (Text) 2.5. XML và HTML XML có nguồn gốc giống như HTML, cùng bắt nguồn từ ngôn ngữ đánh dấu tổng quát chuẩn - SGML. Văn bản XML và HTML đều sử dụng các thẻ (tags), các phần tử được đặt trong cặp dấu “ ” (mở và đóng) và dùng thuộc tính của các phần tử với cú pháp name= “value”. XML là ngôn ngữ mở rộng so với HTML. HTML là một ứng dụng của SGML, còn XML là một tập con của SGML. Hầu hết tài liệu HTML có thể định nghĩa được trong XML, chính vì vậy, dễ dàng để tương thích XML với các trang HTML có sẵn. Trong khi HTML đặc biệt chú ý tới việc từng thẻ và thuộc tính có ý nghĩa gì và phần văn bản giữa các thẻ đó hiển thị như thế nào trên trình duyệt thì XML sử dụng các thẻ chỉ để phân định ranh giới giữa các đoạn dữ liệu còn Phùng Thanh Vân. K50 Thông tin - Thư viện 29
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện việc đọc và xử lý dữ liệu hoàn toàn là nhiệm vụ của các ứng dụng. Khác với HTML, số lượng và tên gọi các phần tử trong XML là không hạn chế. XML là một văn bản nhưng không giống với những loại văn bản thông thường mà ta có thể đọc được. Một thuận lợi của khuôn dạng văn bản là cho phép người đọc có thể đọc nó với bất kỳ bộ soạn thảo văn bản nào tùy thích. Các khuôn dạng văn bản cũng cho phép tìm lỗi dễ dàng hơn trong các ứng dụng. Giống như HTML, các file XML là những file văn bản được tạo ra không phải với mục đích đề đọc, nhưng vẫn có thể đọc nếu thấy cần thiết. Tuy nhiên XML có điểm không bằng HTML, các luật dùng trong XML rất khắt khe, chỉ cần quên một thẻ, hay một thuộc tính không đi kèm với nội dung sẽ làm cho toàn bộ file XML đó ngừng hoạt động, trong khi đó lỗi này ở file HTML có thể được bỏ qua. XML được xem như là ngôn ngữ mạnh hơn HTML do nó mang lại thông tin đầy đủ về dữ liệu. XML cung cấp “siêu dữ liệu” metadata hay còn được gọi là “dữ liệu về dữ liệu” (data about data). XML cho phép các nhà phát triển và quản trị công nghệ thông tin mô tả thông tin có liên quan tới các nguồn thông tin khác. Ngôn ngữ XML là giải pháp tích hợp cho vấn đề trao đổi dữ liệu tự động giữa các kho thông tin trên mạng Internet. Phùng Thanh Vân. K50 Thông tin - Thư viện 30
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện CHƯƠNG 3 MỘT SỐ ỨNG DỤNG XML TRONG LĨNH VỰC THÔNG TIN - THƯ VIỆN 3.1. MARC XML Như chúng ta đã biết, khổ mẫu MARC (Machine Readable Catalog) là khổ mẫu mô tả tài liệu đang được sử dụng phổ biến. Trung tâm phát triển mạng và tiêu chuẩn MARC của Thư viện Quốc hội Hoa Kỳ đã nghiên cứu và phát triển một khổ mẫu để làm việc với dữ liệu MARC trong môi trường XML. Khổ mẫu này linh hoạt và mở rộng cho phép người sử dụng làm việc với dữ liệu MARC theo những cách tiếp cận cụ thể mà họ muốn. Khổ mẫu bao gồm nhiểu thành tố như lược đồ, bảng định kiểu, và các công cụ phần mềm được phát triển và duy trì bởi Thư viện Quốc hội. Có thể hình dung MARC-XML như hai cái cổng của một ngôi nhà. Cổng MARC kèm theo giao thức Z39.50 là cổng được sử dụng từ trước đến giờ để trao đổi biểu ghi thư mục. Ngày nay yêu cầu trao đổi thông tin không dừng lại ở thông tin dạng thư mục mà cần cao cấp hơn (hình ảnh, hình động, âm thanh ), cổng MARC không đảm đương được việc này, cần có một cổng hiện đại hơn, và đó chính là cổng XML có thể trao đổi được tất cả các dạng thông tin. MARC XML được sử dụng cho các vấn đề như sau: . Mô tả một biểu ghi MARC hoàn chỉnh trong môi trường XML. . Sử dụng như một lược đồ mở rộng cho Chuẩn mã hóa và truyền tải siêu dữ liệu (Metadata Encoding and Transmission Standard - METS). . Dùng để mô tả siêu dữ liệu cho giao thức “gặt hái siêu dữ liệu” OAI (Open Archives Initiative - Protocol for Metadata Harvesting). . Mô tả nguồn thông tin gốc với cú pháp XML. Phùng Thanh Vân. K50 Thông tin - Thư viện 31
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện . Có thể bao gói siêu dữ liệu XML. Một vài thuận lợi của MARC XML: . Lược đồ MARC XML hỗ trợ tất cả các định dạng dữ liệu mã hóa của MARC. . Khổ mẫu MARC XML là một thành phần có định hướng, cấu trúc mở rộng cho phép người sử dụng thực hiện bằng nhiều mảnh phần mềm khác nhau để xây dựng giải pháp. Giới hạn đối với MARC XML: Tính hợp lệ của MARC không bị chi phối bởi lược đồ cấu trúc mà bởi phần mềm bên ngoài. 3.1.1. MARC DTD Thuật ngữ MARC DTD (Machine Readable Catalog Document Type Definition) liên quan đến việc áp dụng SGML - ngôn ngữ đánh dấu tổng quát chuẩn. SGML là một kỹ thuật để biểu diễn dữ liệu ở dạng đọc máy, đã được công nhận là chuẩn quốc tế - ISO 8879. Nó được phát triển để đáp ứng nhu cầu về một chuẩn phi độc quyền cho việc mã hóa văn bản, từ đó dữ liệu đọc máy có thể dễ dàng trao đổi trong môi trường văn bản mã hóa. SGML được dùng rộng rãi trong công nghiệp xuất bản nơi sử dụng các hệ tin học khác nhau để tạo ra các tư liệu. SGML hỗ trợ cho việc xác định các tập hợp yếu tố (kể cả bài tóm tắt) hình thành các dạng tư liệu riêng (thí dụ, các bài báo/tạp chí). MARC DTD xử lý các biểu ghi biên mục đọc máy như là một dạng tư liệu riêng biệt. Cấu trúc dữ liệu này xác định tất cả các yếu tố có thể hình thành biểu ghi MARC song song với danh mục các yếu tố dữ liệu đã được xác định trong 5 khổ mẫu USMARC: Khổ mẫu thư mục (Bibliographic); Khổ mẫu nhất quán (Authority); Khổ mẫu lưu trữ (Holdings); Khổ mẫu phân loại (Classification); và Khổ mẫu cộng đồng (Community). MARC-SGML được thiết kế để làm cấu trúc thay thế cho thông tin trong các biểu ghi cấu trúc MARC chuẩn (ISO 2709). Việc ứng dụng MARC- SGML cung cấp sơ đồ cấu trúc đầy đủ giữa hai chuẩn dữ liệu. MARC-SGML Phùng Thanh Vân. K50 Thông tin - Thư viện 32
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện được phát triển bởi vì trong nhiều trường hợp người sử dụng nhận thấy cấu trúc SGML thích hợp hơn MARC. Có những quy trình xử lý mà người sử dụng muốn mã hóa dữ liệu theo cấu trúc MARC, trong trường hợp khác họ lại muốn sử dụng SGML, do đó, sẽ là rất hữu ích nếu có công cụ chuyển đổi qua lại giữa hai tiêu chuẩn tùy theo nhu cầu. Động lực của Dự án MARC DTD là nguyện vọng muốn chuyển đổi bằng máy một cách chuẩn mực, không vi phạm quyền sở hữu trí tuệ, giữa các dữ liệu mã hoá theo MARC và SGML. Dự án có 2 nhiệm vụ chính: Một là, phát triển các cấu trúc định dạng tư liệu theo ngôn ngữ đánh dấu tổng quát hoá chuẩn (SGML DTD) tương ứng với 5 khổ mẫu USMARC. Hai là, phát triển các phần mềm tiện ích có khả năng chuyển đổi giữa hai tiêu chuẩn mã hoá. Văn phòng phát triển mạng và tiêu chuẩn MARC thuộc Thư viện quốc hội Mỹ đã đảm nhiệm cả hai nhiệm vụ này. 3.1.2. MARC XML DTD Với sự phát triển của ứng dụng ngôn ngữ XML trong tạo lập tài liệu điện tử, Thư viện Quốc hội Mỹ đã phát triển MARC XML DTD. MARC XML DTD đã xác định mỗi yếu tố dữ liệu MARC được thể hiện bằng một yếu tố theo XML. Để áp dụng cho dữ liệu XML theo MARC, mọi thẻ quy định yếu tố dữ liệu trong XML đều sử dụng tiền tố “mrc” (viết tắt của MARC). Điều này để đảm bảo không có sự trùng lặp với những DTD có thể sử dụng một số yếu tố MARC trong tạo lập tài liệu điện tử. Mọi dữ liệu liên quan đến dữ liệu mô tả thư mục đều sử dụng tiền tố “mrcb”. Mọi yếu tố trong nhóm DTD về kiểm soát tính nhất quán (MARC Authority DTD Group) bắt đầu bằng tiền tố “mrca”. Phùng Thanh Vân. K50 Thông tin - Thư viện 33
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Để đảm bảo đặc trưng của tên theo SGML, mọi tên yếu tố đều được viết kiểu chữ thường, bao gồm các ký tự từ a-z, 0-9 và dấu hai chấm. Độ dài tối đa 32 ký tự. Để làm cho DTD thể hiện được tính chất MARC, các trường dữ liệu được thể hiện bằng số của nhãn trường trong MARC và đi kèm với tiền tố như trên. Ví dụ: “mrca100” là nhãn quy định cho yếu tố Tiêu đề tác giả, tương ứng với trường 100 của MARC. Hầu hết các nhãn trường theo MARC đều có trường con. Trong MARC DTD người ta cũng sử dụng một mã ký tự làm thẻ cho trường con. Trường con sẽ được gán cùng với thẻ nhãn trường bằng dấu gạch ngang. Ví dụ: mrcb245-a, mrcb245-b, mrcb245-c. Trong các biểu ghi MARC, ngoài nhãn trường, trường con, còn có chỉ thị. Để chỉ dẫn rằng đây là dữ liệu liên quan đến chỉ thị, người ta đã đề xuất sử dụng các định danh “i1” và “i2”. Một đặc trưng khác của dữ liệu MARC là sự có mặt của một số trường có độ dài cố định (có liên quan tới chỉ thị “0” - chỉ thị đầu tiên trong trường và trường con). Ví dụ những trường này là trường 006 - 008, cú pháp với các trường này sẽ như sau: . Tiền tố được sử dụng cho nhãn trường là: “mrcb” hoặc “mrca” . 3 chữ số chỉ thị nhãn trường . Mã dữ liệu và dấu gạch ngang . Định danh vị trí của trường dữ liệu theo MARC mrcb008-BK-22 Đối với trường đầu biểu (Leader), người ta sử dụng tiền tố “ldr”, mã dữ liệu và vị trí của mã để làm thẻ meta. Quy định như sau: . Tiền tố là phần đầu biểu là “mrcaldr” hoặc “mrcbldr” Phùng Thanh Vân. K50 Thông tin - Thư viện 34
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện . Mã dữ liệu theo MARC và dấu gạch ngang . Số định danh thông báo vị trí đối với mã dữ liệu mrcbldr-bd-05 Ngoài các thành phần như tiền tố, mã dữ liệu, vị trí, phần tử, còn có các giá trị thuộc tính. Giá trị có thể là “EMPTY” hoặc “VALUE” (nghĩa là có giá trị hoặc không có giá trị). 3.2. Chuẩn mã hóa và truyền tải siêu dữ liệu - METS 3.2.1. Khái quát về METS Lược đồ METS (Metadata Encoding and Transmission Standard) là một chuẩn đối với siêu dữ liệu mô tả mã hóa, mang tính quản trị và có cấu trúc, dùng cho tài liệu thư viện số. METS được hiển thị sử dụng ngôn ngữ XML. METS ra đời từ dự án MOA2 (Making of America II) của trường đại học California tại Berkeley. Một trong những kết quả của dự án này là MOA2 DTD dựa trên SGML cho các đối tượng thư viện số, thích hợp cho việc kết hợp giữa văn bản và hình ảnh. MOA2 DTD không cho phép làm việc với các siêu dữ liệu kỹ thuật và siêu dữ liệu mô tả. Điều đó là không phù hợp với các công việc số hóa mà một thư viện số cần phải làm. Việc đưa ra một ngôn ngữ chuẩn XML để mã hóa các đối tượng thư viện số là việc làm cần thiết. Các thành viên của Liên đoàn Thư viện số đã quyết định nghiên cứu đưa ra một định dạng mới, đó là METS XML. METS được duy trì và phát triển bởi Văn phòng phát triển mạng và tiêu chuẩn MARC của Thư viện Quốc hội Mỹ. Hiện tại, METS đang được phát triển như một sáng kiến của Liên đoàn Thư viện số. Việc duy trì bộ sưu tập số đòi hỏi cũng phải duy trì siêu dữ liệu về các tài liệu số này. Siêu dữ liệu cần thiết cho việc quản trị và sử dụng hiệu quả tài liệu số khác biệt và mở rộng hơn nhiều đối với siêu dữ liệu dùng để quản lý bộ sưu tập tài liệu in ấn. Đối với một cuốn sách in, nếu thư viện có sai sót trong việc ghi lại siêu dữ liệu cấu trúc thì cuốn sách cũng không bị phân tán Phùng Thanh Vân. K50 Thông tin - Thư viện 35
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện vào các trang không liên kết được, hoặc giả nếu thư viện có sai sót trong việc ghi chú việc xuất bản cuốn sách thì các nhà nghiên cứu cũng không phải sẽ không thể đánh giá đúng giá trị của nó. Nhưng sẽ không như vậy đối với phiên bản số hóa cũng của cuốn sách này. Không có siêu dữ liệu cấu trúc, không có hình ảnh, file văn bản kèm theo, tài liệu số sẽ ít được sử dụng; và không có siêu dữ liệu kỹ thuật về quá trình số hóa, các nhà nghiên cứu sẽ không thể chắc chắn được mức độ phản ánh chính xác tài liệu gốc của bản số hóa. Về mục đích quản trị, một thư viện phải có truy nhập tới các siêu dữ liệu kỹ thuật để theo dõi và làm mới (refresh) định kỳ, di trú dữ liệu, đảm bảo tính lâu dài cho các nguồn thông tin giá trị. Với vai trò của các siêu dữ liệu kỹ thuật, cấu trúc, và quản trị trong thao tác số hóa dựa trên hình ảnh và văn bản, METS ngày càng có ưu thế trong việc sử dụng để lưu trữ, trao đổi và phổ biến thông tin. Dựa trên mục đích sử dụng, một tài liệu METS có thể được sử dụng với vai trò là: - gói thông tin đệ trình (Submission Information Package - SIP) - gói thông tin lưu trữ (Archival Information Package - AIP) - gói thông tin phổ biến (Dissemination Information Package - DIP) nằm trong Mô hình tham khảo hệ thống thông tin lưu trữ mở - Open Archival Information System (OAIS) Reference Model. Một tài liệu METS gồm có 7 phần chính: . Đầu tài liệu (METS Header): Đầu tài liệu chứa các siêu dữ liệu mô tả chính bản thân tài liệu METS đó, gồm những thông tin như: người tạo lập, người chỉnh sửa . Siêu dữ liệu mô tả (Descriptive Metadata): Vùng siêu dữ liệu mô tả có thể chỉ ra siêu dữ liệu mô tả bên ngoài tới tài liệu METS, hoặc siêu dữ liệu mô tả gắn bên trong tài liệu, hoặc cả hai. Phùng Thanh Vân. K50 Thông tin - Thư viện 36
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện . Siêu dữ liệu quản trị (Administrative Metadata): Vùng siêu dữ liệu quản trị cung cấp thông tin về cách thức file dữ liệu được tạo ra và lưu trữ, quyền sở hữu trí tuệ, siêu dữ liệu về tài liệu gốc mà từ đó thư viện số thực hiện số hóa, và thông tin về các file dữ liệu có trong đối tượng tài liệu số. Cũng như siêu dữ liệu mô tả, siêu dữ liệu quản trị có thể từ bên ngoài hoặc gắn bên trong tài liệu METS. . Vùng dữ liệu (File section): Vùng dữ liệu liệt kê tất cả các file có trong nội dung tài liệu. Các phần tử có thể được nhóm trong các phần tử , cung cấp cho việc chia nhỏ các file. . Bản đồ cấu trúc (Structural Map): Bản đồ cấu trúc là phần trọng tâm của một tài liệu METS. Nó vạch ra cấu trúc thứ bậc cho đối tượng số, và liên kết các phần tử của cấu trúc đó tới các file nội dung và các siêu dữ liệu gắn liền với từng phần tử. . Liên kết cấu trúc (Structural Links): Vùng liên kết cấu trúc của METS cho phép người tạo lập ghi lại sự tồn tại của các siêu liên kết giữa các nút (node) trong sơ đồ thứ bậc của Bản đồ cấu trúc. Đây là giá trị đặc biệt trong việc sử dụng METS để lưu trữ các website. . Thuộc tính (Behavior): Vùng thuộc tính dùng để kết hợp các thuộc tính có thể thực hiện được với nội dung đối tượng METS. Mỗi thuộc tính trong vùng thuộc tính có một phần tử định nghĩa giao diện mô tả tóm tắt định nghĩa của tập hợp thuộc tính trong vùng thuộc tính cụ thể. Dưới đây là giải thích chi tiết hơn cho từng thành phần và quan hệ liên đới giữa chúng. 3.2.2. Các thành phần của METS 3.2.2.1. Đầu tài liệu (METS header): Phần tử METS header cho phép ghi lại siêu dữ liệu mô tả tối thiểu về tài liệu METS. Siêu dữ liệu này bao gồm: ngày tạo lập tài liệu METS, ngày Phùng Thanh Vân. K50 Thông tin - Thư viện 37
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện chỉnh sửa cuối cùng, và trạng thái của tài liệu. Ta có thể ghi thêm tên của những người khác có đóng vai trò trách nhiệm đối với tài liệu METS, ghi cụ thể vai trò của họ. Cuối cùng, có thể ghi vào các thông tin nhận diện cho tài liệu METS. Ví dụ về đầu tài liệu (METS header): Jerome McDonough Ann Butler Ví dụ trên chứa 2 thuộc tính trong phần tử , CREATEDATE chỉ ra ngày tạo lập biểu ghi và RECORDSTATUS chỉ ra trạng thái biểu ghi. Thông tin trách nhiệm gồm có hai người, người tạo lập biểu ghi và người lưu trữ tài liệu gốc. Thuộc tính ROLE (vai trò tác giả) và TYPE (loại tác giả cá nhân hay tập thể) trong phần tử sử dụng thuật ngữ có kiểm soát. Các giá trị cho phép đối với thuộc tính ROLE gồm có: ARCHIVIST (người lưu trữ), CREATOR (người tạo lập), CUSTODIAN (người quản lý tài liệu), DISSEMINATOR (người phổ biến), EDITOR (người hiệu đính), IPOWNER (người sở hữu công nghệ), và OTHER (các vai trò khác). Các giá trị cho phép đối với thuộc tính TYPE gồm có: INDIVIDUAL (cá nhân), ORGANIZATION (tổ chức), và OTHER. 3.2.2.2. Siêu dữ liệu mô tả (Descriptive Metadata): Vùng siêu dữ liệu mô tả trong tài liệu METS chứa một hoặc nhiều phần tử (Descriptive Metadata Section). Mỗi phần tử có thể có một chỉ chỗ tới siêu dữ liệu bên ngoài (phần tử ), siêu dữ liệu gắn bên trong (phần tử ), hoặc cả hai. Phùng Thanh Vân. K50 Thông tin - Thư viện 38
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Siêu dữ liệu mô tả bên ngoài (mdRef): Một phần tử cung cấp một URI sử dụng để lấy siêu dữ liệu từ bên ngoài. Ví dụ: urn:x-nyu:fales1735 Phần tử ở trên chứa 4 thuộc tính: - Thuộc tính LOCTYPE chỉ ra loại định vị tài nguyên chứa trong nội dung của phần tử. Các giá trị hợp lệ cho LOCTYPE gồm có: URN, URL, PURL, HANDLE, DOI, và OTHER. - Thuộc tính MIMETYPE cho phép xác định loại MIME cho siêu dữ liệu mô tả bên ngoài. - Thuộc tính MDTYPE cho phép xác định dạng siêu dữ liệu được tham chiếu đến. Giá trị hợp lệ cho MDTYPE gồm có: MARC, MODS, EAD, VRA (VRA Core), DC (Dublin Core), NISOIMG, LC-AV, TEIHDR (TEI Header), DDI, FGDC, và OTHER. - Thuộc tính LABEL cung cấp kỹ thuật cho việc mô tả siêu dữ liệu này cho người xem tài liệu. Siêu dữ liệu mô tả bên trong (mdWrap): Một phần tử cung cấp khuôn khổ của siêu dữ liệu gắn bên trong tài liệu METS. Siêu dữ liệu như vậy có thể ở một trong hai dạng: 1. siêu dữ liệu mã hóa theo XML, với mã XML định danh nó bằng một không gian tên khác với không gian tên của tài liệu METS, hoặc 2. dạng văn bản tùy ý bất kỳ đặt trong phần tử thuộc phần tử . Ví dụ: Phùng Thanh Vân. K50 Thông tin - Thư viện 39
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Alice's Adventures in Wonderland Lewis Carroll between 1872 and 1890 McCloughlin Brothers text MDI0ODdjam0gIDIyMDA1ODkgYSA0NU0wMDAxMDA (etc.) Một lưu ý đó là phần tử phải có một thuộc tính ID. Thuộc tính này cung cấp một tên duy nhất cho mỗi phần tử có thể được sử dụng trong bản đồ cấu trúc để liên kết một phần chia nhỏ theo cấu trúc thứ bậc tới một phần tử cụ thể. Việc này cho phép các vùng cụ thể của siêu dữ liệu mô tả được liên kết tới các phần cụ thể của đối tượng số. 3.2.2.3. Siêu dữ liệu quản trị (Administrative Metadata): Các phần tử chứa siêu dữ liệu quản trị gắn với các file của đối tượng thư viện số, cũng như gắn với tài liệu gốc được sử dụng để tạo nên đối tượng số. Có 4 định dạng chính của siêu dữ liệu quản trị cung cấp trong tài liệu METS: - Siêu dữ liệu kỹ thuật (phần tử ): thông tin về việc tạo lập file, định dạng, đặc điểm sử dụng. - Siêu dữ liệu về quyền sở hữu trí tuệ (phần tử ). Phùng Thanh Vân. K50 Thông tin - Thư viện 40
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện - Siêu dữ liệu nguồn (phần tử ): nguồn mà từ đó đối tượng số nhận được thông tin. - Siêu dữ liệu nguồn tài nguyên số (phần tử ): thông tin về mối quan hệ nguồn/đích giữa các file, về việc di trú hoặc chuyển hóa giữa tài liệu số hóa ban đầu với phiên bản hiện có của nó như một đối tượng của thư viện số. Từng loại trong số 4 phần tử kể trên có thể xuất hiện một hoặc nhiều lần trong tài liệu METS. Các phần tử , , , và có mô hình nội dung tương tự như : chúng có thể chứa một phần tử chỉ tới siêu dữ liệu quản trị bên ngoài, một phần tử sử dụng khi gắn siêu dữ liệu quản trị bên trong tài liệu METS, hoặc cả hai. Các phần tử này có thể xuất hiện đa dạng trong tài liệu METS, và tất cả chúng phải có thuộc tính ID để các phần tử khác trong tài liệu có thể liên kết tới các phần tử phụ thuộc phần tử . Một ví dụ về : image/tiff LZW 8 1 NYU Press 3.2.2.4. Vùng dữ liệu (File Section): Phùng Thanh Vân. K50 Thông tin - Thư viện 41
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Phần tử chứa một hoặc nhiều phần tử dùng để nhóm các file có liên quan với nhau. liệt kê tất cả các file hợp thành phiên bản điện tử của đối tượng thư viện số. Xem xét ví dụ dưới đây về vùng dữ liệu gồm có 3 phiên bản khác nhau: một bản sao mã hóa TEI, một file âm thanh định dạng WAV, và một file âm thanh định dạng MP3: Trong trường hợp này, phần tử chứa 3 phần tử trực thuộc, mỗi phần tử dành cho một phiên bản khác nhau của đối tượng số. Thuộc tính GROUPID xuất hiện với các giá trị giống nhau ở hai phần tử âm thanh, điều này chỉ ra rằng hai file này, dù thuộc các phiên bản khác nhau của đối tượng số, cùng chứa một thông tin cơ bản. Phùng Thanh Vân. K50 Thông tin - Thư viện 42
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Các phần tử đều có một thuộc tính ID riêng biệt. Thuộc tính này cung cấp một tên duy nhất cho tập tin này để có thể tham chiếu đến từ các phần khác của tài liệu. Các phần tử có thể chứa một phần tử thay vì . Phần tử được sử dụng để gắn nội dung thực tế của file vào tài liệu METS, nội dung file khi đó phải ở định dạng XML hoặc mã hóa theo Base64. 3.2.2.5. Bản đồ cấu trúc (Structural Map): Bản đồ cấu trúc của tài liệu METS xác định một cấu trúc thứ bậc của đối tượng số hiển thị cho người sử dụng. Phần tử mã hóa cấu trúc thứ bậc này thành một loạt phần tử phần tử . Mỗi phần tử mang thông tin thuộc tính chỉ rõ kiểu phân chia, và cũng chứa nhiều phần tử chỉ chỗ METS và chỉ chỗ file để xác định nội dung tương ứng với phần tử đó. Ví dụ đơn giản về bản đồ cấu trúc: Phùng Thanh Vân. K50 Thông tin - Thư viện 43
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Bản đồ cấu trúc này cho thấy ta có một tài liệu về lịch sử truyền miệng bao gồm 3 phần nhỏ hơn: phần giới thiệu mở đầu bởi người phỏng vấn, một Phùng Thanh Vân. K50 Thông tin - Thư viện 44
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện vài thông tin lịch sử gia đình từ Mayor Beame, và một cuộc thảo luận về việc ông có liên quan đến liên đoàn giáo viên của New York. Từng phần nhỏ này được liên kết tới 3 file. Phần tử phụ sử dụng trong mỗi phần tử để chỉ ra rằng phần chia nhỏ này tương ứng với chỉ một thành phần trong file liên kết và định ra chính xác thành phần đó. Ví dụ, phần chia nhỏ đầu tiên (Interviewer introduction) được liên kết tới file XML “FILE001” đặt giữa hai thẻ với giá trị thuộc tính ID là “INTVWBG” và “INTVWND”. Nó cũng được liên kết tới 2 file âm thanh khác, trong trường hợp này điểm bắt đầu và kết thúc của tài liệu liên kết được định ra bằng giá trị mã thời gian theo dạng HH:MM:SS (giờ:phút:giây). 3.2.2.6. Liên kết cấu trúc (Structural Links): Vùng liên kết cấu trúc là thành phần đơn giản nhất trong số các thành phần chính của METS, chỉ chứa một phần tử đơn (phần tử này có thể lặp lại nhiều lần). Vùng này cho phép ghi lại các siêu liên kết giữa các phần trong bản đồ cấu trúc, thường là phần tử . Sẽ rất thuận lợi khi sử dụng METS để lưu trữ các trang web và để lưu trữ các biểu ghi của cấu trúc siêu liên kết. Ví dụ về tài liệu METS cho một trang web có chứa một hình ảnh được liên kết tới một trang khác: 3.2.2.7. Vùng thuộc tính (Behavior): Phùng Thanh Vân. K50 Thông tin - Thư viện 45
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Vùng thuộc tính được sử dụng để kết hợp các thuộc tính với nội dung trong đối tượng METS. Vùng này chứa một hoặc nhiều phần tử , mỗi phần tử có một phần tử định nghĩa giao diện biểu thị định nghĩa tóm tắt cho cả bộ thuộc tính được trình bày trong một vùng thuộc tính cụ thể. Phần tử cũng có một phần tử dùng để chỉ chỗ tới một tập hợp mã để thực hiện thuộc tính được xác định tóm tắt trong phần định nghĩa giao diện. Ví dụ về vùng thuộc tính: Tóm lại, lược đồ METS cung cấp một cơ chế linh hoạt cho siêu dữ liệu về đối tượng thư viện số mang tính mô tả mã hóa cao, tính quản trị và có cấu trúc, đồng thời cũng giúp trình bày các liên kết phức tạp giữa các dạng khác nhau của siêu dữ liệu. Từ đó, nó cung cấp một chuẩn hữu ích cho việc trao đổi các tài liệu số giữa các kho dữ liệu. Thêm vào đó, METS còn cung cấp khả năng kết hợp các đối tượng số với các dịch vụ liên quan. Trên đây là khái quát những đặc điểm chính về lược đồ này, quá trình thực nghiệm sử dụng nó là cần thiết để có thể hiểu được một cách sâu sắc và đầy đủ về các khả năng METS đạt được. 3.3. Lược đồ mô tả phần tử siêu dữ liệu - MODS 3.3.1. Khái quát về MODS Văn phòng phát triển mạng và tiêu chuẩn MARC của Thư viện Quốc hội Mỹ và một nhóm chuyên gia đã phát triển một giản đồ mô tả tập hợp các Phùng Thanh Vân. K50 Thông tin - Thư viện 46
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện thuộc tính thư mục có thể dược sử dụng cho nhiều mục đích khác nhau, đặc biệt là cho các ứng dụng thư viện. Là một giản đồ XML, MODS (Metadata Object Description Schema) được xây dựng để có thể chuyển tải một phần dữ liệu có lựa chọn từ các bản ghi có sẵn ở khuôn dạng MARC 21 hoặc cũng có thể là những biểu ghi tạo mới từ đầu. Nó bao gồm một số trường của chuẩn MARC nhưng sử dụng từ khóa để đặt tên cho các thẻ (tags) chứ không sử dụng các con số như trong chuẩn MARC. Trong một số trường hợp các trường trong khung MARC 21 được nhóm lại theo cách khác. MODS được thể hiện bằng ngôn ngữ XML của tổ chức World Wide Web Consortium. MODS được sử dụng cho các vấn đề như sau: . Sử dụng như một định dạng tra cứu, truy xuất dữ liệu thông qua URL (SRU format). . Một lược đồ mở rộng đối với Chuẩn mã hóa và truyền tải siêu dữ liệu - METS. . Biểu diễn siêu dữ liệu phục vụ cho việc “gặt hái” siêu dữ liệu (harvesting). . Dùng để mô tả nguồn khởi đầu trong cú pháp XML. . Biểu diễn một biểu ghi MARC đơn giản hóa trong XML. . Bao gói siêu dữ liệu XML với một nguồn tin điện tử. Lợi thế của MODS: MODS được xây dựng với mục đích bổ sung cho các định dạng siêu dữ liệu khác. Đối với một vài ứng dụng, cụ thể là những ứng dụng có sử dụng biểu ghi MARC. MODS có nhiều lợi thế so với các giản đồ siêu dữ liệu khác. Có thể kể đến một số lợi điểm như sau: . Tập hợp phần tử nhiều hơn Dublin Core. . Tập hợp phần tử dễ tương thích với dữ liệu thư viện hơn ONIX. Phùng Thanh Vân. K50 Thông tin - Thư viện 47
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện . MODS có định hướng hơn tới người dùng tin cuối cùng hơn lược đồ MARCXML đầy đủ. . Tập hợp phần tử của MODS đơn giản hơn so với định dạng MARC đầy đủ. Đặc trưng của MODS: . Các phần tử nhìn chung kế thừa cấu trúc ngữ nghĩa của MARC. . Một số dữ liệu có thể được bao gói lại; chúng có thể là những phần tử dữ liệu khác nhau trong MARC nhưng được gộp lại làm một trong MODS. . MODS không thừa nhận việc sử dụng bất cứ mã biên mục cụ thể nào. . Nhiều phần tử có thuộc tính định danh tùy chọn để thuận tiện cho việc liên kết ở cấp độ phần tử. Hạn chế của MODS: MODS chứa một tập con dữ liệu của MARC 21 - Khổ mẫu thư mục. Là một tập hợp phần tử cho phép biểu diễn dữ liệu đã có trong hệ thống MARC, MODS cho phép sự chuyển đổi giữa các trường cốt lõi, điều này có thể khiến một vài dữ liệu sẽ bị “rơi rụng”. Là một tập hợp phần tử mô tả nguồn tin gốc, MODS có thể cho phép một biểu ghi đơn giản được tạo ra mà trong một vài trường hợp sử dụng nhiều thẻ hơn so với những thẻ sẵn có trong biểu ghi MARC. Giản đồ MODS không nhắm đến mục đích quay vòng 2 chiều với MARC 21. Nói cách khác, một biểu ghi MARC gốc chuyển đổi sang MODS có thể không chuyển đổi lại được về MARC mà không bị mất mát về thẻ hoặc về dữ liệu. Trong một số trường hợp, nếu chuyển đổi lại về MARC 21, dữ liệu lại không được về chính xác trường của nó bởi vì một trường MARC có thể nối với một trường tổng quát hơn trong MODS. Một số trường hợp khác, Phùng Thanh Vân. K50 Thông tin - Thư viện 48
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện phần tử trong MARC không tương đương với phần tử trong MODS, do đó, dữ liệu có thể bị mất khi chuyển đổi sang MODS. Trật tự của các phần tử: Một điều lưu ý đó là trật tự của các phần tử trong lược đồ MODS không cho biết cái trật tự mà nó sẽ được hiển thị. Một bảng định kiểu (stylesheet) sẽ được sử dụng để kiểm soát trật tự hiển thị của các biểu ghi MODS. 3.3.2. Vận hành MODS MODS có nhiệm vụ điều hòa các yêu cầu xung đột về độ lớn và nét đặc trưng đã ảnh hưởng trong Dublin Core và cản trở tính ứng dụng của nó trong việc trung hòa cho siêu dữ liệu. Mặc dù giống với chuẩn Dublin Core, MODS có chứa cơ chế kỹ thuật để mở rộng, nó đưa ra bộ phần tử chi tiết hơn nhiều so với Dublin Core. Vì vậy, MODS cho phép mô tả một khối lượng tài liệu lớn mà không cần viện dùng đến các phần tử bên ngoài. Từ đó, MODS sẵn sàng hơn cho việc chuyển đổi liên thông với các biểu ghi MODS khác, và thông qua sơ đồ cụ thể có thể liên thông tới các lược đồ siêu dữ liệu khác. MODS, giống với METS và nhiều chuẩn siêu dữ liệu khác, được viết bằng XML, điều này đảm bảo rằng nó mạnh và không bị phụ thuộc vào bất kỳ gói phần mềm nào. Nó dựa trên một tập hợp trường của MARC, nhưng khác ở chỗ MODS sử dụng từ ngữ chứ không để tên trường bằng số như MARC. Điều này giúp dễ dàng hơn cho người sử dụng vì không đòi hỏi họ phải có kiến thức về chuẩn MARC và các quy tắc của nó. MODS cũng dễ dàng cho việc sử dụng hơn MARC vì nó đã cắt giảm để bộ phần tử nhỏ hơn và tổ chức lại các trường, nhóm chúng vào các hợp phần logic hơn. So sánh với Dublin Core, MODS cung cấp bộ phần tử đầy đủ và cụ thể hơn: Theo phiên bản 3.3, có 20 phần tử cấp cao (top-level element), 2 phần tử gốc (root element) và 64 phần tử dưới nữa cho phép các biểu ghi mang tính mô tả cụ thể có thể được tạo ra đối với nhiều loại tài liệu. Website của MODS Phùng Thanh Vân. K50 Thông tin - Thư viện 49
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện cung cấp trên trang chủ các file mẫu cho 9 loại tài liệu, bao gồm: sách, ấn phẩm tiếp tục, bản đồ, tài liệu âm thanh, hình ảnh và tài liệu đa phương tiện, minh họa đầy đủ dòng đối tượng có thể xử lý được bằng chuẩn MODS. Ví dụ về file MODS mô tả tài liệu sách lấy từ website MODS của Thư viện Quốc hội Mỹ: Sound and fury : the making of the punditocracy / Alterman, Eric creator text bibliography nyu Ithaca, N.Y Cornell University Press c1999 1999 monographic eng print vii, 322 p. ; 23 cm. Eric Alterman. Phùng Thanh Vân. K50 Thông tin - Thư viện 50
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Includes bibliographical references (p. 291-312) and index. Journalism Political aspects United States. United States Politics and government 20th century. Mass media Political aspects United States. Television and politics United States. Press and politics United States. Talk shows United States. PN4888.P6 A48 1999 071/.3 0801486394 (pbk. : acid-free, recycled paper) 99042030 Phùng Thanh Vân. K50 Thông tin - Thư viện 51
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện DLC 990730 20000406144503.0 11761548 MODS cung cấp 20 phần tử cấp cao để mô tả đầy đủ nhất các yếu tố của một tài liệu. Nhìn ví dụ trên có thể thấy phạm vi và nội dung của các phần tử cấp cao này được nhận biết rõ ràng qua tên của chúng. Các phần tử lớn bọc ngoài chia thành các phần tử hẹp hơn với phạm vi ngữ nghĩa cụ thể hơn. Phần tử cấp cao: . titleInfo . note . name . subject . typeOfResource . classification . genre . relatedItem . originInfo . identifier . language . location . physicalDescription . accessCondition . abstract . part . tableOfContents . extension . targetAudience . recordInfo Phần tử gốc: mods modsCollection Dưới đây xin đưa ra nét chính về một số phần tử quan trọng trong số các phần tử kể trên. titleInfo (thông tin về nhan đề): Phùng Thanh Vân. K50 Thông tin - Thư viện 52
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Đây là phần tử cấp cao duy nhất bắt buộc phải có. Là phần tử cha của 5 phần tử con: title (nhan đề chính), subtitle (nhan đề phụ), partNumber (số thứ tự tập), partName (tên tập) và nonSort (yếu tố không sắp xếp); trong đó, title cũng là bắt buộc. Phần tử cuối cùng, nonSort, chỉ ra những phần của nhan đề sẽ được tính là ký tự không sắp xếp vào khi lập chỉ mục. titleInfo có thể được bổ sung thêm bởi một số thuộc tính như: chỉ rõ loại nhan đề được nhập vào biểu ghi (nhan đề chính hay nhan đề song song), ngôn ngữ biên mục name (thông tin trách nhiệm): Tương đương với các trường Creator (người tạo lập) và Contributor (người đóng góp) của Dublin Core, phần tử name được sử dụng để ghi tên cá nhân hoặc tổ chức chịu trách nhiệm việc tạo lập nội dung trí tuệ của tài liệu, hoặc để ghi tên những người đóng góp một phần vào đó (ví dụ: làm minh họa, in ấn ). Đi kèm có thuộc tính type chỉ ra tên đó là tên tác giả cá nhân hay tập thể, có thể là tên hội nghị. Tên có thể phân chia thành họ và tên và được ghi vào với dạng thức không có cấu trúc, phục vụ cho mục đích hiển thị. Vai trò tác giả cũng được định theo nhiều cách ghi, có thể theo bảng mã tác giả (như bảng mã của MARC) hoặc bằng văn bản thường. Mô tả nguyên văn theo tài liệu cũng có thể được dùng để mô tả về tác giả một cách chi tiết hơn, đây là đặc điểm không có trong MARC. originInfo (thông tin xuất bản): originInfo là một phần tử cha khác, cho thông tin về nguồn gốc của tài liệu hoặc thông tin xuất bản. Các phần tử con cho thông tin về thời gian bắt đầu tài liệu, đó là thời gian xuất bản hoặc thời gian tạo lập tài liệu (trong trường hợp tài liệu là tài liệu viết tay, không xuất bản). Khu vực này cũng cho ghi thông tin về nhà xuất bản, lần xuất bản, tài liệu là tài liệu chuyên khảo hay Phùng Thanh Vân. K50 Thông tin - Thư viện 53
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện tiếp tục, định kỳ xuất bản của nó. Siêu dữ liệu có thể nhập trong khu vực này mang tính mở rộng và linh hoạt. Một số phần tử con như: place (nơi xuất bản), publisher (nhà xuất bản), dateIssued (thời gian xuất bản), dateCreated (thời gian tạo lập), dateValid (thời gian có giá trị), dateModified (thời gian chỉnh sửa), edition (lần xuất bản), frequency (tần suất). physicalDescription (Mô tả vật lý): physicalDescription là phần tử cha, chứa nhiều phần tử con cho phép mô tả về cơ bản đặc điểm vật lý của tài liệu. Nhiều phần tử trong số này chỉ phù hợp mô tả tài liệu điện tử, gồm có: - internetMediaType: mô tả kiểu dữ liệu - reformattingQuality: mô tả về chất lượng (mức độ xử lý, độ phân giải ) - digitalOrigin: cho biết thông tin tài liệu là dạng số từ đầu hay được số hóa, định dạng lại. Các phần tử con khác: - form: dạng tài liệu - extent: thông tin về số trang, minh họa - note: thông tin khác về đặc điểm vật lý của tài liệu. subject (Chủ đề): Phần tử subject dùng để mô tả nội dung trí tuệ của tài liệu bằng cách sử dụng các thuật ngữ chủ đề. Phần tử subject chia nhỏ thành các phần tử phụ xác định các loại khác nhau của thuật ngữ chủ đề: phụ đề nội dung, phụ đề địa lý, hay phụ đề thời gian. Phùng Thanh Vân. K50 Thông tin - Thư viện 54
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Phần tử phụ hierarchicalGeographic xác định một hệ thống thứ bậc của thuật ngữ chủ đề địa lý, đi từ khái quát (như Châu lục) đến cụ thể (như Thành phố). Một phần tử phụ khác, cartographic, cho phép mô tả chi tiết tọa độ không gian, cùng với tỉ lệ và phép chiếu dùng cho bản đồ. Nhìn chung, MODS cung cấp bộ thuật ngữ đa dạng và linh hoạt cho việc mô tả chủ đề. Extension (Mở rộng): Mặc dù MODS cung cấp bộ phần tử rộng hơn nhiều so với Dublin Core, vẫn có thể xảy ra khả năng nó không đáp ứng đủ tất cả các yêu cầu về siêu dữ liệu cho một tài liệu nào đó. Trong trường hợp đó, MODS cũng tạo điều kiện thuận lợi cho việc mở rộng bộ phần tử bằng cách cho phép dữ liệu ghi trong các lược đồ khác được gắn vào biểu ghi của MODS. Những dữ liệu thêm này được mô tả bởi một không gian tên XML khác (namespace). Các phần tử MODS khác: . typeOfResource: Loại tài liệu được mô tả (văn bản, bản đồ, tài liệu đa phương tiện ). . genre: thể loại, thuật ngữ mô tả chi tiết hơn so với typeOfResource. . language: mô tả ngôn ngữ của tài liệu, sử dụng mã ngôn ngữ. . abstract: tóm tắt nội dung tài liệu. . tableOfContents: mục lục nội dung tài liệu, có thể mô tả trực tiếp hoặc đưa một liên kết (link) đến danh mục đó. . targetAudience: thuật ngữ xác định đối tượng người sử dụng (ví dụ: người lớn, thiếu niên ), lấy từ danh mục có kiểm soát của MARC. . note: phần tử này dành cho việc ghi chú thêm thông tin liên quan mà không đưa được vào phần tử nào khác. Phùng Thanh Vân. K50 Thông tin - Thư viện 55
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện . classification: số phân loại, lấy từ LCC hoặc DDC. . identifier: số định danh (như ISBN hoặc ISSN). . location: mã xếp giá, chỉ tới vị trí của tài liệu. . accessRestriction: thông tin về mức độ hạn chế truy cập tài liệu, bao gồm cả thông tin bản quyền. . recordInfo: thông tin về việc tạo lập biểu ghi MODS, gồm ngày tháng tạo lập, số kiểm soát CHƯƠNG 4 ĐÁNH GIÁ VÀ KIẾN NGHỊ Đẩy mạnh ứng dụng công nghệ thông tin vào hoạt động nghề nghiệp của mình đã và đang giúp cho ngành Thông tin - Thư viện nước ta thực hiện chuẩn hóa nghiệp vụ. Các công nghệ được áp dụng để có thể tăng cường khả năng trao đổi các nguồn dữ liệu trên các cơ sở dữ liệu khác nhau về cấu trúc cũng như ngôn ngữ. Giai đoạn đầu tin học hóa hoạt động nghiệp vụ thư viện, chuẩn MARC nói chung và MARC 21 nói riêng đóng vai trò rất quan trọng, tạo ra hiệu quả Phùng Thanh Vân. K50 Thông tin - Thư viện 56
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện xã hội không nhỏ, đáp ứng nhu cầu lưu trữ và tìm kiếm thông tin. Tuy nhiên, trong quá trình sử dụng, MARC đã bộc lộ nhiều hạn chế như: - Quá phức tạp cho những người sử dụng không được đào tạo sâu về nghiệp vụ thư viện. - Có nhiều khổ mẫu MARC khác nhau. - Thiếu tính linh hoạt. - Rất chậm khi cần thay đổi. - Không phù hợp để mô tả tài liệu số và nguồn thông tin từ Web. Môi trường thông tin đang dần thay đổi, từ các tài liệu vật lý sang các nguồn tin điện tử, từ các biểu ghi thư mục sang nguồn thông tin web, từ các tài liệu cố định không thay đổi đến các thông tin cập nhật nhanh chóng, tức thì. Nguồn thông tin phong phú hiện nay đã dần vượt khỏi mức độ kiểm soát của thư viện, và việc tiếp cận tới chúng chỉ cần qua một giao diện duy nhất là yêu cầu rất cao đặt ra đối với công tác thư viện. Với MARC, công việc này là không thể thực hiện, chính vì vậy một công nghệ hiện đại hơn đã xuất hiện cùng với ngôn ngữ XML tỏ ra hiệu quả hơn rất nhiều. Nếu như MARC là ngôn ngữ đánh dấu chỉ dành cho thông tin thư mục thì XML là ngôn ngữ đánh dấu vượt trội hơn nhiều vì nó có thể áp dụng đối với bất kỳ loại dữ liệu nào. Ưu thế của XML so với MARC có thể kể đến: - Thay vì định dạng ngôn ngữ mặc định là UTF-8, ngôn ngữ sử dụng trong XML rất đa dạng, chỉ cần gắn thuộc tính xml:lang cho bất kỳ phần tử nào trong tài liệu. - Tính mở rộng. - Khả năng liên thông. - Xử lý tốt hơn đối với các dữ liệu thư mục mang tính thứ bậc. - Cho phép liên kết giữa các dữ liệu. Phùng Thanh Vân. K50 Thông tin - Thư viện 57
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện - Tăng cường khả năng chia sẻ dữ liệu. - Nhanh chóng trở thành định dạng dữ liệu phổ biến cho nguồn thông tin web. Việc sử dụng XML đã mở ra nhiều cơ hội cho lĩnh vực thư viện: - Dữ liệu có thể tạo ra một lần và xuất bản với nhiều định dạng khác nhau. - Biểu ghi thư mục có thể được xem trực tiếp bằng các trình duyệt web, các máy tìm tin. - Biểu ghi có thể chuyển đổi giữa XML và MARC mà không bị mất dữ liệu. - Các nguồn tin truyền thống có thể hợp nhất với các kho dữ liệu phát triển nhanh chóng về văn bản số, cơ sở dữ liệu, và biểu ghi siêu dữ liệu. TS. Hoàng Lê Minh phát biểu trong bài tham luận “Giải pháp công nghệ hỗ trợ Liên thông” tại Lễ kỷ niệm một năm thành lập Liên hiệp Thư viện các trường Đại học khu vực phía Nam đã nhấn mạnh tầm quan trọng của việc ứng dụng các giải pháp công nghệ nguồn mở và các chuẩn mở trong việc xây dựng các kho dữ liệu mở để quản lý và chia sẻ thông tin trên Internet và đặc biệt lưu ý rằng XML là lựa chọn tất yếu để thay thế cho MARC trong bối cảnh Việt Nam. XML là một công nghệ mới, song với khả năng ứng dụng cao nó đã khẳng định được vai trò của mình trong nhiều lĩnh vực trong đó có lĩnh vực Thông tin - Thư viện. Các thư viện trên thế giới, đặc biệt là Thư viện Quốc hội Mỹ đã và đang ứng dụng công nghệ này và đạt nhiều thành tựu lớn thúc đẩy sự phát triển của hoạt động thư viện. Đối với Việt Nam, trong điều kiện phát triển chưa cao và kinh phí còn hạn chế nên việc ứng dụng XML trong lĩnh vực Thông tin - Thư viện còn chưa được phổ biến. Phùng Thanh Vân. K50 Thông tin - Thư viện 58
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện Với một số hiểu biết có được sau khi nghiên cứu thực hiện Khóa luận này, tôi xin đưa ra một số kiến nghị như sau: - Về công nghệ: Đầu tư kinh phí về máy móc, trang thiết bị hiện đại, nâng cao hiệu quả hoạt động, đồng thời tăng cường vốn tài liệu thư viện, đặc biệt đối với dạng tài liệu điện tử, tài liệu số. Lựa chọn ứng dụng công nghệ phù hợp với tình hình phát triển thư viện nước ta, đặc biệt lưu ý đến XML vì đây là một công nghệ ưu việt đã được chứng minh từ nhiều nước trên thế giới. Nên sử dụng MARC XML Schema vì nó đơn giản hơn MARC DTD, cho phép trao đổi thông tin giữa các nguồn khác nhau bằng các kỹ thuật khác nhau. Phát triển tập hợp siêu dữ liệu XML, tạo điều kiện thuận lợi cho việc chia sẻ thông tin với các ứng dụng bên ngoài khác. - Về con người: Tăng cường đào tạo đội ngũ cán bộ về trình độ tin học cũng như nghiệp vụ chuyên môn, có thể nhanh chóng tiếp cận và sử dụng công nghệ hiện đại. Giao lưu học hỏi kinh nghiệm với các nước tiên tiến trên thế giới, khảo sát các mô hình thư viện hiện đại để thấy được cách thức tổ chức hoạt động, vận hành hệ thống thư viện của họ. Mời các ý kiến đóng góp của các chuyên gia nước ngoài về việc lựa chọn công nghệ phù hợp, có thể áp dụng đạt hiệu quả cao. Phùng Thanh Vân. K50 Thông tin - Thư viện 59
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện KẾT LUẬN Sự ra đời của ngôn ngữ đánh dấu nói chung và ngôn ngữ đánh dấu mở rộng - XML nói riêng đã làm thay đổi rõ rệt đối với lĩnh vực công nghệ thông tin cũng như các lĩnh vực khác đã ứng dụng nó. XML, với sự kế thừa những ưu điểm và khắc phục những nhược điểm của SGML và HTML, đã trở thành một ngôn ngữ đánh dấu linh hoạt với nhiều tính năng mở rộng phù hợp với mục đích sử dụng. Lĩnh vực Thông tin - Thư viện cũng là một trong những lĩnh vực đã ứng dụng thành công ngôn ngữ đánh dấu mở rộng XML. Thư viện Quốc hội Hoa Kỳ đã và đang nghiên cứu và biến đổi nó trở thành công cụ đặc trưng cho ngành Thông tin - Thư viện. Về khía cạnh biên mục hiện đại, các khổ mẫu thư mục sử dụng XML làm khuôn dạng để mã hóa các trường thông tin siêu dữ liệu của tư liệu được biên mục, ví dụ như: Dublin Core, MARC XML, MODS, METS, ONIX, TEI Phùng Thanh Vân. K50 Thông tin - Thư viện 60
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện XML là một công nghệ mới, với nhiều tính năng ưu việt nên đã được ứng dụng rất nhiều đối với các thư viện trên thế giới. Song, đối với Việt Nam việc ứng dụng công nghệ này chưa được phổ biến. Việc ứng dụng công nghệ thông tin là rất quan trọng, giúp cho hệ thống thư viện Việt Nam được kéo lại gần hơn với các thư viện trên thế giới. Hy vọng rằng trong tương lai không xa, thư viện Việt Nam có thể tiếp cận, sử dụng công nghệ XML cũng như các ứng dụng công nghệ nói chung để nâng cao chất lượng hoạt động và phục vụ của mình. DANH MỤC TÀI LIỆU THAM KHẢO 1. Nguyễn Phương Lan (2001), XML - Nền tảng và ứng dụng, NXB Giáo dục, Hà Nội. 2. Vũ Văn Sơn (2002), Bản dịch Cấu trúc khổ mẫu biên mục MARC 21 đầy đủ. 3. Trần Thị Quý - Đỗ Văn Hùng (2007), Tự động hóa trong hoạt động Thông tin - Thư viện, Đại học Quốc gia Hà Nội, Hà Nội. 4. KS. Phú Hưng - Quang Anh (2008), Sổ tay HTML và JavaScript, NXB Hồng Đức, Hà Nội. 5. Nguyễn Thị Nhuần (2005), XML và ứng dụng trong hoạt động thư viện, Khóa luận tốt nghiệp, Trường Đại học Khoa học Xã hội và Nhân văn - Đại học Quốc gia, Hà Nội. 6. Simon ST. Laurent, XML - A primer, MIS:Press, New York. 7. Richard Gartner (2003), MODS: Metadata Object Description Schema. 8. Wikipedia Phùng Thanh Vân. K50 Thông tin - Thư viện 61
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện 9. XML from the inside out 10. Introducing XML 11. XML Tutorial 12. MARC Standards 13. Getting Started with XML: A manual and Workshop 14. METS: An overview and Tutorial 15. Outline of Elements and Attributes in MODS Version 3.3 Phùng Thanh Vân. K50 Thông tin - Thư viện 62
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện MỤC LỤC MỞ ĐẦU 1 1. Tính cấp thiết của đề tài 1 2. Mục đích nghiên cứu 2 3. Phạm vi nghiên cứu 2 4. Phương pháp nghiên cứu 2 5. Đóng góp về lý luận và thực tiễn của Khóa luận 3 6. Bố cục của Khóa luận 3 CHƯƠNG 1. TỔNG QUAN VỀ NGÔN NGỮ ĐÁNH DẤU - MARKUP LANGUAGE 4 1.1. Ngôn ngữ đánh dấu tổng quát - GML 4 1.2. Ngôn ngữ đánh dấu tổng quát chuẩn - SGML 4 1.3. Ngôn ngữ đánh dấu siêu văn bản - HTML 5 Phùng Thanh Vân. K50 Thông tin - Thư viện 63
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện 1.3.1. Khái quát chung 5 1.3.2. Cú pháp các thẻ HTML 6 CHƯƠNG 2. NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG - XML 12 2.1. Quá trình phát triển 12 2.2. Các phần của tài liệu XML 13 2.3. Tài liệu XML 14 2.3.1. Tài liệu XML hợp khuôn dạng (Well-formed document) 14 2.3.2. Tài liệu XML hợp lệ (Valid document) 19 2.3.3. Bộ phân tích XML (XML Parser) 21 2.3.4. Bộ kiểm tra XML (XML Validator) 23 2.3.5. CSS và XSL 24 2.4. Bảng định kiểu CSS và XSLT 24 2.4.1. Hiển thị tài liệu XML với CSS 24 2.4.2. Chuyển đổi XML với XSLT 28 2.5. XML và HTML 29 CHƯƠNG 3. MỘT SỐ ỨNG DỤNG XML TRONG LĨNH VỰC THÔNG TIN - THƯ VIỆN 31 3.1. MARC XML 31 3.1.1. MARC DTD 32 3.1.2. MARC XML DTD 33 3.2. Chuẩn mã hóa và truyền tải siêu dữ liệu - METS 35 3.2.1. Khái quát về METS 35 3.2.2. Các thành phần của METS 37 3.3. Lược đồ mô tả phần tử siêu dữ liệu - MODS 46 3.3.1. Khái quát về MODS 46 3.3.2. Vận hành MODS 49 Phùng Thanh Vân. K50 Thông tin - Thư viện 64
- Tìm hiểu ngôn ngữ XML - Một số ứng dụng trong lĩnh vực Thông tin - Thư viện CHƯƠNG 4. ĐÁNH GIÁ VÀ KIẾN NGHỊ 56 KẾT LUẬN 60 DANH MỤC TÀI LIỆU THAM KHẢO 61 Phùng Thanh Vân. K50 Thông tin - Thư viện 65