Xml-attributes

提供:Dev Guides
移動先:案内検索

XML-属性

この章では、* XML属性*について説明します。 属性はXML要素の一部です。 要素には、複数の一意の属性を含めることができます。 属性は、XML要素に関する詳細情報を提供します。 より正確には、要素のプロパティを定義します。 XML属性は常に名前と値のペアです。

構文

XML属性には次の構文があります-

<element-name attribute1 attribute2 >
....content..
</element-name>

ここで、_attribute1_と_attribute2_の形式は次のとおりです-

name = "value"

_value_は、二重引用符( "")または単一引用符( )で囲む必要があります。 ここで、_attribute1_と_attribute2_は一意の属性ラベルです。

属性は、要素に一意のラベルを追加したり、カテゴリにラベルを配置したり、ブールフラグを追加したり、データの文字列に関連付けたりするために使用されます。 次の例は、属性の使用を示しています-

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE garden [
   <!ELEMENT garden (plants)*>
   <!ELEMENT plants (#PCDATA)>
   <!ATTLIST plants category CDATA #REQUIRED>
]>

<garden>
   <plants category = "flowers"/>
   <plants category = "shrubs">
   </plants>
</garden>

すべての状況で新しい要素を作成したくない場合、属性は同じ名前の要素を区別するために使用されます。 したがって、属性を使用すると、2つ以上の同様の要素を区別する際にもう少し詳細を追加できます。

上記の例では、属性カテゴリを含めて、各要素に異なる値を割り当てることにより、植物を分類しました。 したがって、2つのカテゴリの_plants_があります。1つは_flowers_で、もう1つは_shrubs_です。 したがって、異なる属性を持つ2つのプラント要素があります。

また、XMLの先頭でこの属性を宣言していることも確認できます。

属性タイプ

次の表は、属性の種類を示しています-

Attribute Type Description
StringType It takes any literal string as a value. CDATA is a StringType. CDATA is character data. This means, any string of non-markup characters is a legal part of the attribute.
TokenizedType

This is a more constrained type. The validity constraints noted in the grammar are applied after the attribute value is normalized. The TokenizedType attributes are given as −

  • ID -要素を一意として指定するために使用されます。
  • IDREF -別の要素の名前が付けられたIDを参照するために使用されます。
  • IDREFS -要素のすべてのIDを参照するために使用されます。
  • ENTITY -属性がドキュメント内の外部エンティティを表すことを示します。
  • ENTITIES -属性がドキュメント内の外部エンティティを表すことを示します。
  • NMTOKEN -これはCDATAに似ていますが、属性に含めることができるデータに制限があります。
  • NMTOKENS -属性に含めることができるデータに制限がありますが、CDATAに似ています。
EnumeratedType

This has a list of predefined values in its declaration. out of which, it must assign one value. There are two types of enumerated attribute −

  • NotationType -要素は、XMLドキュメントのどこかで宣言されたNOTATIONを参照することを宣言します。
  • 列挙-列挙により、属性値が一致する必要がある特定の値のリストを定義できます。

要素属性ルール

以下は、属性について従う必要がある規則です-

  • 属性名は、同じ開始タグまたは空要素タグに複数回出現してはなりません。
  • 属性は、Attribute-List Declarationを使用してDocument Type Definition(DTD)で宣言する必要があります。
  • 属性値には、外部エンティティへの直接または間接のエンティティ参照を含めることはできません。
  • 属性値で直接または間接的に参照されるエンティティの置換テキストには、小なり記号(* <*)を含めることはできません