Tìm hiểu đơn giản về không gian tên trong XML

Bài viết này chủ yếu giới thiệu về không gian tên (namespace) trong XML, bao gồm cả cách khai báo namespace – đây là kiến thức cơ bản trong học XML dành cho người mới bắt đầu. Các bạn quan tâm có thể tham khảo.

Không gian tên là một tập hợp các tên duy nhất. Không gian tên là cơ chế xác định xem phần tử và thuộc tính nào có thể được gán vào một nhóm cụ thể. Không gian tên được nhận diện thông qua URI (Uniform Resource Identifier – Bộ nhận diện tài nguyên thống nhất).

Khai báo không gian tên
Không gian tên sử dụng thuộc tính đặc biệt để khai báo. Tên thuộc tính này phải là xmlns hoặc bắt đầu bằng xmlns:. Ví dụ như sau:
Mã XML/HTML

<element xmlns:name=”URL”>

Cú pháp

  • Không gian tên bắt đầu bằng từ khóa xmlns.

  • name là tiền tố của không gian tên.

  • URL là định danh của không gian tên.

Ví dụ
Không gian tên chỉ ảnh hưởng đến một phạm vi giới hạn trong tài liệu. Phần tử chứa khai báo này cùng với tất cả các phần tử con của nó đều nằm trong phạm vi của không gian tên. Dưới đây là một ví dụ đơn giản về không gian tên trong XML:
Mã XML/HTML

<?xml version=”1.0″ encoding=”UTF-8″?>
<cont:contact xmlns:cont=”www.tutorialspoint.com/profile”>
<cont:name>Tanmay Patil</cont:name>
<cont:company>TutorialsPoint</cont:company>
<cont:phone>(011) 123-4567</cont:phone>
</cont:contact>

Trong ví dụ này, tiền tố của không gian tên là cont, định danh (URI) là www.tutorialspoint.com/profile. Điều này có nghĩa là tất cả các phần tử và thuộc tính có tiền tố cont (bao gồm cả phần tử contact) đều thuộc về không gian tên www.tutorialspoint.com/profile.

Trong XML, việc sử dụng không gian tên liên quan đến khái niệm phạm vi, tức là phạm vi bao phủ của không gian tên – nghĩa là phần tử hoặc thuộc tính nào thuộc hoặc không thuộc không gian tên đó. Không gian tên có thể áp dụng cho toàn bộ tài liệu XML hoặc chỉ một phần của tài liệu XML.

(1) Không gian tên áp dụng cho toàn bộ tài liệu XML
Mã XML/HTML

<?xml version=”1.0″?>
<member_details xmlns=”http://www.testns.com/ns.xsd”>
<name>Tom</name>
<age>12</age>
<sex>male</sex>
</member_details>

(2) Không gian tên chỉ áp dụng cho một phần của tài liệu XML
Mã XML/HTML

<?xml version=”1.0″?>
<member_details>
<name xmlns=”http://www.testns.com/ns.xsd”>Tom</name>
<age>12</age>
<sex>male</sex>
</member_details>

(3) Không gian tên lồng nhau
Mã XML/HTML

<?xml version=”1.0″?>
<member_details xmlns=”http://www.testns.com/ns.xsd”
xmlns:newns=”http://www.testns/newns.xsd”>
<name>Tom</name>
<age>12</age>
<newns:sex>male</newns:sex>
</member_details>

 

📌 Bài viết này được đóng góp bởi người dùng và bản quyền thuộc về người dùng đã xây dựng bài viết. Bản quyền thuộc về tác giả gốc và chỉ dùng cho mục đích học tập và giao tiếp. Nếu có bất kỳ vi phạm nào, vui lòng liên hệ với chúng tôi để xóa nó.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *