Bài đăng nổi bật

Giới thiệu về XML

Loạt bài XML này hướng tới điều gì?

Bài viết này sinh ra để giúp bạn trả lời câu hỏi XML là gì, tại sao nó được phát triển và cách nó định hình tương lai của thương mại điện tử. Đồng thời, nó cũng xem xét một số tiêu chuẩn và giao diện lập trình XML, cho thấy cách bạn có thể bắt đầu với công nghệ này và mô tả cách một vài công ty đã xây dựng các giải pháp dựa trên XML để đơn giản hóa và hợp lý hóa doanh nghiệp của họ.
Trong loạt bài hướng dẫn về XML này, bạn sẽ học:
    • Tại sao XML lại được tạo ra ?
    • Các quy tắc của tài liệu XML là gì?
    • Tài liệu XML có thể và không thể chứa nội dung gì?
    • Các giao diện lập trình hoạt động với các tài liệu XML như thế nào?
    • Các tiêu chuẩn XML chính là gì và chúng hoạt động cùng nhau ra sao?
    • Các công ty đang sử dụng XML như thế nào trong thế giới thực ?

XML là gì?

Giới thiệu

XML (Extensible Markup Language), hoặc Ngôn ngữ đánh dấu mở rộng, là ngôn ngữ đánh dấu mà bạn có thể sử dụng để tạo các thẻ của riêng mình. Nó được World Wide Web Consortium (W3C) tạo ra để khắc phục những hạn chế của HTML, Ngôn ngữ đánh dấu siêu văn bản làm nền tảng cho tất cả các trang Web. Giống như HTML, XML dựa trên SGML - Ngôn ngữ đánh dấu tổng quát hóa tiêu chuẩn. Mặc dù SGML đã được sử dụng trong ngành xuất bản trong nhiều thập kỷ, nhưng nhận thấy sự phức tạp của nó khiến nhiều người sợ rằng có thể đã sử dụng nó (SGML cũng là viết tắt của "Âm thanh tuyệt vời, có thể sau này" - Sound great, maybe later ;) ). XML được thiết kế dành cho Web.

Tại sao chúng ta cần XML?

HTML là ngôn ngữ đánh dấu thành công nhất mọi thời đại. Bạn có thể xem các thẻ HTML đơn giản nhất trên hầu hết mọi thiết bị, từ laptops đến máy tính lớn (mainframes). Với sự thành công của HTML, tại sao W3C còn tiếp tục tạo ra XML? Để trả lời câu hỏi đó, hãy xem tài liệu này:

Vấn đề với HTML là nó được thiết kế dành cho con người. Ngay cả khi không xem tài liệu HTML ở trên trong trình duyệt, bạn và tôi có thể nhận ra rằng đó là địa chỉ bưu chính của ai đó. (Cụ thể, đó là địa chỉ bưu chính cho một người nào đó ở Hà Nội; ngay cả khi bạn không quen thuộc với tất cả các thành phần của địa chỉ bưu chính ở Hà Nội, bạn có thể đoán được điều này thể hiện điều gì.)
Là con người, bạn và tôi có trí thông minh để hiểu ý nghĩa và ý định của hầu hết các tài liệu. Thật không may, một cái máy không thể làm điều đó. Mặc dù các thẻ trong tài liệu này cho trình duyệt biết cách hiển thị thông tin này, nhưng các thẻ không cho trình duyệt biết thông tin đó là gì . Bạn và tôi biết đó là một địa chỉ, nhưng một cái máy thì không.

Rendering HTML

Để hiển thị HTML, trình duyệt chỉ cần làm theo các hướng dẫn trong tài liệu HTML. Thẻ đoạn văn cho trình duyệt bắt đầu hiển thị trên một dòng mới, thường là có một dòng trống trước, trong khi hai thẻ ngắt cho trình duyệt tiến tới dòng tiếp theo mà không có một dòng trống ở giữa. Mặc dù trình duyệt định dạng tài liệu rất đẹp, nhưng máy vẫn không biết đây là địa chỉ.
HTML Preview 


Processing HTML

Để kết thúc phần thảo luận về HTML, ta hãy thử đặt ra vấn đề sau: làm sao để trích xuất được thông tin về  này từ khối thông tin trên?  Ta thử mô tả thuật toán này một chút nhé ;) 
Nếu bạn tìm thấy một đoạn văn có hai <br>thẻ,  thì postal code (mã bưu chính) là từ thứ hai sau dấu phẩy ở dòng sau <br> thứ hai. Giả sử bạn phát triển được thuật toán tìm phân tích thông tin văn bản và okie nó hoạt động với trường hợp này ... nhưng nếu tôi thay đổi một chút định dạng thì sao?  Ví dụ thay vì đánh địa chỉ sau thẻ <br> , thì tôi đặt nội dung số nhà ở trong thẻ <add>. 

Viết một thuật toán nhìn vào bất kỳ đoạn HTML nào và tìm thấy bất kỳ mã bưu chính nào bên trong nó sẽ vô cùng khó khăn, nếu không nói là không thể.

Vậy đó, sẽ có vô vàn trường hợp xảy ra, và HTML sinh ra không phải để  ĐÁNH DẤU Ý NGHĨA thông tin, mà nó sinh để HIỂN THỊ THÔNG TIN.  Do đó, ta cần tới sự ra đời của XML <3.

Một tài liệu XML mẫu

Bây giờ hãy xem một tài liệu XML mẫu. Với XML, bạn có thể gán một số ý nghĩa cho các thẻ trong tài liệu. Quan trọng hơn, máy cũng dễ dàng xử lý thông tin. Bạn có thể trích xuất các mã bưu chính từ tài liệu này bằng cách đơn giản định vị các nội dung bao quanh bởi các <postal-code>và </postal-code>thẻ, về mặt kỹ thuật được gọi là <postal-code> element (phần tử) .

Thẻ, thành phần và thuộc tính

Có ba thuật ngữ phổ biến được sử dụng để mô tả các phần của tài liệu XML: thẻ , phần tử và thuộc tính . Dưới đây là một tài liệu mẫu minh họa các điều khoản:


Thẻ là văn bản giữa khung góc trái ( <) và khung góc phải ( >). Có thẻ bắt đầu (chẳng hạn như <name>) và thẻ kết thúc (chẳng hạn như </name>)

Một phần tử là thẻ bắt đầu, thẻ kết thúc và mọi thứ ở giữa. Trong ví dụ trên, các phần tử <name>chứa ba phần tử con: <title><first-name>, và <last-name>.

Một thuộc tính là một cặp tên-giá trị bên trong thẻ bắt đầu của một phần tử. Trong ví dụ này, state là một thuộc tính của <city> phần tử; trong các ví dụ trước đó, <state> là một phần tử. 

Cách XML thay đổi Web

Bây giờ bạn đã thấy cách các nhà phát triển có thể sử dụng XML để tạo tài liệu với dữ liệu tự mô tả, hãy xem cách mọi người đang sử dụng các tài liệu đó để cải thiện Web. Dưới đây là một vài lĩnh vực chính:
  • XML đơn giản hóa trao đổi dữ liệu. Bởi vì các tổ chức khác nhau (hoặc thậm chí các bộ phận khác nhau của cùng một tổ chức) hiếm khi tiêu chuẩn hóa trên một bộ công cụ duy nhất, nên có thể mất một lượng công việc đáng kể để các ứng dụng giao tiếp. Sử dụng XML, mỗi nhóm tạo ra một tiện ích duy nhất chuyển đổi các định dạng dữ liệu nội bộ của họ thành XML và ngược lại. Trên hết, có một cơ hội tốt là các nhà cung cấp phần mềm của họ đã cung cấp các công cụ để chuyển đổi các bản ghi cơ sở dữ liệu của họ sang và từ XML.

  • XML cho phép mã thông minh. Vì các tài liệu XML có thể được cấu trúc để xác định mọi thông tin quan trọng (cũng như các mối quan hệ giữa các phần), nên có thể viết mã có thể xử lý các tài liệu XML đó mà không cần sự can thiệp của con người. Việc các nhà cung cấp phần mềm đã dành nhiều thời gian và tiền bạc để xây dựng các công cụ phát triển XML có nghĩa là viết mã đó là một quy trình tương đối đơn giản.

  • XML cho phép tìm kiếm thông minh. Mặc dù các công cụ tìm kiếm đã được cải thiện đều đặn qua nhiều năm, nhưng vẫn khá phổ biến để nhận được kết quả sai từ một tìm kiếm. Nếu bạn đang tìm kiếm các trang HTML cho ai đó tên là "Chip", bạn cũng có thể tìm thấy các trang trên chip sô cô la, chip máy tính, dăm gỗ và rất nhiều trận đấu vô dụng khác. Tìm kiếm tài liệu XML cho <first-name>các phần tử có chứa văn bản Chipsẽ cung cấp cho bạn một bộ kết quả tốt hơn nhiều.

Tôi cũng sẽ thảo luận về việc sử dụng XML trong thế giới thực trong các bài viết sau ;)  

Post a Comment

Mới hơn Cũ hơn