Lịch sử các ngôn ngữ đánh dấu

Một phần của tài liệu Sự khác biệt giữa C# và VB (Trang 42 - 45)

I.1. Khái niệm “đánh dấu“ (markup)

Nh chúng ta đã biết, khái niệm “đánh dấu” ở đây ám chỉ việc gán thẻ (tagging) cho các tài liệu điện tử vì hai mục đích: định dạng văn bản hoặc tạo nên các cấu trúc theo một ý nghĩa nào đó cho một tài liệu để có thể kết xuất hoặc trao đổi, ví dụ nh kết xuất ra máy in hoặc tải lên World Wide Web.

Nếu chúng ta đã từng sử dụng một trình soạn thảo HTML ví dụ nh Microsoft FrontPage hay chơng trình soạn thảo ví dụ nh MicrosoftWord thì chắc hẳn chúng ta đã quen với khái niệm thay đổi định dạng văn bản trong một tài liệu. Vậy các chơng trình đó thực hiện thao tác này ra sao? Thực ra các trình soạn thảo đó đã dùng các kí tự “đánh dấu” để định dạng văn bản. Ta xét một ví dụ sau đơn giản. Giả sử ta tạo một văn bản theo định dạng .rtf(rich text format) trong trình soạn thảo WordPad:

Hình 12 Minh hoạ soạn thảo trong WordPad

Hình 13 Mã của văn bản đọc bằng NotePad

Nh ta thấy phần code của văn bản khác hơn nhiều so với phần hiển thị của nó .Nh vậy trình soạn thảo (ở đây là WordPad) xử lí các thẻ đánh dấu trong code để hiển thị cho ngời sử dụng. Ví dụ nh thẻ \rtf1 báo cho trình soạn thảo biết đây là văn bản theo định dạng .rtf, thẻ \par bắt đầu một dòng mới ... Trình soạn thảo chỉ có nhiệm vụ đọc các thẻ gán và diễn dịch ý nghĩa các thẻ sau đó hiển thị cho ngời sử dụng.

Tuy nhiên nếu ta tạo một văn bản nh trên theo định dạng Word. Phần code của văn bản có dạng sau :

Trình soạn thảo Word đã thêm một số thành phần vào các thẻ định dạng .rtf và lu toàn bộ tài liệu dới dạng file nhị phân và ta không thể đọc đợc dới dạng file văn bản. Ta còn gọi đây là định dạng theo kiểu đóng tức là các hãng khác nhau có thể đa ra các định dạng khác nhau cho file tập tin nhị phân và các trình soạn thảo riêng biệt phải hiểu rõ ý nghĩa của luồng các bit vào từ đó phiên dịch ra kết quả cho ngời sử dụng. Còn định dạng theo kiểu mở tức là các file nhị phân đó đã đợc chuẩn hoá .Ví dụ nh khi trình soạn thảo đọc đợc các bit 1100001 thì nó sẽ diễn giải thành số ‘97’ và tập tin nhị phân đợc chuẩn hoá còn đợc gọi là tập tin văn bản hay là mang tính chất mở.

Bên cạnh việc dùng để định dạng văn bản, khái niệm “đánh dấu” còn đợc sử dụng để tạo ra các cấu trúc hay ngữ cảnh của các thành phần.Ví dụ nh ta có thể xác định một tài liệu chỉ chứa các thành phần nh tên, tuổi, ngày sinh. Ngoài ra ta còn có thể định dạng tài liệu nếu không chứa thành phần tên thì không chứa các thành phần nh tuổi, ngày sinh. Mặt khác kiểu của các thành phần cũng đợc xác định nh thành phần tên ở dới dạng văn bản, thành phần ngày sinh dới dạng ngày tháng và thành phần tuổi dới dạng số. Nh vậy ở đây khái niệm “đánh dấu” đợc dùng để thiết lập cấu trúc của tài liệu và ngữ nghĩa của các thành phần. Ta tạo ra một tài liệu có nội dung nh ví dụ trên bằng ngôn ngữ “đánh dấu” HTML .Dới đây là phần code:

Hình 15 Tạo văn bản HTML trong NotePad

Theo định dạng của ngôn ngữ HTML thì tài liệu đã đợc cấu trúc hoá mặc dù cha đợc chặt chẽ. HTML sử dụng các thẻ để “đánh dấu”, ví dụ nh nội dung của một trang HTML nằm trong cặp thẻ <HTML> và </HTML>. Sau đó là đến các thành phần nh Head, Title, Body... Tất cả các đoạn code đều có chỗ xác định và mang ý nghĩa trong trang HTML ví dụ nh thẻ “đánh dấu” <B> và </B> cho biết phần nội dung nằm giữa hai thẻ này phải đợc in đậm, thẻ <BR> xác định một chỗ xuống dòng...

Hiện nay có hai loại ngôn ngữ đánh dấu đang đợc sử dụng đó là ngôn ngữ đánh dấu chuyên dụng và ngôn ngữ đánh dấu chung. Ngôn ngữ đánh dấu chuyên dụng đợc sử dụng để tạo ra code chuyên dụng cho một trình ứng dụng nào đó hoặc thiết bị nào đó. Các ngôn ngữ này đợc xây dựng phục vụ cho các mục đích chuyên biệt. Ví dụ về ngôn ngữ đánh dấu chuyên dụng nh ngôn ngữ HTML để định dạng tài liệu cho mục đích Web hay ngôn ngữ RTF để định dạng văn bản. Các ngôn ngữ này có đặc điểm là: số lợng các thẻ hạn chế, các tài liệu không có tính khả chuyển do đợc thiết kế cho một trình ứng dụng cụ thể.

Vào những năm 70 giáo s C.F.Goldfarb (hãng IBM) và các đồng nghiệp đa ra một phơng pháp diễn đạt văn bản không xác định riêng cho một trình ứng dụng hay một thiết bị nào. Phơng pháp đó có hai điểm cơ bản, đó là: các ‘đánh dấu’ biểu thị cấu trúc của tài liệu chứ không diễn đạt cho việc định dạng kiểu văn bản và các qui tắc về ‘đánh dấu’ phải đợc thiết lập nghiêm ngặt sao cho code dễ hiểu đối với các chơng trình và con ngời. Kết quả của ý tởng trên làm tiền đề cho sự ra đời ngôn ngữ DCF GML(Document Composition Facility Generalized Markup Language) do IBM phát triển .Sau đó vào năm 1986 tổ chức ISO(International Srandard Organization) phê chuẩn ngôn ngữ SGML(Standard Generalized Markup Language)

Một phần của tài liệu Sự khác biệt giữa C# và VB (Trang 42 - 45)