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