Bài 06: Tìm hiểu XML Namespace

test php

1. XML Namespace là gì?

Cấu trúc một tài liệu XML được xây dựng bởi các lập trình viên, cho phép họ tự đặt tên thẻ XML (XML Element). Tuy nhiên, việc này có thể dẫn đến xung đột tên thẻ trong một file XML, khiến cho không phân biệt được thẻ nào dùng cho ứng dụng nào.

Ví dụ: Trùng tên thẻ “Title”.

Trong tài liệu này, có hai thẻ “Title”. Thẻ thứ nhất là tên của khách hàng và thẻ thứ hai là tên của sản phẩm. Điều này được gọi là xung đột thẻ XML.

Bài viết này được đăng tại HEFC

Nếu bạn nghĩ rằng việc này không đáng lo ngại, thì đúng rồi đấy. Tuy nhiên, trong trường hợp sử dụng kết hợp nhiều tài liệu XML với nhau, sẽ dẫn đến sự nhầm lẫn tệ hại. Vì vậy, để giải quyết vấn đề này, ta phải sử dụng XML Namespace.

Cú pháp tạo XML namespace:

Để tạo một namespace, ta sẽ khai báo một thuộc tính “xmlns:uri”.

  • “xmlns” là viết tắt của từ “XML namespace”.
  • “uri” là đường dẫn URL của namespace, có thể là một địa chỉ trên internet hoặc một địa chỉ khác, nhưng phải đảm bảo rằng nó là duy nhất trong file tài liệu XML.

Ví dụ:

Như vậy, các thẻ XML cũng phải bổ sung tên của namespace theo cú pháp “namespace_name:element_name”.

Liên tưởng tới truy vấn T-SQL:

Trong ngôn ngữ T-SQL, để giải quyết vấn đề này, ta sử dụng lệnh “as” (alias) và dấu chấm để tránh sự nhầm lẫn.

Ví dụ: Có hai bảng tin tức và chuyên mục có trùng tên field “id”. Để lấy danh sách tin tức và chuyên mục của tin tức đó kèm “id” của cả hai, ta phải viết câu SQL dạng:

2. Namespace mặc định

Nếu tài liệu chỉ sử dụng một namespace, ta có thể khai báo namespace mặc định cho nó bằng cách chỉ sử dụng từ khóa “xmlns” và bỏ đi tên của namespace.

Ví dụ:

Tuy nhiên, giả sử chúng ta có hai namespace mặc định trong một tài liệu XML như trường hợp dưới đây:

Trường hợp này, nếu ta có nhiều đơn hàng, ta phải tạo nhiều namespace mặc định. Điều này khá phiền toái nếu ta có 1000 đơn hàng. Để giải quyết vấn đề này, ta khai báo namespace ngay tại thẻ Root.

Đó là những vấn đề ta cần biết về namespace trong XML.

3. Lời kết

Có lẽ sau bài này bạn vẫn còn nhiều vướng mắc về công dụng của namespace trong thực tế. Nếu vậy, hãy chờ các bài nâng cao, chúng ta sẽ thấy tận mắt nhé.

Bài này cũng khá đơn giản nên nội dung hơi ngắn. Hy vọng rằng các bạn đã hiểu bài.

HEFC at hefc.edu.vn

Related Posts

Xét nghiệm Giải phẫu bệnh – Dẫn đường cho việc điều trị

Xét nghiệm giải phẫu bệnh được thực hiện trên những mẫu bệnh phẩm tế bào, bệnh phẩm mô từ các cơ quan trong cơ thể được sinh…

Phương pháp điều trị tủy răng tại nha khoa hiện nay

Viêm tủy răng là một trong những vấn đề về sức khỏe răng miệng nghiêm trọng. Người mắc viêm tủy răng không chỉ phải chịu đựng những…

Mỹ thuật ứng dụng là gì? (cập nhật 2023)

Khi những giá trị thẩm mỹ ngày càng được chú trọng thì các phẩm mỹ thuật ứng dụng ngày càng đi sâu vào đời sống của mọi…

Bát quái đồ là gì? Ý nghĩa và vai trò của bát quái trong phong thủy

Bát quái đồ là vật phẩm phong thủy được sử dụng khá rộng rãi và phổ biến trong văn hoá phương Đông, nhằm mang lại những niềm…

Du học ngành khoa học ứng dụng và cơ bản

>> Du học ngành khoa học đại cương >> Các trường có đào tạo ngành Khoa học ứng dụng và cơ bản Khoa học Ứng dụng và…

Trồng răng implant là gì? Những điều cần phải biết trước khi chọn trồng răng implant

Trồng răng implant là phương pháp trồng răng cấy trụ kim loại vào xương hàm để thay thế cho răng đã mất. Chính vì vậy trụ implant…