XMLチュートリアル

XMLホーム XMLの紹介 XML使用方法 XMLツリー XML構文 XML要素 XML属性 XML名前空間 XML表示 XML HttpRequest XMLパーサー XML DOM XML XPath XML XSLT XML XQuery XML XLink XMLバリデーター XML DTD XMLスキーマ XMLサーバー XMLの例 XMLクイズ XML証明書

XML AJAX

AJAXの紹介 AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

XML DOM

DOMの紹介 DOMノード DOMアクセス DOMノード情報 DOMノードリスト DOMトラバース DOMナビゲーション DOMは値を取得します DOM変更ノード DOM削除ノード DOM置換ノード DOM作成ノード DOM追加ノード DOMクローンノード DOMの例

XPathチュートリアル

XPathの概要 XPathノード XPath構文 XPath軸 XPath演算子 XPathの例

XSLTチュートリアル

XSLTの紹介 XSL言語 XSLT変換 XSLT <テンプレート> XSLT <値> XSLT <for-each> XSLT <ソート> XSLT <if> XSLT <選択> XSLT適用 クライアント上のXSLT サーバー上のXSLT XSLT Edit XML XSLTの例

XQueryチュートリアル

XQueryの紹介 XQueryの例 XQuery FLWOR XQuery HTML XQueryの用語 XQuery構文 XQuery追加 XQuery Select XQuery関数

XML DTD

DTDの紹介 DTDビルディングブロック DTD要素 DTD属性 DTD要素と属性 DTDエンティティ DTDの例

XSDスキーマ

XSDの概要 XSDハウツー XSD <スキーマ> XSD要素 XSD属性 XSDの制限

XSDコンプレックス

XSD要素 XSDが空です XSD要素のみ XSDテキストのみ XSD混合 XSDインジケーター XSD <任意> XSD <anyAttribute> XSD置換 XSDの例

XSDデータ

XSD文字列 XSD日付 XSD数値 XSDその他 XSDリファレンス

Webサービス

XMLサービス XML WSDL XML SOAP XML RDF XML RSS

参考文献

DOMノードタイプ DOMノード DOM NodeList DOM NamedNodeMap DOMドキュメント DOM要素 DOM属性 DOMテキスト DOM CDATA DOMコメント DOM XMLHttpRequest DOMパーサー XSLT要素 XSLT / XPath関数

XML属性


XML要素は、HTMLと同じように属性を持つことができます。

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


XML属性は引用する必要があります

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

人の性別の場合、<person>要素は次のように記述できます。

<person gender="female">

またはこのように:

<person gender='female'>

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

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

または、文字エンティティを使用できます。

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

XML要素と属性

これらの2つの例を見てください。

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

2番目の例では、<date>要素が使用されています。

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

3番目の例では、展開された<date>要素が使用されています:(これは私のお気に入りです):

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

XML属性を避けますか?

属性を使用する際に考慮すべき点は次のとおりです。

  • 属性に複数の値を含めることはできません(要素は含めることができます)
  • 属性にツリー構造を含めることはできません(要素に含めることができます)
  • 属性は簡単に拡張できません(将来の変更のために)

このようになってはいけません:

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

メタデータのXML属性

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

<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属性は、さまざまな音符を識別するためのものです。メモ自体の一部ではありません。

ここで言いたいのは、メタデータ(データに関するデータ)は属性として保存し、データ自体は要素として保存する必要があるということです。