XML 要素には、HTML と同様に、開始タグに attributes を含めることができます。
属性は、要素に関する追加情報を提供します。
XML 属性
HTML から、 を思い出してください。 「src」属性は、 要素に関する追加情報を提供します。
HTML (および XML) では、属性は要素に関する追加情報を提供します。
<img src="computer.gif"> <a href="demo.asp">
属性は、データの一部ではない情報を提供することがよくあります。次の例では、ファイル タイプはデータとは何の関係もありませんが、この要素を処理する必要があるソフトウェアにとっては重要です:
<file type="gif">computer.gif</file>
XML 属性は引用符で囲む必要があります
属性値は引用符で囲む必要がありますが、一重引用符と二重引用符の両方を使用できます。たとえば、人の性別である person タグは次のように書くことができます:
<person sex="female">
または次のようにすることもできます:
<person sex='female'>
注 : 属性値自体に二重引用符が含まれている場合は、属性値を二重引用符で囲む必要があります。次の例のように一重引用符で囲みます:
<gangster name='George "Shotgun" Ziegler'>
または、エンティティ references を使用することもできます:
<gangster name="George "Shotgun" Ziegler">
XML 要素と属性
これらの例を見てください:
<person sex="female">Anna Smith female Anna Smith
最初の例では、性別は属性です。 2 番目の例では、性別が子要素です。どちらの例でも同じ情報が提供されます。
いつ属性を使用するか、いつ子要素を使用するかを指示するルールはありません。私の経験では、HTML では属性を使用すると非常に便利ですが、XML では属性の使用を避ける必要があります。情報がデータによく似ている場合は、子要素を使用します。
私のお気に入りの方法
次の 3 つの XML ドキュメントには、まったく同じ情報が含まれています:
最初の例は、date 属性を使用します:
<note date="08/08/2008"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting this weekend!</body> </note>
2 番目の例は、日付要素を使用します:
<note> <date>08/08/2008</date> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting this weekend!</body> </note>
3 番目の例は、拡張日付要素 (これが私のお気に入りです):
<note> <date> <day>08</day> <month>08</month> <year>2008</year> </date> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting this weekend!</body> </note>
XML 属性を避けますか?
属性の使用によって生じるいくつかの問題:
属性に複数の値を含めることはできない(子要素は可能)
属性はツリー構造を記述することができない(子要素は可能)
属性は簡単に拡張できない(将来の変更に備えて)
属性読み取りと保守が難しい
データを記述するには要素を使用するようにしてください。代わりに、属性を使用してデータに依存しない情報を提供します。
次のような愚かなことはしないでください (これは XML の使用方法ではありません):
<note day="08" month="08" year="2008" to="George" from="John" heading="Reminder" body="Don't forget the meeting this weekend!"> </note>
メタデータの XML 属性
場合によっては、ID 参照が要素に割り当てられます。これらの ID indexes は XML 要素を識別するために使用でき、HTML の ID 属性と同じように機能します。この例はこれを示しています:
<messages> <note id="501"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting this weekend!</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属性の詳細なコード説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。