Các thuộc tính trong XML–XML Attributes [6]

images

Nhìn chung các thuộc tính của các yếu tố XML giống như trong HTML. Các thuộc tính cung cấp thông tin bổ sung về phần tử. Bài viết này đề cập đến các vấn đề như các thuộc tính trong XML là gì, cách sử dụng tốt các thuộc tính, thuộc tính XML cho siêu dữ liệu .

1. Các thuộc tính trong XML – XML Attributes

Trong HTML, các thuộc tính cung cấp các thông tin bổ sung cho các phần tử.

<img src="computer.gif">

<a href="demo.asp">

Các thuộc tính thường cung cấp thông tin, đó không phải là một phần của dữ liệu. Trong ví dụ dưới đây, các loại tập tin là không liên quan đến các dữ liệu, nhưng có thể là quan trọng đối với phần mềm khi chúng ta muốn thao tác trên các phần tử.

<file type="gif">computer.gif</file>

 

2. Các thuộc tính trong XML phải nằm trong dấu trích dẫn “”

Giá trị thuộc tính phải luôn nằm trong dấu trích dẫn.  Có thể sử dụng dấu nháy đơn hay nháy kép trong từng trường hợp cụ thể được sử dụng. Đối với giới tính của người, phần tử người có thể được viết như thế này:

<person sex="female">

hoặc

<person sex='female'>

Nếu giá trị thuộc tính có sử dụng dấu nháy kép thì có thể viết như thế này:

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

Chúng ta cũng có thể sử dụng tham chiếu thực thể:

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

 

3. Các phần tử so với các thuộc tính của XML

Chúng ta hãy xem 2 ví dụ dưới đây:

<person sex="female">

  <firstname>Anna</firstname>

  <lastname>Smith</lastname>

</person>

<person>

  <sex>female</sex>

  <firstname>Anna</firstname>

  <lastname>Smith</lastname>

</person>

Trong ví dụ đầu tiên, giới tính (sex) là một thuộc tính, trong ví dụ thứ 2, sex là một phần tử. Cả 2 ví dụ trên cung cấp cho chúng ta một thông tin giống nhau.

Không có quy định nào khi sử dụng các thuộc tính hay yếu tố. Các thuộc tính rất tiện dụng trong HTML.Trong XML, lời khuyên của tôi là tránh sử dụng chúng. Nên sử dụng các phần tử (elements) thay thế.

4. Cách nên sử dụng:

Trong 3 tài liệu XML dưới đây chứa chính xác cùng một thông tin:

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

<note date="10/01/2008">

  <to>Tove</to>

  <from>Jani</from>

  <heading>Reminder</heading>

  <body>Don't forget me this weekend!</body>

</note>

Một phần tử ngày được sử dụng trong ví dụ thứ 2:

<note>

  <date>10/01/2008</date>

  <to>Tove</to>

  <from>Jani</from>

  <heading>Reminder</heading>

  <body>Don't forget me this weekend!</body>

</note>

Một phần tử thời gian mở rộng được sử dụng trong ví dụ thứ 3 này. Đây chính là cách mà tôi khuyên bạn nên sử dụng:

<note>

  <date>

    <day>10</day>

    <month>01</month>

    <year>2008</year>

  </date>

  <to>Tove</to>

  <from>Jani</from>

  <heading>Reminder</heading>

  <body>Don't forget me this weekend!</body>

</note>

Khi sử dụng cách thứ 3, chúng ta có thể có những thông tin giống 2 cách đầu tiên. Nhưng khi khai thác thông tin từ phần mềm thì đây là cách hay nhất và tối ưu nhất.

5. Tránh các thuộc tính XML:

Một số vấn đề xảy ra khi sử dụng các thuộc tính là:

– Thuộc tính không thể chứa nhiều giá trị (các phần tử có thể).

– Thuộc tính không thể chứa các cấu trúc cây (Các phần tử có thể).

– Thuộc tính không dễ dàng mở rộng (đối với những thay đổi trong tương lai).

– CÁc thuộc tính khó đọc và duy trì. Sử dụng các phần tử cho dữ liệu. Sử dụng các thuộc tính cho các thông tin liên quan đến dữ liệu.

Đừ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>

 

6. CÁc thuộc tính XML cho siêu dữ liệu (XML Attributes for metadata)

Đôi khi các ID tham chiếu được gán cho các phần tử. Những ID có thể được sử dụng để xác định các phần tử(yếu tố) của XML theo cách tương tự như các thuộc tính ID trong HTML. Ví dụ dưới đây sẽ 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, nó không phải là một phần của các ghi chú (note).

Những gì mà tôi đang cố gắng nói ở đây là siêu dữ liệu (dữ liệu về dữ liệu) phải được lưu trữ như là các thuộc tính, và các dữ liệu chính nó phải được lưu trữ như là các phần tử(yếu tố).

About thanhcuong1990

Handsome and talent!! ^^
This entry was posted in XML. Bookmark the permalink.

1 Response to Các thuộc tính trong XML–XML Attributes [6]

  1. Cao Huu Tu says:

    Thanks a lot!

Leave a comment