XML ガイド - XML 属性

黄舟
リリース: 2017-02-11 15:16:52
オリジナル
1810 人が閲覧しました


HTML と同様に、XML 要素はタグの先頭に要素属性を持つことができます。
属性には通常、要素に関する追加情報が含まれています。

XML 属性
XML 要素は属性を持つことができます。
この HTML コード: を覚えておく必要があります。 src は img 要素の属性であり、img 要素に関する追加情報を提供します。
HTML (および XML) では、要素の属性は要素に関する追加情報を提供します。

<img src="computer.gif"> 
<a href="demo.asp">
ログイン後にコピー


手紙によって提供される情報は通常、データの一部ではありません。次の例では、型はデータとは関係ありませんが、この要素を操作するソフトウェアにとっては非常に重要です。

<file type="gif">computer.gif</file>
ログイン後にコピー


引用スタイル「女性」または「女性」?
属性値は引用符で囲む必要があります。一重引用符と二重引用符の両方を使用できます。たとえば、人の性別である person 要素は次のように書くことができます:

<person sex="female">
ログイン後にコピー

は次のように書くこともできます:

<person sex=&#39;female&#39;>
ログイン後にコピー


上記 2 つの書き方には一般的に違いはありません。二重引用符を使用することがより一般的です。ただし、次の例のように、一部の特殊なケースでは一重引用符を使用する必要があります。

<gangster name=&#39;George "Shotgun" Ziegler&#39;>
ログイン後にコピー


サブ要素または属性を使用する
データはサブ要素または属性のいずれかに保存できます。
以下の例を見てください:

<person sex="female"> 
Anna 
Smith 
 
 
female 
Anna 
Smith 
ログイン後にコピー

最初の例では、性別は属性であり、2 番目の例では、性別は子要素です。どちらの例でも同じ情報が提供されます。
いつ属性を使用するか、いつサブ要素を使用するかについて従うべき既成のルールはありません。私の経験では、属性は HTML では非常に便利ですが、XML では属性を使用しないほうがよいでしょう。



私の好きなスタイル
データを子要素に保存することを好みます。
次の 3 つの XML ドキュメントには同じ情報が含まれています:
最初の例はデータ属性を使用します:

<note date="12/11/99"> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
</note>
ログイン後にコピー


2 番目の例はデータ要素を使用します:

<note> 
<date>12/11/99</date> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
</note>
ログイン後にコピー


3 番目の例は拡張データ要素を使用します: (これは私が推奨するスタイル):

<note> 
<date> 
<day>12</day> 
<month>11</month> 
<year>99</year> 
</date> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
</note>
ログイン後にコピー



属性の使用を避けますか?
属性は避けるべきですか?
属性の使用によって生じるいくつかの問題を次に示します:
属性には複数の値を含めることはできません (子要素には含めることができます)。
属性を拡張するのは簡単ではありません。
属性は構造を記述することができません (サブ要素は記述できます)。
属性をプログラム コードで処理するのは困難です。
属性値を DTD でテストするのは困難です。
属性を使用してデータを保存する場合、記述された XML ドキュメントは読み取りや操作が困難になるはずです。データを記述するために要素を使用し、データとほとんど関係のない追加情報を記述するためにのみ属性を使用するようにしてください。
以下の例のようにしないでください(もしそれを行うと、上記の点を理解していないことになります)。

<note day="12" month="11" year="99" 
to="Tove" from="Jani" heading="Reminder"  
body="Don&#39;t forget me this weekend!"> 
</note>
ログイン後にコピー

プロパティ ルールの例外
ルールには常に例外があります。
属性に関する私のルールには例外があります:
HTML の name 属性と id 属性と同じように、要素の ID 参照を指定する必要がある場合があります。これを通じて、特定の XML 要素を参照およびアクセスできます。次の例を参照してください:

<messages> 
<note ID="501"> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;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 ドキュメント内のさまざまなメモ情報を識別する一意の識別子に相当します。これはメモ情報の一部ではありません。
私たちが読者に説明しようとしているのは、メタデータ (データに関連するデータ) は属性の形式で格納され、データ自体は要素の形式で格納される必要があるということです。 M 上記は XML ガイドの内容です。XML 属性の内容については、PHP 中国語 Web サイト (www.php.cn) を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート