danh sách không đánh số, có thể dùng lẫn với nhau.
sách.
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
10
Phùng Thanh Vân. K50 Thông tin - Thư viện
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
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
11
Phùng Thanh Vân. K50 Thông tin - Thư viện
một trang HTML đẹp mắt.
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
12
Phùng Thanh Vân. K50 Thông tin - Thư viện
Text Encoding Initiative (TEI) xây dựng.
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à kết thúc bằng ?>. Ví dụ:
13
Phùng Thanh Vân. K50 Thông tin - Thư viện
Không gian tên (Namespace):
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:
14
Phùng Thanh Vân. K50 Thông tin - Thư viện
- Phần khai báo phải đặt ở dòng đầu tiên của trang tài liệu.
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ự “<” trong một phần tử XML sẽ là lỗi vì ký tự “<” được hiểu là
dấu hiệu bắt đầu phần tử mới. Trong trường hợp này, ta sẽ dùng ký
tự thay thế là “<”. Trong XML, có 5 ký tự thay thế như vậy:
<
<
>
>
& &
„
'
“
" less than
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
15
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
Ở đâ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
16
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
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à
17
Phùng Thanh Vân. K50 Thông tin - Thư viện
Ứng dụng XML
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
18
Phùng Thanh Vân. K50 Thông tin - Thư việ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.
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ẻ .
Định nghĩa kiểu tư liệu:
Một tài liệu XML được xem là hợp lệ và có giá trị khi toàn bộ các phần
tử trong tài liệu được định nghĩa kiểu (type definition).
Định nghĩa kiểu tư liệu (Document Type Definition - DTD) là cách thức
khai báo phần tử XML chỉ chứa đơn thuần dữ liệu text hay nó có chứa các
phần tử con khác.
Cú pháp:
Ví dụ về DTD:
19
Phùng Thanh Vân. K50 Thông tin - Thư viện
nhande (#PCDATA)>
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
Phần tử gốc chứa các phần tử con “nhande”, “tacgia”, “thongtinxuatban”.
Phần tử “nhande” chứa dữ liệu (#PCDATA), trong khi phần tử
“thongtinxuatban” chứa các phần tử con là “noixb”, “nhaxb”, “namxb”…
Khai báo phần tử:
Khai báo phần tử đượ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:
20
Phùng Thanh Vân. K50 Thông tin - Thư viện
Phần tử có chứa phần tử con:
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
21
Phùng Thanh Vân. K50 Thông tin - Thư việ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
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ỉ:
http://msdn.microsoft.com/downloads/tools/xmlparser
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ỉ http://java.sun.com/products/xml
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ỉ http://www.python.org/topics/xml
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ể
22
Phùng Thanh Vân. K50 Thông tin - Thư viện
cần đến những bộ kiểm tra chuyên dụng hơ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
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ỉ http://www.w3.org/People/Raggett/tidy/
http://www.stg.brown.edu/service/xmlvalid/ là một địa chỉ cho phép kiểm
23
Phùng Thanh Vân. K50 Thông tin - Thư viện
tra tính hợp lệ của tài liệu XML ngay trên internet.
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 để
24
Phùng Thanh Vân. K50 Thông tin - Thư viện
chỉ rõ cách thức mà tài liệu XML sẽ được hiển thị.
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
25
Phùng Thanh Vân. K50 Thông tin - Thư viện
cách hiển thị thông thường). Các giá trị quan trọng nhất để hiển thị là: Theo
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;
26
Phùng Thanh Vân. K50 Thông tin - Thư viện
margin-left: 85%;
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;
27
Phùng Thanh Vân. K50 Thông tin - Thư viện
list-style: decimal;
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
28
Phùng Thanh Vân. K50 Thông tin - Thư viện
tài liệu XML thành dạng tài liệu có thể đọc. Đó là Ngôn ngữ định kiểu mở
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 “<” và “>” (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
29
Phùng Thanh Vân. K50 Thông tin - Thư viện
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
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
30
Phùng Thanh Vân. K50 Thông tin - Thư viện
đổi dữ liệu tự động giữa các kho thông tin trên mạng Internet.
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).
31
Phùng Thanh Vân. K50 Thông tin - Thư viện
Mô tả nguồn thông tin gốc với cú pháp XML.
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-
32
Phùng Thanh Vân. K50 Thông tin - Thư viện
SGML cung cấp sơ đồ cấu trúc đầy đủ giữa hai chuẩn dữ liệu. MARC-SGML
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
33
Phùng Thanh Vân. K50 Thông tin - Thư viện
Authority DTD Group) bắt đầu bằng tiền tố “mrca”.
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:
34
Phùng Thanh Vân. K50 Thông tin - Thư viện
Tiền tố là phần đầu biểu là “mrcaldr” hoặc “mrcbldr”
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
35
Phùng Thanh Vân. K50 Thông tin - Thư viện
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
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ữ
36
Phùng Thanh Vân. K50 Thông tin - Thư viện
liệu mô tả gắn bên trong tài liệu, hoặc cả hai.
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ề
37
Phùng Thanh Vân. K50 Thông tin - Thư viện
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
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.
Jerome McDonough
Ann Butler
Ví dụ về đầu tài liệu (METS header):
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
38
Phùng Thanh Vân. K50 Thông tin - Thư viện
bên trong (phần tử ), hoặc cả hai.
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ừ
LABEL="Berol Collection Finding Aid">urn:x-nyu:fales1735
bên ngoài. Ví dụ:
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
39
Phùng Thanh Vân. K50 Thông tin - Thư viện
kỳ đặt trong phần tử thuộc phần tử . Ví dụ:
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.
40
Phùng Thanh Vân. K50 Thông tin - Thư viện
- Siêu dữ liệu về quyền sở hữu trí tuệ (phần tử ).
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ử .
image/tiff
LZW
8
1
NYU Press
Một ví dụ về :
41
Phùng Thanh Vân. K50 Thông tin - Thư viện
3.2.2.4. Vùng dữ liệu (File Section):
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
http://dlib.nyu.edu/tamwag/beame.xml
CREATED="2001-05-17" GROUPID="AUDIO1">
http://dlib.nyu.edu/tamwag/beame.wav
CREATED="2001-05-18" GROUPID="AUDIO1">
http://dlib.nyu.edu/tamwag/beame.mp3
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
42
Phùng Thanh Vân. K50 Thông tin - Thư viện
khác nhau của đối tượng số, cùng chứa một thông tin cơ bả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
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ử
đó.
TYPE="oral history">
ORDER="1">
BETYPE="IDREF" />
BETYPE="TIME" />
BETYPE="TIME" />
43
Phùng Thanh Vân. K50 Thông tin - Thư viện
Ví dụ đơn giản về bản đồ cấu trúc:
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
BETYPE="IDREF" />
BETYPE="TIME" />
BETYPE="TIME" />
ORDER="3">
BETYPE="IDREF" />
BETYPE="TIME" />
BETYPE="TIME" />
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
Phùng Thanh Vân. K50 Thông tin - Thư viện
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
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:
45
Phùng Thanh Vân. K50 Thông tin - Thư viện
3.2.2.7. Vùng thuộc tính (Behavior):
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.
CREATED="2002-05-25T08:32:00" LABEL="UVA Std Image Disseminator"
GROUPID="DISS1" ADMID="AUDREC1">
LOCTYPE="URN" xlink:href="uva-bdef:stdImage"/>
LOCTYPE="URN" xlink:href="uva-bmech:BETTER-imageMech"/>
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
46
Phùng Thanh Vân. K50 Thông tin - Thư viện
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
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.
47
Phùng Thanh Vân. K50 Thông tin - Thư viện
Tập hợp phần tử dễ tương thích với dữ liệu thư viện hơn ONIX.
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ể
48
Phùng Thanh Vân. K50 Thông tin - Thư viện
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,
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
49
Phùng Thanh Vân. K50 Thông tin - Thư viện
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
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ư
Sound and fury :
the making of the punditocracy /
Alterman, Eric
creator
text
bibliography
nyu
Ithaca, N.Y
Cornell University Press
c1999
1999
monographic
eng
vii, 322 p. ; 23 cm.
Eric Alterman.
50
Phùng Thanh Vân. K50 Thông tin - Thư viện
viện Quốc hội Mỹ:
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
51
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
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.
52
Phùng Thanh Vân. K50 Thông tin - Thư viện
titleInfo (thông tin về nhan đề):
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
53
Phùng Thanh Vân. K50 Thông tin - Thư viện
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
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
54
Phùng Thanh Vân. K50 Thông tin - Thư viện
lý, hay phụ đề thời gian.
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à
55
Phùng Thanh Vân. K50 Thông tin - Thư viện
không đưa được vào phần tử nào khác.
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
56
Phùng Thanh Vân. K50 Thông tin - Thư viện
nói chung và MARC 21 nói riêng đóng vai trò rất quan trọng, tạo ra hiệu quả
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.
57
Phùng Thanh Vân. K50 Thông tin - Thư viện
- Cho phép liên kết giữa các dữ liệu.
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
58
Phùng Thanh Vân. K50 Thông tin - Thư viện
lĩnh vực Thông tin - Thư viện còn chưa được phổ biế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
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
59
Phùng Thanh Vân. K50 Thông tin - Thư viện
lựa chọn công nghệ phù hợp, có thể áp dụng đạt hiệu quả cao.
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,
60
Phùng Thanh Vân. K50 Thông tin - Thư viện
MODS, METS, ONIX, TEI…
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.
61
Phùng Thanh Vân. K50 Thông tin - Thư viện
8. Wikipedia
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
http://en.wikipedia.org/
9. XML from the inside out
http://www.xml.com/
10. Introducing XML
http://www.itwriting.com/xmlintro.php
11. XML Tutorial
http://www.w3schools.com/xml/default.asp
12. MARC Standards
http://www.loc.gov/marc/
13. Getting Started with XML: A manual and Workshop
http://infomotions.com/musings/getting-started/getting-started.html
14. METS: An overview and Tutorial
http://www.loc.gov/standards/mets/METSOverview.v2.html
15. Outline of Elements and Attributes in MODS Version 3.3
62
Phùng Thanh Vân. K50 Thông tin - Thư viện
http://www.loc.gov/standards/mods/mods-outline.html
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
63
Phùng Thanh Vân. K50 Thông tin - Thư viện
1.3. Ngôn ngữ đánh dấu siêu văn bản - HTML ............................................. 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
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
64
Phùng Thanh Vân. K50 Thông tin - Thư viện
3.3.2. Vận hành MODS ............................................................................ 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
CHƯƠNG 4. ĐÁNH GIÁ VÀ KIẾN NGHỊ .................................................. 56
KẾT LUẬN ..................................................................................................... 60
65
Phùng Thanh Vân. K50 Thông tin - Thư viện
DANH MỤC TÀI LIỆU THAM KHẢO ........................................................ 61