DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XML入門指南(5)XML屬性
XML入門指南(5)XML屬性
編輯:XML詳解     

跟Html一樣,XML元素再開始標記處可以由元素屬性。

  屬性通常包含一些關於元素的額外信息。


XML屬性

  XML元素可以擁有屬性。

  你一定還記得這樣的Html代碼吧: <IMG SRC="computer.gif">。src是img元素的屬性,提供了關於img元素的額外信息。

  在Html中 (在XML中也一樣)元素的屬性提供了元素的額外信息。

<img src="computer.gif"> <a href="demo.ASP">

  書信提供的信息通常不是數據的一部分。在下面的例子中,類型和數據毫不相關,但對於操作這個元素的軟件來說卻相當重要。

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

引用風格"female" 還是 'female'?

  屬性值必須用引號引著。單引號、雙引號都可以使用。例如一個人的性別,person元素可以這樣寫:

<person sex="female">

  也可以這樣寫:

<person sex='female'>

  上面的兩種寫法在一般情況下是沒有區別的,使用雙引號的應用更普遍一些。但是在某些特殊的情況下就必須使用單引號,比如下面的例子:

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

使用子元素還是使用屬性

  數據既可以存儲在子元素中也可以存儲在屬性中。

  請看下面的例子:

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

  在第一個例子中,sex是一個屬性,在第二個例子中,sex則是一個子元素。這兩個例子都提供了相同的信息。

 什麼時候用屬性,什麼時候用子元素沒有一個現成的規則可以遵循。我的經驗是屬性在Html中可能相當便利,但在XML中,你最好避免使用。


我喜歡的風格

  我更願意把數據存儲到子元素中。

  下面的三個XML文檔包含了相同的信息:

  第一個例子使用了data屬性:

<note date="12/11/99"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

  第二個例子使用了data元素:

<note> <date>12/11/99</date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

  第三個例子使用了擴展的data元素: (這就是我推薦的樣式):

<note> <date> <day>12</day> <month>11</month> <year>99</year> </date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

避免使用屬性?

  應該避免使用屬性麼?

  這裡有一些使用屬性引發的問題:

  • 屬性不能包含多個值(子元素可以)。
  • 屬性不容易擴展。
  • 屬性不能夠描述結構(子元素可以)。
  • 屬性很難被程序代碼處理。
  • 屬性值很難通過DTD進行測試。

  如果使用屬性來存儲數據,那麼所編寫的XML文檔一定很難閱讀和操作。盡量使用元素來描述數據,僅使用屬性來描述那些與數據關系不大的額外信息。

  不要象下面的例子那樣(如果你那麼做了說明你還沒有明白上面的觀點)。

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

屬性規則的例外

  規則總是有例外的。

  我的關於屬性的規則也有一個例外:

  有些時候應該為一個元素設計一個ID引用,通過這個ID可以引用存取特定的XML元素,就象Html中的name和id屬性一樣。請看下面的例子:

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

  在上面的例子中,ID屬性就相當於一個計數器,或者是一個唯一的標識符,在XML文檔中標識不同的便條信息,他不是便條信息的一部分。

  我們所要盡力向讀者說明的是:元數據(與數據有關的數據)應該以屬性的方式存儲,而數據本身應該以元素的形式存儲。


 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved