แอตทริบิวต์ XML
- 上一頁 ตัวแทน XML
- 下一頁 ชื่อชั้นแนวทาง XML
องค์ประกอบ XML สามารถมีคุณสมบัติในแบบแสดงตัวแรก ตรงกันข้ามกับ HTML
คุณสมบัติ (Attribute) ให้ข้อมูลเพิ่มเติมเกี่ยวกับองค์ประกอบ
คุณสมบัติของ XML ต้องมีอักษรวรรษย์
ค่าของคุณสมบัติต้องมีอักษรวรรษย์ล้อมรอบ แต่อักษรวรรษย์ขวางและอักษรวรรษย์ซ้ายก็สามารถใช้ได้
เช่นเดียวกับความเป็นเพศของคน แบบองค์ประกอบ <person> สามารถเขียนเช่นนี้:
<person gender="female">
หรือก็สามารถเขียนเช่นนี้ด้วย:
<person gender='female'>
ถ้าค่าของคุณสมบัติมีอักษรวรรษ์วรรษย์เป็นตัวแทนนี้ คุณสามารถใช้อักษรวรรษย์เดียวได้ ตัวอย่างดังนี้:
<gangster name='George "Shotgun" Ziegler'>
หรือคุณสามารถใช้ตัวเลขตัวอักษรสำหรับตัวแทนนี้:
<gangster name="George "Shotgun" Ziegler">
XML องค์ประกอบและคุณสมบัติ
โปรดดูตัวอย่างที่มีต่อไปนี้:
<person gender="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> <person> <gender>female</gender> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
在第一個例子中,sex 是一個屬性。在第二個例子中,sex 則是一個子元素。兩個例子均可提供相同的信息。
XML 中沒有規則可以告訴我們什麼時候該使用屬性,什麼時候該使用子元素。我的經驗是在 HTML 中,屬性用起來很便利,但是在 XML 中,您應該盡量避免使用屬性。如果信息感覺起來很像數據,那麼請使用子元素吧。
我最喜歡的方式
下面的三個 XML 文件包含完全相同的信息:
第一個例子中使用了 date 屬性:
<note date="2008-01-10"> <to>George</to> <from>John</from> </note>
第二個例子中使用了 <date> 元素:
<note> <date>2008-01-10</date> <to>George</to> <from>John</from> </note>
第三個例子中使用了擴展的 date 元素(這是我的最爱):
<note> <date> <year>2008</year> <month>01</month> <day>10</day> </date> <to>George</to> <from>John</from> </note>
避免使用 XML 屬性?
使用屬性時需要考慮的一些事項是:
- 屬性不能包含多個值(元素可以)
- 屬性無法描述樹結構(元素可以)
- 屬性不易擴展(為未來的變化)
請盡量使用元素來描述數據。而僅僅使用屬性來提供與數據無關的信息。
不要做這樣的蠢事(這不是 XML 應該被使用的方式):
<note day="10" month="01" year="2008" to="George" from="John" heading="Reminder" body="Don't forget the meeting!"> </note>
針對元數據的 XML 屬性
有時會向元素分配 ID 引用。這些 ID 索引可用於識別 XML 元素,它起作用的方式與 HTML 中 ID 屬性 alike。這個例子向我們演示了這種情況:
<messages> <note id="501"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> <note id="502"> <to>John</to> <from>George</from> <heading>Re: Reminder</heading> <body>I will not</body> </note> </messages>
上面的 ID 仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成部分。
在此我們極力向您傳遞的理念是:元數據(有關數據的數據)應當存儲為屬性,而數據本身應當存儲為元素。
- 上一頁 ตัวแทน XML
- 下一頁 ชื่อชั้นแนวทาง XML