最新のWeb開発のチュートリアル
 

XML属性


XML要素は、単にHTMLなどの属性を有することができます。

属性は、特定の要素に関連するデータを含むように設計されています。


XMLの属性は引用符で囲む必要があります

属性値は、常に引用符で囲む必要があります。 単一または二重引用符のいずれかを使用することができます。

人の性別については、 <person>要素は次のように書くことができます。

<person gender="female">

または、このように:

<person gender='female'>

属性値自体が二重引用符が含まれている場合は、この例のように単一引用符を、使用することができます。

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

または、あなたは文字エンティティを使用することができます。

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

XML要素対属性

これらの例を見てみましょう:

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

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

最初の例では性別が属性です。 最後に、性別は要素です。 どちらの例も、同じ情報を提供します。

XMLの要素を使用する場合、または属性を使用するときについてのルールはありません。


私の好みの方法

以下の3つのXML文書は、まったく同じ情報が含まれています。

日付属性は、最初の例で使用されます。

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

<date>要素は、第二の例で使用されます。

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

拡大<date>要素は、第三の例で使用されます(THIS IS MY FAVORITE)

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

XML属性を避けますか?

属性を使用する際に考慮すべきいくつかのものは、次のとおりです。

  • 複数の値を含めることはできません属性(elements can)
  • ツリー構造を含めることはできません属性(elements can)
  • 属性は、容易に拡張可能ではありません(for future changes)

このように終わるしないでください。

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

XMLはメタデータの属性

時には、ID参照は要素に割り当てられます。 これらのIDは、ほぼ同じ方法でXML要素を識別するために使用することができるid HTML内の属性。 この例では、このことを示しています。

<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上記の属性別のノートを識別するためのものです。 これは、ノート自体の一部ではありません。

私がここで言うことをしようとしていると、そのメタデータである(data about data)の属性として格納されるべきであり、データそのものを要素として格納する必要があります。