Khoảng không tên XML
- Trang trước Thuộc tính XML
- Trang tiếp theo Hiển thị XML
XML Định danh không gian cung cấp một phương pháp để tránh xung đột tên yếu tố.
Xung đột tên
Trong XML, tên yếu tố được định nghĩa bởi nhà phát triển. Khi hai tài liệu khác nhau sử dụng cùng một tên yếu tố, sẽ xảy ra xung đột tên.
Tài liệu XML này mang theo thông tin của một bảng:
<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
Tài liệu XML này chứa thông tin về bàn (món đồ nội thất):
<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
Nếu hai tài liệu XML này được sử dụng cùng nhau, do hai tài liệu đều chứa yếu tố <table> với nội dung và định nghĩa khác nhau, sẽ xảy ra xung đột tên.
Người dùng hoặc ứng dụng XML sẽ không thể xác định cách xử lý các xung đột này.
Giải quyết xung đột tên bằng tiền tố
Sử dụng tiền tố để dễ dàng tránh xung đột tên trong XML.
XML này chứa thông tin về bảng HTML và một món đồ nội thất:
<h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
Hiện tại, sự xung đột tên không còn nữa, điều này là do hai tài liệu đều sử dụng các tên khác nhau để đặt tên yếu tố <table> của họ (<h:table>
và <f:table>
)。
Bằng cách sử dụng tiền tố, chúng ta đã tạo ra hai loại khác nhau của <table> yếu tố.
XML Định danh không gian - thuộc tính xmlns
Khi sử dụng tiền tố trong XML, phải xác định tiền tố củaKhông gian(Namespaces)。
Không gian tên có thể được xác định bằng xmlns
thuộc tính để định nghĩa.
Khai báo không gian tên sử dụng ngữ pháp này: xmlns:prefix="(Uniform Resource Identifier,"。
<root> <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="https://www.codew3c.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>
Trong ví dụ trên:
thứ nhất <table> phần tử xmlns
thuộc tính là h:
Tiền tố cung cấp không gian tên có hạn.
thứ hai <table> phần tử xmlns
thuộc tính là f:
Tiền tố cung cấp không gian tên có hạn.
Nếu phần tử được định nghĩa với không gian tên, tất cả các phần tử con có tiền tố cùng nhau sẽ liên quan đến cùng không gian tên.
Không gian tên cũng có thể được khai báo trong phần tử gốc XML:
<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="https://www.codew3c.com/furniture"> <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>
Lưu ý:Bộ giải thích sẽ không sử dụng không gian tên URI để tìm thông tin.
Mục đích sử dụng URI chỉ để cung cấp tên duy nhất cho không gian tên.
Mặc dù vậy, nhiều công ty thường sử dụng không gian tên như chỉ mục để chỉ vào trang web thực tế chứa thông tin về không gian tên.
Định danh tài nguyên thống nhất (URI)
Định danh tài nguyên thống nhất (URI) Định danh tài nguyên thống nhất(Uniform Resource Identifier,URI
) là chuỗi ký tự để标识 tài nguyên Internet.Định vị tài nguyên thống nhất (Uniform Resource Locator,URL),đ标识 địa chỉ tên miền của Internet.
Một loại URI không phổ biến bằng URI khác làTên tài nguyên thống nhất (Uniform Resource Name,URN)。
Mô tả không gian tên mặc định (Default Namespaces)
Định nghĩa khoảng không gian mặc định cho các yếu tố có thể giúp chúng ta tránh sử dụng tiền tố trong tất cả các yếu tố con.
Vui lòng sử dụng ngữ pháp sau:
xmlns="namespaceURI"
Tài liệu XML này chứa thông tin về bảng HTML:
<table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
XML này chứa thông tin về một món đồ nội thất:
<table xmlns="https://www.codew3c.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
Ứng dụng thực tế của khoảng không gian
XSLT là ngôn ngữ có thể được sử dụng để chuyển đổi tài liệu XML thành định dạng khác.
Tài liệu XML dưới đây được sử dụng để chuyển đổi XML thành HTML.
Nếu bạn quan sát kỹ tài liệu XSL này, bạn sẽ thấy hầu hết các thẻ đều là các thẻ HTML.
Các thẻ không phải HTML đều có tiền tố xsl, và được xác định bởi khoảng không gian này: "http://www.w3.org/1999/XSL/Transform":
Khoảng không gian "http://www.w3.org/1999/XSL/Transform" đánh dấu các yếu tố XSLT trong tài liệu HTML:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr> <th style="text-align:left">Title</th> <th style="text-align:left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Nếu bạn muốn học thêm về XSLT, hãy đọc Hướng dẫn XSLT.
- Trang trước Thuộc tính XML
- Trang tiếp theo Hiển thị XML