XML trong lập trình mạng (phần 3)

XML trong lập trình mạng (tiếp tục)

Các phần tử XML cũng có các thuộc tính

<device type=”datacenter-switch” />

Khi một đoạn thông tin có metadata liên quan, nó có thể là không phù hợp để sử dụng một phần tử con để mô tả metadata
đó, nhưng thay vào là thuộc tính. Tất nhiên, bạn có thể làm cả hai nếu cần. Then chốt là hiểu sự khác nhau giữa dữ liệu
metadata (dữ liệu về dữ liệu) và sử dụng công cụ phù hợp để mô tả nó.
Một tài liệu XML có thể chứa các tags về bất cứ loại tên nào, phụ thuộc vào trường hợp sử dụng. Bạn có thể, vì vậy, gặp
một xung đột tên khi tạo các tags cho cấu trúc dữ liệu XML của bản thân bạn. Ví dụ, bạn có thể chọn sử dụng tag <device>
để mô tả một trong những smartphones mới kì diệu:

<device>Palm Pilot</device>

Tuy nhiên, cái gì xảy ra nếu bạn cũng muốn sử dụng tag <device> để mô tả một ToR switch? May mắn là, tiêu chuẩn kĩ
thuật XML đã thực thi một hệ thống namespace, cái giúp giải quyết các đụng độ giống cái này. XML cho phép bạn định
nghĩa các namespaces này, và tham chiếu tới chúng sử dụng thuộc tính xmlns (code dưới).

<root>

<e:device xmlns:c=”https://example.org/enduserdevices”>Palm Pilot</e:device>
<n:device xmlns:m=”https://example.org/networkdevices”>

<n:vendor>Cisco</n:vendor>
<n:model>Nexus 7700</n:model>
<n:osver>NXOS 6.1</n:osver>XML Schema Definition

</n:device>

</root>

Các ban đầu cơ bản của XML là hoàn toàn đơn giản. Tuy nhiên, để làm thứ gì đó có ý nghĩa với XML, bạn nên nhìn vào
các công cụ có sẵn cho làm việc với XML trong ngôn ngữ lập trình như Python.

Chia sẻ