XML: Bài 1.1. Giới thiệu về XML

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Tổng quan về Bài học số 1

Chào mừng bạn đến với Bài học số 1, Giới thiệu về XML. Bài học này mô tả những hạn chế của các ngôn ngữ đánh dấu trước đó đã dẫn đến sự phát triển của XML. Bài học này cũng giải thích cấu trúc và vòng đời của tài liệu XML; trình bày nhiều hơn về cú pháp XML và các phần khác nhau của tài liệu XML.

Trong bài học này, bạn sẽ tìm hiểu về:

  • Giới thiệu về XML
  • Khám phá XML
  • Làm việc với XML
  • Cú pháp XML

1.1. Giới thiệu về XML

Trong bài học đầu tiên này, Giới thiệu về XML, bạn sẽ học cách:

  • Vạch ra các tính năng của ngôn ngữ đánh dấu và liệt kê các nhược điểm của chúng.
  • Định nghĩa và mô tả XML.
  • Nêu các lợi ích và phạm vi của XML.

1.1.1. Đặc điểm của ngôn ngữ đánh dấu

Các định dạng điện tử ban đầu như troff và TEX, quan tâm nhiều hơn đến việc trình bày nội dung hơn là cấu trúc tài liệu.

Ngôn ngữ đánh dấu được sử dụng để xác định ý nghĩa và tổ chức cấu trúc của tài liệu văn bản. Các ngôn ngữ đánh dấu giúp tài liệu bằng cách tạo cho chúng một giao diện mới và định dạng văn bản.

Các ngôn ngữ đánh dấu được phân loại thành các loại sau:

  • Đánh dấu trình bày: Ngôn ngữ đánh dấu trình bày tập trung vào cấu trúc của tài liệu.
  • Đánh dấu thủ tục: Đánh dấu thủ tục tương tự như đánh dấu bản trình bày nhưng trước đây, người dùng sẽ có thể chỉnh sửa tệp văn bản. Tại đây, người dùng được phần mềm giúp sắp xếp văn bản. Các ngôn ngữ đánh dấu này được sử dụng trong các tổ chức xuất bản chuyên nghiệp.
  • Đánh dấu mô tả: Đánh dấu mô tả còn được gọi là đánh dấu ngữ nghĩa. Loại đánh dấu này xác định nội dung của tài liệu.

Hai loại ngôn ngữ đánh dấu phổ biến trong thời gian gần đây. Chúng như sau:

  • Ngôn ngữ đánh dấu tổng quát: Loại ngôn ngữ này mô tả cấu trúc và ý nghĩa của văn bản trong tài liệu.
  • Ngôn ngữ đánh dấu cụ thể: Loại ngôn ngữ đánh dấu này được sử dụng để tạo mã ứng dụng cụ thể.

Ngôn ngữ đánh dấu tổng quát (GML), một dự án của IBM, đã giúp các tài liệu được chỉnh sửa, định dạng và tìm kiếm bằng các chương trình khác nhau bằng các thẻ dựa trên nội dung của nó. Ngôn ngữ đánh dấu tổng quát (GML) được phát triển để thực hiện những điều sau:

  • Đánh dấu chỉ nên mô tả cấu trúc của tài liệu chứ không mô tả sự tư cách của nó.
  • Cú pháp của ngôn ngữ đánh dấu phải được tuân thủ nghiêm ngặt để mã lệnh có thể được đọc rõ ràng bởi chương trình phần mềm hoặc con người.

Năm 1980, Ủy ban ANSI đã tạo ra Ngôn ngữ đánh dấu tổng quát tiêu chuẩn (SGML), một sơ đồ mã hóa toàn diện và bộ công cụ linh hoạt để phát triển các ngôn ngữ đánh dấu chuyên biệt. Ngôn ngữ đánh dấu tổng quát tiêu chuẩn (SGML) là ngôn ngữ kế thừa từ GML. Năm 1986, Tổ chức Tiêu chuẩn hóa Quốc tế (ISO) đã mua lại nó như một tiêu chuẩn. SGML là một ngôn ngữ meta (siêu ngôn ngữ) vì các ngôn ngữ khác được tạo ra từ nó. SGML có một cú pháp để bao gồm đánh dấu trong tài liệu. SGML cũng có một cú pháp để mô tả những thẻ nào được phép ở các vị trí khác nhau. Ứng dụng SGML bao gồm khai báo SGML và Định nghĩa loại tài liệu SGML (DTD).

Năm 1989, Ngôn ngữ Đánh dấu Siêu văn bản (HTML), một công nghệ chia sẻ thông tin bằng cách sử dụng các tài liệu văn bản siêu liên kết được phát triển. HTML (Ngôn ngữ đánh dấu siêu văn bản) được tạo từ SGML. Trong những năm đầu, nó đã được các nhà khoa học và kỹ thuật tiếp cận rộng rãi. HTML ban đầu được tạo ra để đánh dấu các giấy tờ kỹ thuật, để chúng có thể được chuyển qua các nền tảng khác nhau. Tuy nhiên, theo thời gian, nó cũng bắt đầu được sử dụng để đánh dấu các tài liệu phi kỹ thuật. Khi việc sử dụng Internet trở nên phổ biến, các nhà sản xuất trình duyệt bắt đầu phát triển các thẻ khác nhau để hiển thị tài liệu với nhiều tính sáng tạo hơn. Tuy nhiên, điều này đã tạo ra vấn đề cho việc triển khai trên các trình duyệt khác nhau với sự gia tăng số lượng thẻ được sử dụng.

Hình 1.1 mô tả sự phát triển của các ngôn ngữ đánh dấu.

Sự phát triển của ngôn ngữ đánh dấu

Hình 1.1: Sự phát triển của các ngôn ngữ đánh dấu

Các tính năng và nhược điểm của các ngôn ngữ đánh dấu trước đó là:

Ø Tính năng

  1. GML mô tả tài liệu về định dạng, cấu trúc và các thuộc tính khác.
  2. SGML đảm bảo rằng hệ thống có thể biểu diễn dữ liệu theo cách riêng của nó.
  3. HTML sử dụng văn bản ASCII, cho phép người dùng sử dụng bất kỳ trình soạn thảo văn bản nào.

Ø Hạn chế

  1. GML và SGML không phù hợp để trao đổi dữ liệu qua Web.
  2. HTML có các hướng dẫn về cách hiển thị nội dung hơn là nội dung mà chúng có.

1.1.2. Sự phát triển của XML

Để giải quyết các vấn đề do các ngôn ngữ đánh dấu trước đó nêu ra, Ngôn ngữ đánh dấu có thể mở rộng (XML) đã được tạo. XML là một khuyến nghị của W3C.

XML là một tập hợp các quy tắc để xác định các thẻ ngữ nghĩa chia tài liệu thành các phần và xác định các phần khác nhau của tài liệu. XML được phát triển trên HTML vì những khác biệt cơ bản giữa chúng được đưa ra trong bảng 1.1.

HTML

XML

HTML được thiết kế để hiển thị dữ liệu.

XML được thiết kế để mang dữ liệu.

HTML hiển thị dữ liệu và tập trung vào giao diện của  dữ  liệu.

XML mô tả dữ liệu và tập trung vào dữ liệu là gì.

HTML hiển thị thông tin.

XML mô tả thông tin.

Bảng 1.1: Sự khác biệt giữa HTML và XML

Hình 1.2 cho thấy một đoạn mã XML.

Ví dụ về mã XML

Hình 1.2: Mã XML

1.1.3. Các tính năng của XML

Các tính năng của XML như sau:

  • XML là viết tắt của Ngôn ngữ đánh dấu có thể mở rộng (eXtensible Markup Language)
  • XML là một ngôn ngữ đánh dấu giống như HTML
  • XML được thiết kế để mô tả dữ liệu
  • Các thẻ XML không được xác định trước. Bạn phải xác định các thẻ của riêng mình
  • XML sử dụng một DTD hoặc một Lược đồ XML để mô tả dữ liệu
  • XML với một DTD hoặc Lược đồ XML được thiết kế để tự mô tả

1.1.4. Đánh dấu XML

 Đánh dấu XML xác định bố cục vật lý và logic của tài liệu. XML có thể được coi là một bộ chứa thông tin. Nó chứa hình dạng, nhãn, cấu trúc và cũng bảo vệ thông tin. XML sử dụng cấu trúc dựa trên cây để biểu diễn một tài liệu. Nền tảng cơ bản của XML được đặt ra bởi các ký hiệu được nhúng trong văn bản được gọi là đánh dấu. Đánh dấu kết hợp văn bản và thông tin bổ sung về văn bản như cấu trúc và cách trình bày của nó. Đánh dấu chia thông tin thành một hệ thống phân cấp dữ liệu ký tự và các phần tử giống như vùng chứa và các thuộc tính của nó. Một số chương trình phần mềm xử lý tài liệu điện tử sử dụng mã đánh dấu.

Đơn vị cơ bản của XML là một ký tự. Sự kết hợp của các ký tự được gọi là một thực thể. Các thực thể này có trong khai báo đối tượng hoặc trong tệp văn bản được lưu trữ bên ngoài. Tất cả các ký tự được nhóm lại với nhau để tạo thành một tài liệu XML.

Đánh dấu của XML chia một tài liệu thành các vùng chứa thông tin riêng biệt được gọi là các phần tử. Một tài liệu bao gồm một phần tử ngoài cùng được gọi là phần tử gốc chứa tất cả các phần tử khác, cộng với một số thông tin quản trị tùy chọn ở trên cùng, được gọi là khai báo XML. Đoạn mã sau minh họa các phần tử.

Đoạn mã:

<?xml version="1.0" encoding="iso-8859-1" ?>
<FlowerPlanet>
  <Name>Rose</Name>
  <Price>$1</Price>
  <Description>Red in color</Description>
  <Number>700</Number>
</FlowerPlanet>

trong đó,

<Name>, <Price>, <Description> và <Number> bên trong các thẻ là các phần tử.

<FlowerPlanet> và </FlowerPlanet> là phần tử gốc.

Việc sử dụng XML có thể được thấy trong nhiều trường hợp thực tế. Nó có thể được sử dụng trong các lĩnh vực chia sẻ thông tin, sử dụng ứng dụng đơn lẻ, cung cấp nội dung, tái sử dụng dữ liệu, tách dữ liệu và trình bày, ngữ nghĩa, v.v. Các hãng thông tấn là nơi phổ biến sử dụng XML. Các nhà sản xuất tin tức và người dùng tin tức thường sử dụng một đặc tả tiêu chuẩn có tên là XMLNews để sản xuất, truy xuất và chuyển tiếp thông tin qua các hệ thống khác nhau trên thế giới.

Lưu ý: XML là một tập con của SGML, có cùng mục tiêu, nhưng càng loại bỏ độ phức tạp càng tốt.  Điều này có nghĩa là bất kỳ tài liệu nào tuân theo các quy tắc cú pháp của XML cũng sẽ tuân theo các quy tắc cú pháp của SGML và do đó có thể được đọc bởi các công cụ SGML hiện có.

1.1.5. Ưu điểm và nhược điểm của XML  

Các lợi ích của XML như sau:

Ø Độc lập dữ liệu

Tính độc lập của dữ liệu là đặc điểm cơ bản của XML. Nó tách nội dung khỏi bản trình bày của nó. Vì tài liệu XML mô tả dữ liệu nên nó có thể được xử lý bởi bất kỳ ứng dụng nào.

Ø Dễ dàng phân tích cú pháp hơn

Việc không có hướng dẫn định dạng làm cho nó dễ dàng phân tích cú pháp. Điều này làm cho XML trở thành một khuôn khổ lý tưởng để trao đổi dữ liệu.

Ø Giảm tải máy chủ

Bởi vì thông tin cấu trúc và ngữ nghĩa của XML cho phép nó được thao tác bởi bất kỳ ứng dụng nào, phần lớn quá trình xử lý trước đây chỉ giới hạn ở các máy chủ giờ đây có thể được thực hiện bởi các máy khách. Điều này làm giảm tải máy chủ và lưu lượng mạng, dẫn đến một trang Web nhanh hơn, hiệu quả hơn.

Ø Dễ tạo hơn

Nó dựa trên văn bản, do đó dễ dàng tạo một tài liệu XML bằng các công cụ xử lý văn bản nguyên thủy nhất. Tuy nhiên, XML cũng có thể mô tả hình ảnh, đồ họa vector, hoạt ảnh hoặc bất kỳ kiểu dữ liệu nào khác mà nó được mở rộng.

Ø Nội dung trang web

W3C sử dụng XML để viết các đặc tả của nó và chuyển nó sang một số định dạng trình bày khác. Một số trang Web cũng sử dụng XML cho nội dung của chúng và chuyển nó sang HTML bằng XSLT và CSS và hiển thị nội dung trực tiếp trong trình duyệt.

Ø Lời gọi thủ tục từ xa

XML cũng được sử dụng như một giao thức cho các lời gọi thủ tục từ xa (RPC). RPC là một giao thức cho phép các đối tượng trên một máy tính này gọi các đối tượng trên một máy tính khác để thực hiện công việc, cho phép tính toán phân tán.

Ø Thương mại điện tử

XML có thể được sử dụng làm định dạng trao đổi để gửi dữ liệu từ công ty này sang công ty khác.

Lưu ý: Quá trình thao tác một tài liệu XML được gọi là Phân tích cú pháp XML.  Bộ phân tích cú pháp tải tài liệu vào bộ nhớ.  Sau khi tài liệu được tải vào bộ nhớ, Mô hình Đối tượng Tài liệu (DOM) xử lý dữ liệu.

Mặc dù XML có nhiều ưu điểm nhưng nó cũng có một số nhược điểm. Một số nhược điểm như sau:

  • Việc sử dụng XML dẫn đến việc tăng kích thước dữ liệu và thời gian xử lý. Vì XML sử dụng bộ mã hóa Unicode cho các ký tự nên nó cũng tiêu tốn nhiều bộ nhớ hơn.
  • XML thiếu đủ số lượng hướng dẫn xử lý. Nếu quy trình dịch không được sử dụng, thì các nhà phát triển trên toàn cầu buộc phải chuẩn bị các hướng dẫn xử lý của riêng họ để hiển thị XML ở dạng bắt buộc.
  • XML đòi hỏi nhiều hơn và khó hơn so với HTML.
  • XML dài dòng vì các thẻ được sử dụng trong nó đã được xác định trước.
  • Các phiên bản của Internet Explorer (IE) cũ hơn 5.0 không hỗ trợ XML.

Kiểm tra kiến thức bài 1.1

1. Câu nào sau đây đúng và câu nào sai trong trường hợp của XML?

(A)

XML được thiết kế để mô tả dữ liệu.

(B)

Các thẻ XML được xác định trước.

(C)

XML bao gồm các quy tắc để xác định và định nghĩa các phần khác nhau của tài liệu.

(D)

XML cung cấp một cách tiêu chuẩn để thêm đánh dấu vào tài liệu.

(E)

XML là cơ sở để tạo ra các ngôn ngữ như WAP và WML.

2. Câu nào về XML là đúng và câu nào sai?

(A)

XML mô tả dữ liệu của nó cùng với phần trình bày của nó.

(B)

Máy khách giảm tải máy chủ bằng cách gửi một lượng lớn thông tin trong một tài liệu XML đến máy chủ.

(C)

XML chỉ sử dụng XSLT để được chuyển đổi sang HTML.

(D)

XML có thể được triển khai dưới dạng tầng trung gian cho các kiến ​​trúc máy chủ khách hàng.

(E)

XML cho phép trao đổi dữ liệu vì nó không có hướng dẫn định dạng.

» Tiếp: Bài 1.2. Khám phá XML
« Trước: XPointer(XML Pointer Language)
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!