Những thành phần cơ bản của XML

Ngày đăng: 04/12/2018 Lượt xem: 1097

Những thành phần cơ bản của XML

1. Mở đầu

Theo W3C, XML được định nghĩa là:

- Một tập hợp các quy tắc để mã hóa tài liệu ở định dạng có thể đọc được bằng máy;

- Là ngôn ngữ xây dựng cấu trúc tài liệu văn bản;

- Là ngôn ngữ quan trọng trong việc chuyển tải, trao đổi dữ liệu và liên lạc giữa các ứng dụng;

- Là một tập con dựa theo chuẩn SGML (Standard Generalized Markup Language - siêu ngôn ngữ có khả năng sinh ngôn ngữ khác), có khả năng mô tả nhiều loại dữ liệu khác nhau. SGML được phát triển cho việc định cấu trúc và nội dung tài liệu điện tử, do tổ chức tiêu chuẩn quốc tế ISO (International Organization for Standards) chuẩn hóa năm 1986.

Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống thông tin khác nhau, đặc biệt là các hệ thống được kết nối với mạng Internet. Các ngôn ngữ dựa trên XML như RFD, RSS, MathML, XHTML, SVG, GML và cXML được định nghĩa theo cách thông thường, cho phép các chương trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần hiểu trước về hình thức của chúng

Những thành phần cơ bản của XML bao gồm:

- Thẻ XML (XML tag);

- Phần tử XML (XML element);

- Thuộc tính của XML (XML attribute);

- Prolog;

- Khai báo XML (XML declaration);

- Công cụ XML (XML tool).

Trong Quy chuẩn kỹ thuật quốc gia số 109:2017/BTTTT về cấu trúc thông điệp dữ liệu công dân trao đổi với cơ sở dữ liệu quốc gia về dân cư được Bộ Thông tin và Truyền thông ban hành ngày 04/4/2017, XML là ngôn ngữ dùng để trao đổi dữ liệu có cấu trúc giữa các hệ thống thông tin trong cơ quan nhà nước. Vì vậy, mục đích của bài viết này sẽ giới thiệu tổng quan về những thành phần cơ bản của XML để người đọc hiểu và có cách tiếp cận ban đầu về XML.

2. Những thành phần cơ bản của XML

a. Thẻ XML (XML tag)

Các thẻ XML cấu thành nên XML, thẻ XML định nghĩa phạm vi một phần tử trong XML, chúng cũng có thể được sử dụng để chèn các nhận xét (comment), khai báo các thiết lập cần thiết để phân tích môi trường và để chèn các chỉ lệnh đặc biệt.

Một phần tử XML, lần lượt, bao gồm một thẻ bắt đầu, thẻ kết thúc và thẻ phần tử trống. Thẻ bắt đầu (còn được gọi là thẻ mở) bắt đầu bằng . Thẻ kết thúc (còn gọi là thẻ đóng) bắt đầu bằng. Đặc tả XML rất cụ thể về các tên thẻ; bạn có thể bắt đầu tên thẻ bằng một chữ cái, dấu gạch dưới hoặc dấu hai chấm. Các ký tự tiếp theo có thể là chữ cái, chữ số, dấu gạch dưới, dấu gạch nối, dấu chấm và dấu hai chấm (nhưng không có khoảng trắng).

Thẻ mở trong XML: phần bắt đầu của mỗi phần tử XML không trống được đánh dấu bởi một thẻ mở.

Thẻ đóng trong XML: Mỗi phần tử mà có một thẻ mở nên kết thúc với một thẻ đóng.

(các thẻ đóng phải có dấu gạch chéo (/) ở trước tên phần tử)

Thẻ trống trong XML: Phần text xuất hiện giữa thẻ mở và thẻ đóng được gọi là nội dung. Một phần tử không có nội dung nào được coi là trống (empty). Một phần tử trống có thể được biểu diễn theo hai cách:

(1) Một thẻ mở bị đóng ngay bởi một thẻ đóng

(2) Một phần tử trống hoàn toàn.


Ví dụ 1: 

Ví dụ 2:

Các loại thẻ

(CDATA nghĩa là dữ liệu ký tự (Character Data). CDATA được định nghĩa như là các khối text mà không được phân tích bởi Parser, nhưng được nhận ra khi đánh dấu)

b. Phần tử XML

Đơn vị cơ bản của XML là phần tử, là một đoạn thông tin do tác giả chỉ định. Phần tử bao gồm tên phần tử và nội dung phần tử.

Ví dụ 3:

Trong ví dụ trên, “BusinessCard” là phần tử cấp cao nhất. Trong XML, chỉ có thể có một phần tử ở cấp cao nhất. Phần tử này được gọi là phần tử tài liệu hoặc đôi khi được gọi là phần tử gốc. Hình dung yếu tố ở cấp cao nhất như là một thân cây và các yếu tố ở cấp thấp hơn được gọi là nhánh cây. Hình dưới đây cho thấy mỗi nút biểu diễn một phần tử và được xác định với tên phần tử. Khái niệm nội dung phần tử nằm trong nút.

Các phần tử trống:

Các phần tử trống chỉ có một thẻ chứ không có thẻ bắt đầu và thẻ kết thúc. Ví dụ 5 về phần tử trống:

Phần tử gốc:

Mỗi tài liệu XML được định dạng phải chứa một phần tử chứa tất cả các phần tử khác. Phần tử chứa được gọi là phần tử gốc. Một tài liệu XML phải có một thẻ gốc duy nhất, để cho tất cả các thẻ khác được chứa trong thẻ gốc đó. Tất cả các phần tử tiếp theo phải được chứa trong thẻ gốc, mỗi phần tử được lồng trong thẻ gốc của nó.

Ví dụ 4 về phần tử gốc:

Phần tử con:

Nút gốc chỉ có một nút con. Tất cả các nút khác có một nút cha, cũng như không có hoặc nhiều nút con. Các nút có thể có các phần tử có liên quan trên cùng một mức phân cấp.

Cấu trúc cây của tài liệu XML

Các phần tử trong một tài liệu XML tạo thành một cây tài liệu. Cây bắt đầu từ gốc và nhánh đến mức thấp nhất của cây. Ví dụ về cấu trúc cây sử dụng một trong trình soạn thảo XML_firstobject ‘được hiển thị như sau:

Các phần tử XML có thể mở rộng

Ví dụ 5: Từ ví dụ 4 có thể được thêm một vài phần tử khác

c. Thuộc tính của XML (XML attribute)

Ngoài các thẻ và phần tử, tài liệu XML cũng có thể bao gồm các thuộc tính. Các thuộc tính XML có 3 loại: một kiểu chuỗi, một tập các kiểu được mã hóa và các kiểu liệt kê. Kiểu chuỗi có thể lấy bất kỳ chuỗi ký tự nào làm giá trị. Thuộc tính phải có giá trị ngay cả khi giá trị đó chỉ là một chuỗi rỗng (like “”).

Ví dụ 6. Thuộc tính của XML được gắn vào thẻ bắt đầu, như được hiển thị bên dưới, nhưng không được gắn với thẻ kết thúc:

Ví dụ 7. Chuyển đổi thuộc tính thành phần tử

Các thuộc tính XML cho siêu dữ liệu: Các thuộc tính có thể cung cấp dữ liệu meta mà không liên quan đến hầu hết các ứng dụng đối với XML. 

Ví dụ 8: Thuộc tính được sử dụng làm dữ liệu meta để xác định phần tử: Đôi khi các tham chiếu ID (Identification - Định dạng) được gán cho các phần tử. Các ID này có thể được sử dụng để xác định các phần tử XML theo cùng một cách xác định thuộc tính id trong HTML.

d. Prolog

Phần Prolog của tài liệu XML đứng trước phần tử tài liệu. Các prolog có chứa những nội dung sau đây:

- Một khai báo XML

- Nội dung khác: hướng dẫn xử lý hoặc nhận xét

- Khai báo loại tài liệu, còn được gọi là khai báo DOCTYPE.

đ. Khai báo XML (XML declaration)

Cấu trúc phần tử của một tài liệu XML để xác nhận, ràng buộc bằng cách sử dụng các khai báo kiểu phần tử và danh sách thuộc tính. Khai báo kiểu phần tử ràng buộc nội dung của phần tử.

Khai báo kiểu phần tử thường hạn chế loại phần tử nào có thể xuất hiện dưới dạng con của phần tử. Theo tùy chọn của người dùng, một bộ xử lý XML có thể đưa ra cảnh báo khi một khai báo đề cập đến một kiểu phần tử mà không có khai báo nào được cung cấp.

Ví dụ điển hình về khai báo XML

- Khai báo XML bắt đầu bằng các ký tự .

- Khai báo XML bao gồm cả phiên bản, và được tùy chọn các thuộc tính mã hóa

- Các thuộc tính phiên bản, mã hóa và độc lập phải được sắp xếp theo thứ tự.

- XML phải được khai báo ở ngay đầu tệp. Nghĩa là ký tự đầu tiên trong tệp phải là “<”; không có dấu ngắt dòng hoặc dấu cách.

- Mã hóa ký tự là phương thức được sử dụng để biểu diễn các số trong mã ký tự kỹ thuật số (nói cách khác là nên sử dụng bao nhiêu byte cho mỗi số...). Một số được mã hóa là utf-8, utf-16...

Nếu thuộc tính XML độc lập (standalone) nằm trong khai báo XML, nó phải được đặt là có hoặc không. Có quy định rằng tài liệu này tồn tại hoàn toàn, không phụ thuộc vào bất kỳ tệp nào khác, không cho biết rằng tài liệu có thể phụ thuộc vào một DTD bên ngoài.

Ví dụ 9: Ví dụ bao gồm tất cả các khai báo trên

Sdụng các phần tử đánh dấu đặc biệt

Ví dụ 10: Sử dụng các phần tử đánh dấu đặc biệt trong nội dung phần tử

Ví dụ 11: Sử dụng các phần tử đánh dấu đặc biệt trong nội dung phần tử

Sử dụng nhận xét để loại trừ tài liệu

Ví dụ 12:

e. Công cụ XML (XML tool)

- Biên tập XML: Chúng được sử dụng để tạo tài liệu XML. Một trong số đó là: firstobject, Adobe frameworker, XML pro, Altova XML spy, stylus studio, xml writer, enotepad, xml notepad.

- Trình duyệt XML: IE 6, Netscape Navigator 6, Jumbo

- Trình phân tích cú pháp XML: MSXML, SAX, expat, expat perl module, TClExpat, LT XML, XML for Java, XML test pad, XP, SXP, Python and XML processing preliminary XML parser

- Xác nhận XML: W3C XML validator, Tidy, XML.com lark parser, LTP, STG, VS.net

Ví dụ sử dụng STG:

Trình soạn thảo XML: giúp nhập và xác định các lỗi trong khi phân tích cú pháp tài liệu XML

Ví dụ 13: Có vài lỗi và xem lỗi trong tài liệu

Sự xuất hiện của tài liệu XML trong MSWord

Sự xuất hiện của tài liệu XML trong MSExcel

3. Kết luận

Mỗi tài liệu XML chứa một hoặc nhiều phần tử, các ranh giới trong đó được phân cách bởi thẻ bắt đầu và thẻ kết thúc, hoặc, cho các phần tử rỗng, bởi một thẻ phần tử trống. Mỗi phần tử có một loại, được xác định theo tên, đôi khi được gọi là “số nhận dạng chung” (GI - Generic Identifier) và có thể có một tập hợp các đặc tả thuộc tính. Mỗi đặc tả thuộc tính có một tên và một giá trị.

Những thành phần cơ bản đã tạo nên XML, mục tiêu thiết kế của XML nhấn mạnh sự đơn giản, tính tổng quát và khả năng sử dụng trên Internet. Nó là một định dạng dữ liệu văn bản với sự hỗ trợ mạnh mẽ thông qua Unicode cho các ngôn ngữ khác nhau của con người.

XML là ngôn ngữ mô tả dữ liệu được sử dụng để phục vụ mục đích trao đổi dữ liệu, quy định bắt buộc sử dụng tại Thông tư số 22/2013/TT-BTTTT. Trong Quy chuẩn kỹ thuật quốc gia số 109:2017/BTTTT, các hệ thống thông tin trao đổi dữ liệu với cơ sở dữ liệu quốc gia về dân cư qua ngôn ngữ XML, kiểu dữ liệu XML được mô tả theo quy định thống nhất của lược đồ dữ liệu cơ bản XML (W3C XML Schema).

Lê Thị Thùy Trang, Cục Tin học hóa

4. Tài liệu tham khảo:

1. https://www.w3schools.com/xml/default.asp

2. https://www.w3.org/TR/NOTE-xml-schema-req#Conformance

3. https://www.brainbell.com/tutors/XML/XML_Book_B/Elements.htm

4. https://www.w3.org/TR/1998/REC-xml-19980210.pdf

5. XML document rule, XML structuring, XML presentation technologies, XML Transformation, XSLT, Xquery, XLink, XPath.

6. Quy chuẩn kỹ thuật quốc gia số 109:2017/BTTTT ngày 04/4/2017 của Bộ Thông tin và Truyền thông về cấu trúc thông điệp dữ liệu công dân trao đổi với cơ sở dữ liệu quốc gia về dân cư.

, <author>, <year>, <price>.</book></book></book></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><book><book><book>- <title>, <author>, <year>, <price> là các phần tử con.</book></book></book></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><book><book><book><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/Bai%201%20-%20Hinh%202.png"></book></book></book></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><b>Cấu trúc cây của tài liệu XML</b></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Các phần tử trong một tài liệu XML tạo thành một cây tài liệu. Cây bắt đầu từ gốc và nhánh đến mức thấp nhất của cây. Ví dụ về cấu trúc cây sử dụng một trong trình soạn thảo XML_firstobject ‘được hiển thị như sau:</span></div><div align="center" style="margin: 6pt 0cm; text-align: center;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/Bai%201%20-%20Hinh%203.png" style="width: 534.444px; height: 333px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><b>Các phần tử XML có thể mở rộng</b></span></div><div style="margin: 6pt 0cm;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 5: Từ ví dụ 4 có thể được thêm một vài phần tử khác.</span></div><div style="margin: 6pt 0cm;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/1.8.png" style="width: 447.778px; height: 117.556px;"></span></div><div style="margin: 6pt 0cm;" _rdEditor_temp="1"><span style="font-size: 16px;"><strong>c. Thuộc tính của XML (XML attribute)</strong></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ngoài các thẻ và phần tử, tài liệu XML cũng có thể bao gồm các thuộc tính. Các thuộc tính XML có 3 loại: một kiểu chuỗi, một tập các kiểu được mã hóa và các kiểu liệt kê. Kiểu chuỗi có thể lấy bất kỳ chuỗi ký tự nào làm giá trị. Thuộc tính phải có giá trị ngay cả khi giá trị đó chỉ là một chuỗi rỗng (like “”).</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 6. Thuộc tính của XML được gắn vào thẻ bắt đầu, như được hiển thị bên dưới, nhưng không được gắn với thẻ kết thúc:</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/1.9.png" style="width: 384.222px; height: 174.111px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 7. Chuyển đổi thuộc tính thành phần tử</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Các thuộc tính XML cho siêu dữ liệu: Các thuộc tính có thể cung cấp dữ liệu meta mà không liên quan đến hầu hết các ứng dụng đối với XML.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/1.10.png"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 8: Thuộc tính được sử dụng làm dữ liệu meta để xác định phần tử: Đôi khi các tham chiếu ID (Identification - Định dạng) được gán cho các phần tử. Các ID này có thể được sử dụng để xác định các phần tử XML theo cùng một cách xác định thuộc tính id trong HTML.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/1.11.png" style="width: 374.889px; height: 302.111px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><strong>d</strong><b><strong>. </strong>Prolog </b></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Phần Prolog của tài liệu XML đứng trước phần tử tài liệu. Các prolog có chứa những nội dung sau đây:</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Một khai báo XML</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Nội dung khác: hướng dẫn xử lý hoặc nhận xét</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Khai báo loại tài liệu, còn được gọi là khai báo DOCTYPE.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><b>đ. Khai báo XML (XML declaration)</b></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Cấu trúc phần tử của một tài liệu XML để xác nhận, ràng buộc bằng cách sử dụng các khai báo kiểu phần tử và danh sách thuộc tính. Khai báo kiểu phần tử ràng buộc nội dung của phần tử.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Khai báo kiểu phần tử thường hạn chế loại phần tử nào có thể xuất hiện dưới dạng con của phần tử. Theo tùy chọn của người dùng, một bộ xử lý XML có thể đưa ra cảnh báo khi một khai báo đề cập đến một kiểu phần tử mà không có khai báo nào được cung cấp.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ điển hình về khai báo XML</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Khai báo XML bắt đầu bằng các ký tự <!--?xml và kết thúc bằng các ký tự ?-->.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Khai báo XML bao gồm cả phiên bản, và được tùy chọn các thuộc tính mã hóa <span> </span></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Các thuộc tính phiên bản, mã hóa và độc lập phải được sắp xếp theo thứ tự. </span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- XML phải được khai báo ở ngay đầu tệp. Nghĩa là ký tự đầu tiên trong tệp phải là “<”; không có dấu ngắt dòng hoặc dấu cách. </span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Mã hóa ký tự là phương thức được sử dụng để biểu diễn các số trong mã ký tự kỹ thuật số (nói cách khác là nên sử dụng bao nhiêu byte cho mỗi số...). Một số được mã hóa là utf-8, utf-16...</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Nếu thuộc tính XML <b>độc lập</b> (<b>standalone</b><b>)</b><b> </b>nằm trong khai báo XML, nó phải được đặt là có hoặc không. Có quy định rằng tài liệu này tồn tại hoàn toàn, không phụ thuộc vào bất kỳ tệp nào khác, không cho biết rằng tài liệu có thể phụ thuộc vào một DTD bên ngoài.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 9: Ví dụ bao gồm tất cả các khai báo trên.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/1.2.png"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><strong>S</strong><b><strong>ử </strong>dụng các phần tử đánh dấu đặc biệt</b></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 10: Sử dụng các phần tử đánh dấu đặc biệt trong nội dung phần tử</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/1.12.png" style="width: 489px; height: 171.333px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"> </span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 11: Sử dụng các phần tử đánh dấu đặc biệt trong nội dung phần tử</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/1.13.png" style="width: 568.889px; height: 178.556px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><strong>S</strong><b><strong>ử </strong>dụng nhận xét để loại trừ tài liệu</b></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 12:</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/1.14.png" style="width: 430.444px; height: 153.444px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><strong>e. Công cụ XML (XML tool)</strong></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Biên tập XML: Chúng được sử dụng để tạo tài liệu XML. Một trong số đó là: firstobject, Adobe frameworker, XML pro, Altova XML spy, stylus studio, xml writer, enotepad, xml notepad. </span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Trình duyệt XML: IE 6, Netscape Navigator 6, Jumbo </span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Trình phân tích cú pháp XML: MSXML, SAX, expat, expat perl module, TClExpat, LT XML, XML for Java, XML test pad, XP, SXP, Python and XML processing preliminary XML parser </span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">- Xác nhận XML: W3C XML validator, Tidy, XML.com lark parser, LTP, STG, VS.net </span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ sử dụng STG:</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/Bai%201%20-%20Hinh%204.png" style="width: 533px; height: 343px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><b>Trình soạn thảo XML</b>: giúp nhập và xác định các lỗi trong khi phân tích cú pháp tài liệu XML</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Ví dụ 13: Có vài lỗi và xem lỗi trong tài liệu</span></div><div align="center" style="margin: 6pt 0cm; text-align: center;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/Bai%201%20-%20Hinh%205.png" style="width: 545.556px; height: 339.889px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Sự xuất hiện của tài liệu XML trong MSWord</span></div><div align="center" style="margin: 6pt 0cm; text-align: center;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/Bai%201%20-%20Hinh%206.png" style="width: 559.889px; height: 360.667px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Sự xuất hiện của tài liệu XML trong MSExcel</span></div><div align="center" style="margin: 6pt 0cm; text-align: center;" _rdEditor_temp="1"><span style="font-size: 16px;"><img src="http://qcvn109.gov.vn/FILEUPLOAD/IMAGES/bb/Bai%201%20-%20Hinh%207.png" style="width: 524.444px; height: 341.333px;"></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><b>3. Kết luận</b></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Mỗi tài liệu XML chứa một hoặc nhiều phần tử, các ranh giới trong đó được phân cách bởi thẻ bắt đầu và thẻ kết thúc, hoặc, cho các phần tử rỗng, bởi một thẻ phần tử trống. Mỗi phần tử có một loại, được xác định theo tên, đôi khi được gọi là “số nhận dạng chung” (GI - Generic Identifier) và có thể có một tập hợp các đặc tả thuộc tính. Mỗi đặc tả thuộc tính có một tên và một giá trị. </span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">Những thành phần cơ bản đã tạo nên XML, mục tiêu thiết kế của XML nhấn mạnh sự đơn giản, tính tổng quát và khả năng sử dụng trên Internet. Nó là một định dạng dữ liệu văn bản với sự hỗ trợ mạnh mẽ thông qua Unicode cho các ngôn ngữ khác nhau của con người.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">XML là ngôn ngữ mô tả dữ liệu được sử dụng để phục vụ mục đích trao đổi dữ liệu, quy định bắt buộc sử dụng tại Thông tư số 22/2013/TT-BTTTT. Trong Quy chuẩn kỹ thuật quốc gia số 109:2017/BTTTT, các hệ thống thông tin trao đổi dữ liệu với cơ sở dữ liệu quốc gia về dân cư qua ngôn ngữ XML, kiểu dữ liệu XML được mô tả theo quy định thống nhất của lược đồ dữ liệu cơ bản XML (W3C XML Schema).</span></div><div align="right" style="margin: 6pt 0cm; text-align: right;" _rdEditor_temp="1"><span style="font-size: 16px;"><b>Lê Thị Thùy Trang, Cục Tin học hóa</b></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><b>4. Tài liệu tham khảo:</b></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">1. <a href="https://www.w3schools.com/xml/default.asp">https://www.w3schools.com/xml/default.asp</a></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">2. <a href="https://www.w3.org/TR/NOTE-xml-schema-req#Conformance">https://www.w3.org/TR/NOTE-xml-schema-req#Conformance</a></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">3. <a href="https://www.brainbell.com/tutors/XML/XML_Book_B/Elements.htm">https://www.brainbell.com/tutors/XML/XML_Book_B/Elements.htm</a></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">4. <a href="https://www.w3.org/TR/1998/REC-xml-19980210.pdf">https://www.w3.org/TR/1998/REC-xml-19980210.pdf</a></span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">5. XML document rule, XML structuring, XML presentation technologies, XML Transformation, XSLT, Xquery, XLink, XPath.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;">6. Quy chuẩn kỹ thuật quốc gia số 109:2017/BTTTT ngày 04/4/2017 của Bộ Thông tin và Truyền thông về cấu trúc thông điệp dữ liệu công dân trao đổi với cơ sở dữ liệu quốc gia về dân cư.</span></div><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"> </span></div><span style="font-size: 16px;"> <br clear="all"> </span><div style="margin: 6pt 0cm; text-align: justify;" _rdEditor_temp="1"><span style="font-size: 16px;"><br></span></div>