XmlSerializer によって生成された XML 属性名が限定されているかどうかを示す値を取得または設定します。
Public Property Form As XmlSchemaForm
[C#]
public XmlSchemaForm Form {get; set;}
[C++]
public: __property XmlSchemaForm get_Form();public: __property void set_Form(XmlSchemaForm);
[JScript]
public function get Form() : XmlSchemaForm;public function set Form(XmlSchemaForm);
プロパティ値
XmlSchemaForm 値の 1 つ。既定値は XmlForm.None です。
解説
Form プロパティは、XML 要素が限定されているかいないかを判断します。 Form プロパティは、W3C (http://www.w3.org) による仕様『 Namespaces in
XML 』 (1999 年) に準拠しています。
Namespace プロパティに任意の値が設定されている場合は、 Form プロパティを XmlSchemaForm.Unqualified に設定しようとすると例外がスローされます。既定の設定 XmlSchemaForm.None は、 XmlSerializer に対し、名前空間が限定されているかどうかを判断するために XML ドキュメントのスキーマを調べるように指示します。スキーマが個別の要素または属性に値を指定しない場合、 XmlSerializer は elementFormDefault 値および attributeFormDefault 値を使用して、要素または属性が限定されているかどうかを判断します。次の XML コードはスキーマを示しています。
<schema elementFormDefault="qualified"
attributeFormDefault="unqualified" ... >
<element name="Name"/>
<attribute name="Number"/>
</schema>
XmlSerializer がスキーマを読み取ると、Name と Number の両方の Form 値は XmlSchemaForm.None になります。ただし、Name 要素は限定されますが、Number 要素は限定されません。
使用例
[Visual Basic, C#, C++] XmlAttributeAttribute を同じクラスに含まれている 2 つのフィールドに適用する例を次に示します。
Public Class Vehicle
<XmlAttribute(Form := XmlSchemaForm.Qualified)> _
Public Maker As String
<XmlAttribute(Form := XmlSchemaForm.Unqualified)> _
Public ModelID As String
End Class
[C#]
public class Vehicle
{
[XmlAttribute(Form = XmlSchemaForm.Qualified)]
public string Maker;
[XmlAttribute(Form = XmlSchemaForm.Unqualified)]
public string ModelID;
}
[C++]
public __gc class Vehicle
{
public:
[XmlAttributeAttribute(Form = XmlSchemaForm::Qualified)]
String* Maker;
public:
[XmlAttributeAttribute(Form = XmlSchemaForm::Unqualified)]
String* ModelID;
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン
をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
XmlAttributeAttribute クラス | XmlAttributeAttribute メンバ | System.Xml.Serialization 名前空間