[Loạt bài viết] Bài 2: 10 điểm ghi nhớ khi làm việc với XML

[Loạt bài viết] Bài 2: 10 điểm ghi nhớ khi làm việc với XML

XML, XLink, Namespace, DTD, Schema, CSS, XHTML ... Nếu bạn hoàn toàn chưa biết về XML, bạn sẽ thấy khó vì không biết bắt đầu từ đâu. Bản tóm tắt sau là 10 điểm giúp bạn nắm được đầy đủ những khái niệm cơ bản cho phép người mới học có khái niệm chung trước khi đi vào chi tiết. Và nếu bạn nào đang chuẩn bị trình bày một bài tham luận về XML, vậy thì tại sao lại không bắt đầu với 10 điểm này ?

>> [Loạt bài viết] Bài 1: Giới thiệu sơ lược về XML

1. XML được dùng để tạo cấu trúc dữ liệu

Dữ liệu này bao gồm bảng công tác, sổ địa chỉ, các tham số cấu hình, giao dịch tài chính và vẽ kỹ thuật. XML là một hệ thống các luật (có thể coi là những hướng dẫn hay quy ước) dùng cho việc thiết kế các format cho văn bản giúp bạn tạo cấu trúc cho dữ liệu. XML không phải là ngôn ngữ lập trình và bạn cũng không cần phải là một lập trình viên để có thể học và sử dụng nó thành thạo. XML giúp cho máy tính của bạn dễ dàng tạo dữ liệu, đọc dữ liệu và làm cho cấu trúc dữ liệu của bạn trở nên rõ ràng dễ hiểu. XML còn giúp bạn tránh được những bẫy thông thường trong thiết kế ngôn ngữ: nó có thể mở rộng, có platform hoàn toàn độc lập và hỗ trợ tính quốc tế hoá và nội địa hoá. XML hỗ trợ hoàn toàn Unicode.

2. XML có một số điểm giống với HTML

Tương tự HTML, XML cũng sử dụng các tags (các từ được đặt trong ngoặc với '<' và '>') và dùng thuộc tính (với mẫu name="value"). Trong khi HTML đặc biệt chú ý tới từng tag và attribute có ý nghĩa gì, và phần văn bản giữa các tag đó sẽ hiển thị như thế nào trong trình duyệt thì XML sử dụng các tag chỉ để phân định ranh giới giữa các mẩu dữ liệu, và coi việc đọc và xử lý dữ liệu đó hoàn toàn là nhiệm vụ của ứng dụng. Nói cách khác, nếu bạn thấy "<p>" trong một file XML, đừng cho rằng đó là ký hiệu của một đoạn. Tuỳ thuộc vào văn cảnh, nó có thể là giá (price), một tham số (a parameter), một người (a person), hay một cái gì đó bắt đầu bằng chữ cái 'p' trong tiếng Anh.

3. XML là một văn bản, nhưng không giống những loại văn bản thông thường mà ta có thể đọc được

Các chương trình dùng để tạo bảng công tác, sổ địa chỉ, và các dữ liệu được cấu trúc hóa thông thường lưu dữ liệu trên đĩa, sử dụng khuôn dạng text hay nhị phân. Một thuận lợi của khuôn dạng văn bản là cho phép người ta, nếu cần thiết, có thể xem dữ liệu mà không cần phải có chương trình đã tạo ra dữ liệu đó; nói cách khác, bạn có thể đọc nó với bất kì bộ soạn thảo văn bản nào mà bạn thích. Các khuôn dạng văn bản cũng cho phép người ta 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 cũng không loại trừ trường hợp nếu cần thì vẫn có thể đọc được. Tuy nhiên XML lại có điểm không bằng HTML, các luật dùng trong file XML rất hạn chế. Chỉ cần quên một tag, hay một thuộc tính không đi kèm với nội dung (quots) sẽ làm cho toàn bộ file XML đó ngừng hoạt động, trong khi ở HTML những lỗi này có thể được bỏ qua. Bản ghi XML chính thức không cho phép các ứng dụng tìm hiểu đến lần thứ 2 nguyên nhân gây lỗi file XML; nếu file bị lỗi ứng dụng đó ngừng hoạt động ngay lập tức và báo lỗi.

4. XML is verbose by design

Vì XML là định dạng văn bản và nó sử dụng tag để phân định từng chức năng trong dữ liệu nên file XML hầu như luôn lớn hơn định dạng nhị phân. Đó là chủ ý của người tạo ra XML. Những điểm mạnh của định dạng văn bản đã được nêu rõ (ở điểm 3), và những bất cập có thể được đền bù ở mức độ khác. Đĩa với dung lượng lớn ngày nay rẻ hơn trước kia, và các chương trình nén như zip và gzip có thể nén file rất nhanh chóng và chất lượng. Thêm vào đó, giao thức truyền thông như HTTP/1.1, giao thức chính dùng trong web, có thể nén dữ liệu nhanh chóng và ghi lại dải tần hiệu quả như định dạng nhị phân.

5. XML is a family of technologies

XML 1.0 là một bản ghi định nghĩa về "tags" và "thuộc tính". Trên XML 1.0, "the XML family" là một bộ các module cung cấp các dịch vụ hữu dụng để hoàn thành những nhiệm vụ yêu cầu có tính chất thường xuyên và quan trọng. Xlink được coi như một phương thức chuẩn để đưa các liên kết siêu văn bản vào file XML. XPointer and XFragments là những cú pháp để phát triển các phần trong văn bản XML . XPointer có đôi chỗ giống URL, nhưng thay vì tập trung vào văn bản trên mạng, nó lại tập trung vào từng đoạn dữ liệu trong file XML. CSS, the style sheet language, có thể áp dụng được đối với XML giống như HTML.XSL là một loại ngôn ngữ rất tiến bộ dùng cho style sheets. Nó dựa trên XSLT, một loại ngôn ngữ chuyển đổi sử dụng trong việc sắp xếp lại, thêm vào và xoá đi một số tag và thuộc tính. DOM là một bộ các chức năng chuẩn dùng cho thao tác file XML (và HTML) từ một ngôn ngữ lập trình. XML Schemas 1 và 2 giúp các nhà thiết kế định nghĩa chính xác cấu trúc định dạng trên của chính họ. Ngoài ra còn có một số module và công cụ khác hay vẫn còn đang được phát triển. Xin các bạn đọc thêmW3C's technical reports page.

6. XML is new, but not that new

Việc phát triển XML được bắt đầu năm 1996 và đã được W3C khuyến cáo sử dụng từ tháng 2 năm 1998. Điều này có thể khiến bạn nghĩ rằng, XML là công nghệ mới . Trên thực tế, công nghệ này không còn là mới lạ. Trước XML cũng đã có SGML, thiết kế vào đầu những năm 80, đạt tiêu chuẩn ISO từ năm 1986 và được người ta sử dụng rộng rãi trong những dự án lớn. HTML bắt đầu được xây dựng từ năm 1990. Người tạo ra XML đơn giản chỉ tận dụng những điểm mạnh của SGML, cùng với kinh nghiệm có được từ HTML đã tạo ra sản phẩm không thua kém gì SGML, thêm vào đó nó rất thông dụng và dễ dùng. Tuy nhiên có những phát triển trong công nghệ khiến người ta khó phân biệt với cuộc cách mạng công nghệ... Và phải nói rằng trong khi SGML được sử dụng chủ yếu trong các văn bản kỹ thuật, và cả trong một số ít các loại dữ liệu khác thì XML lại hoàn toàn ngược lại.

7. XHTML là sự kết hợp giữa XML và HTML

XML có một ứng dụng rất quan trọng đó là khuôn dạng văn bản: XHTML của W3C, đây là thế hệ tiếp sau của HTML. XHTML có nhiều điểm chung với HTML. Tuy nhiên, trong cú pháp cũng có một số thay đổi để phù hợp với các luật trong XML. Một văn bản được tạo ra với XML sẽ mang cấu trúc của XML và bị hạn chế ở một số phương diện. (Ví dụ, XHTML cho phép "<p>", nhưng lại không cho "<r>"); nó cũng bổ sung thêm ý nghĩa cho cú pháp (XHTML qui định "<p>" là "đoạn văn (paragraph)", chứ không phải "giá (price)", "người (person)", hay bất cứ một cái gì khác).

8. XML is modular

XML cho phép bạn tạo ra một khuôn dạng văn bản mới bằng cách kết hợp hay sử dụng lại các khuôn dạng có sẵn. Do 2 khuôn dạng được phát triển độc lập nên có thể xuất hiện những đặc tính và thuộc tính có tên trùng nhau. Vì vậy phải thận trọng khi kết hợp những khuôn dạng này với nhau (nghĩa là "<p>" có thể là "paragraph" trong khuôn dạng này nhưng lại là "person" trong khuôn dạng kia. Để tránh nhầm lẫn tên khi kết hợp các khuôn dạng với nhau, XML cung cấp cơ chế namespace. XSL và RDF là những ví dụ điển hình của định dạng XML có sử dụng namespace. XML Schema được thiết kế để mirror hỗ trợ ráp modun ở mức tạo cấu trúc văn bản XML, bằng cách tạo điều kiện dễ dàng kết hợp 2 giản đồ để tạo ra cái thứ 3 có cấu trúc văn bản kết hợp.

9. XML là cơ sở của RDF và Semantic Web

Khung miêu tả tài nguyên của W3C (RDF) là một khuôn dạng văn bản XML hỗ trợ mô tả tài nguyên và các ứng dụng metadata, ví dụ như danh sách bản nhạc, bộ sưu tầm ảnh , sưu tầm thư mục. RDF cho phép bạn nhận diện người trong album ảnh web sử dụng thông tin từ danh sách liên lạc cá nhân; sau đó chương trình nhận gửi thư sẽ tự động gửi message đến những người này thông báo cho họ biết ảnh của họ đang ở trên mạng. Cũng như các văn bản tích hợp HTML, hệ thống menu, và ứng dụng forms dùng để bắt đầu các Web gốc, ứng dụng tích hợp RDF và các tác nhân trong Semantic Web. Cũng giống như người ta cần có sự thống nhất về ý nghĩa những từ họ sử dụng trong giao tiếp, các máy vi tính cần có cơ chế thống nhất về ý nghĩa các thuật ngữ để truyền đạt thông tin một cách hiệu quả. Định nghĩa chính thức các thuật ngữ trong một vài lĩnh vực (mua bán hay sản xuất)gọi là bản thể học rất cần thiết trong Web Semantic. RDF, bản thể học, và việc thể hiện ý nghĩa vì vậy các máy tính có thể giúp người ta tiến hành công việc của mình là toàn bộ nội dung hoạt động của Semantic Web.

10. XML được sử dụng miễn phí, có platform độc lập và được hỗ trợ rất tốt

Khi lựa chọn XML làm cơ sở để thực hiện một dự án, bạn có thể tiếp cận với rất nhiều các công cụ phát triển (một trong số đó đã có sẵn cái bạn cần!) và người kỹ sư công nghệ đã có kinh nghiệm trong lĩnh vực này. Lựa chọn XML có đôi chút giống với chọn SQL cho cơ sở dữ liệu: bạn vẫn phải xây dựng cơ sở dữ liệu cho mình và các chương trình riêng cũng như phải có những qui tắc để thao tác nó. Có rất nhiều công cụ có sẵn và bạn cũng có thể dễ dàng nhận được sự giúp đỡ của nhiều người. Và vì XML không cần phải mua bản quyền mới sử dụng được nên bạn có thể tạo cho mình một phần mềm riêng mà không phải trả một khoản chi phí nào hết. Hỗ trợ mà lớn chứng tỏ rằng bạn không có liên quan gì đến một vendor nào hết. XML không phải lúc nào cũng là giải pháp tốt nhất, nhưng nó luôn xứng đáng để người ta phải xem xét

Tags: 
Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Sức mạnh của Contextual Filters trong Drupal Views của Drupal 8

Sức mạnh của Contextual Filters trong Drupal Views của Drupal 8

The small endpoint I built returns an array of cars in sale, with relative information about each car

Performance and SEO impact of not rewriting your urls to use or not use www

Performance and SEO impact of not rewriting your urls to use or not use www

Here's a quick tip which will influence your performance and SEO. It's just about uncommenting 2 lines of code in the .htaccess file that ships with Drupal, but I've seen a lot of sites that tend to forget this.

Sử dụng hook_menu() với hook_permission()

Sử dụng hook_menu() với hook_permission()

Can someone see anything wrong with this hook_menu() and hook permission() code? I am able to see the permissions in the admin menu, admin/people/permissions.

Công ty diệt chuột T&C

 

Diet con trung