Hướng dẫn XML

TRANG CHỦ XML Giới thiệu XML Cách sử dụng XML Cây XML Cú pháp XML Phần tử XML Thuộc tính XML Không gian tên XML Hiển thị XML HttpRequest XML Trình phân tích cú pháp XML DOM XML XPath XML XSLT XML XQuery XML XML XLink Trình xác thực XML DTD XML Lược đồ XML Máy chủ XML Ví dụ về XML Câu đố XML Chứng chỉ XML

XML AJAX

Giới thiệu AJAX AJAX XMLHttp Yêu cầu AJAX Phản hồi AJAX Tệp XML AJAX AJAX PHP AJAX ASP Cơ sở dữ liệu AJAX Ứng dụng AJAX Ví dụ về AJAX

DOM XML

Giới thiệu DOM Nút DOM Truy cập DOM Thông tin nút DOM Danh sách nút DOM DOM Traversing Điều hướng DOM DOM Nhận giá trị Nút thay đổi DOM DOM Xóa các nút Nút thay thế DOM DOM Tạo nút DOM Thêm nút Nút nhân bản DOM Ví dụ về DOM

Hướng dẫn XPath

Giới thiệu XPath Nút XPath Cú pháp XPath Trục XPath Toán tử XPath Ví dụ về XPath

Hướng dẫn XSLT

Giới thiệu XSLT Ngôn ngữ XSL Chuyển đổi XSLT XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sắp xếp> XSLT <if> XSLT <chọn> Áp dụng XSLT XSLT trên máy khách XSLT trên Máy chủ XSLT Chỉnh sửa XML Ví dụ về XSLT

Hướng dẫn XQuery

Giới thiệu XQuery Ví dụ về XQuery XQuery FLWOR HTML XQuery Điều khoản XQuery Cú pháp XQuery XQuery Thêm Chọn XQuery Hàm XQuery

DTD XML

Giới thiệu DTD Khối xây dựng DTD Phần tử DTD Các thuộc tính DTD Phần tử DTD so với Attr Thực thể DTD Ví dụ về DTD

Lược đồ XSD

Giới thiệu XSD XSD Cách thực hiện XSD <schema> Phần tử XSD Thuộc tính XSD Hạn chế XSD

XSD Complex

Phần tử XSD XSD trống Chỉ các phần tử XSD Chỉ văn bản XSD XSD hỗn hợp Chỉ báo XSD XSD <nhiều> XSD <anyAttribute> Thay thế XSD Ví dụ về XSD

Dữ liệu XSD

Chuỗi XSD Ngày XSD XSD Numeric XSD Misc Tham chiếu XSD

Dịch vụ web

Dịch vụ XML WSDL XML SOAP XML RDF XML RSS XML

Người giới thiệu

Các loại nút DOM Nút DOM DOM NodeList DOM NamedNodeMap Tài liệu DOM Phần tử DOM Thuộc tính DOM Văn bản DOM DOM CDATA Bình luận DOM DOM XMLHttpRequest Trình phân tích cú pháp DOM Phần tử XSLT Hàm XSLT / XPath

Thuộc tính XML


Các phần tử XML có thể có các thuộc tính, giống như HTML.

Các thuộc tính được thiết kế để chứa dữ liệu liên quan đến một phần tử cụ thể.


Các thuộc tính XML phải được trích dẫn

Các giá trị thuộc tính phải luôn được trích dẫn. Có thể sử dụng dấu nháy đơn hoặc dấu ngoặc kép.

Đối với giới tính của một người, phần tử <someone> có thể được viết như thế này:

<person gender="female">

hoặc như thế này:

<person gender='female'>

Nếu bản thân giá trị thuộc tính chứa dấu ngoặc kép, bạn có thể sử dụng dấu ngoặc kép, như trong ví dụ sau:

<gangster name='George "Shotgun" Ziegler'>

hoặc bạn có thể sử dụng các thực thể ký tự:

<gangster name="George &quot;Shotgun&quot; Ziegler">

Phần tử XML so với các thuộc tính

Hãy xem hai ví dụ sau:

<person gender="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
<person>
  <gender>female</gender>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

Trong ví dụ đầu tiên, giới tính là một thuộc tính. Trong ví dụ cuối cùng, giới tính là một yếu tố. Cả hai ví dụ đều cung cấp thông tin giống nhau.

Không có quy tắc nào về thời điểm sử dụng các thuộc tính hoặc khi nào sử dụng các phần tử trong XML.



Cách yêu thích của tôi

Ba tài liệu XML sau đây chứa thông tin giống hệt nhau:

Thuộc tính ngày tháng được sử dụng trong ví dụ đầu tiên:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
</note>

Phần tử <date> được sử dụng trong ví dụ thứ hai:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Phần tử <ngày> mở rộng được sử dụng trong ví dụ thứ ba: (ĐÂY LÀ YÊU THÍCH CỦA TÔI):

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Tránh các thuộc tính XML?

Một số điều cần cân nhắc khi sử dụng các thuộc tính là:

  • thuộc tính không được chứa nhiều giá trị (các phần tử có thể)
  • thuộc tính không thể chứa cấu trúc cây (các phần tử có thể)
  • các thuộc tính không thể mở rộng dễ dàng (đối với những thay đổi trong tương lai)

Đừng kết thúc như thế này:

<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

Thuộc tính XML cho siêu dữ liệu

Đôi khi các tham chiếu ID đượ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ách giống như thuộc tính id trong HTML. Ví dụ này chứng minh điều này:

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>

Các thuộc tính id ở trên là để xác định các ghi chú khác nhau. Bản thân nó không phải là một phần của ghi chú.

Điều tôi đang cố gắng nói ở đây là siêu dữ liệu (dữ liệu về dữ liệu) nên được lưu trữ dưới dạng thuộc tính và bản thân dữ liệu phải được lưu trữ dưới dạng phần tử.