XmlAttribute.Specified プロパティ


属性値が明示的に設定されたかどうかを示す値を取得します。Gets a value indicating whether the attribute value was explicitly set.

 virtual property bool Specified { bool get(); };
public virtual bool Specified { get; }
member this.Specified : bool
Public Overridable ReadOnly Property Specified As Boolean


元のインスタンス ドキュメントでこの属性に明示的に値が指定された場合は true。それ以外の場合は falsetrue if this attribute was explicitly given a value in the original instance document; otherwise, false. false の値は、属性の値が DTD に由来していることを示します。A value of false indicates that the value of the attribute came from the DTD.


実装は、ユーザーではなく、このプロパティを担当します。The implementation is in charge of this property, not the user. ユーザーが属性の値を変更した場合 (既定値または固定値と同じ値を持つ場合でも)、指定されたフラグは trueに自動的に反転されます。If the user changes the value of the attribute (even if it ends up having the same value as the default/fixed value), then the specified flag is automatically flipped to true. DTD から既定値/固定値として属性を再指定するには、ユーザーは属性を削除する必要があります。To re-specify the attribute as the default/fixed value from the DTD, the user must delete the attribute. 次に、この実装では、指定されたセットを false に設定し、既定値/固定値 (存在する場合) を指定して、新しい属性を使用できるようにします。The implementation then makes a new attribute available with specified set to false and the default/fixed value (if one exists).

要約すると:In summary:

  1. 属性にドキュメントの値が割り当てられている場合、Specifiedtrueになり、値は割り当てられた値になります。If the attribute has an assigned value in the document, Specified is true, and the value is the assigned value.

  2. 属性にドキュメントの値が割り当てられておらず、DTD に既定値または固定値が含まれている場合、Specifiedfalse、値は DTD の既定値/固定値です。If the attribute has no assigned value in the document and has a default/fixed value in the DTD, Specified is false, and the value is the default/fixed value in the DTD.

  3. それ以外の場合、この属性はドキュメントの構造モデルには表示されません。Otherwise, the attribute does not appear in the structure model of the document.