System.Xml.Serialization.XmlTypeAttribute Class

Assembly: System.Xml.dll
Namespace: System.Xml.Serialization
Summary
Controls the XML schema generated when the attribute target is serialized by the XmlSerializer.
C# Syntax:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Interface)]
public class XmlTypeAttribute : Attribute
Remarks
The XmlTypeAttribute belongs to a family of attributes that controls how the XmlSerializer serializes or deserializes an object. For a complete list of similar attributes, see the conceptual topic at MSDN: attributesthatcontrolserialization.

You can apply the XmlTypeAttribute to a class, structure, enumeration, or interface declaration.

Apply the XmlTypeAttribute to a class to specify the XML type's namespace, the XML type name, and whether to include the type in the XML schema document. To see the results of setting the XmlTypeAttribute class's properties, compile your application as an executable or DLL, and pass the resulting file to the the conceptual topic at MSDN: xmlschemadefinitiontoolxsdexe. The tool writes the schema--including the type definition.



Note If you set the XmlTypeAttribute.IncludeInSchema property to false, the the conceptual topic at MSDN: xmlschemadefinitiontoolxsdexe will not include type in the schema. By default, for each public class, the XSD tool generates a complexType and an element of that type.

For more information about using attributes, see the conceptual topic at MSDN: extendingmetadatausingattributes.



Note In your code, you can use the word XmlType instead of the longer XmlTypeAttribute.
Example
The following example shows two classes to which the XmlTypeAttribute has been applied.
[XmlType(Namespace = "http://www.cpandl.com",
TypeName = "GroupMember")]
public class Person
{
   public string Name;
}

[XmlType(Namespace = "http://www.cohowinery.com",
TypeName = "GroupAddress")]
public class Address
{
   public string Line1;
   public string Line2;
   public string City;
   public string State;
   public string Zip;
}

public class Group
{
   public Person[] Staff;
   public Person Manager;
   public Address Location;
}


    
See also:
System.Xml.Serialization Namespace See also:
MSDN: introducingxmlserialization | MSDN: overridingserializationofclasseswithxmlattributeoverridesclass | XmlAttributes | MSDN: controllingserializationbyxmlserializerwithattributes | MSDN: anexampleofxmlserializationwithxmlserializer

System.Xml.Serialization.XmlTypeAttribute Member List:

Public Constructors
ctor #1 Overloaded:
.ctor()

Default constructor. This constructor is called by derived class constructors to initialize state in this type.
Initializes a new instance of the XmlTypeAttribute class.
ctor #2 Overloaded:
.ctor(string typeName)

Initializes a new instance of the XmlTypeAttribute class, specifying the name of the XML type.
Public Properties
IncludeInSchema Read-write

Gets or sets a value indicating whether to include the type in XML schema documents.
Namespace Read-write

Gets or sets the namespace of the XML type.
TypeId
(inherited from System.Attribute)
Read-only

See base class member description: System.Attribute.TypeId


When implemented in a derived class, gets a unique identifier for this Attribute.
TypeName Read-write

Gets or sets the name of the XML type.
Public Methods
Equals
(inherited from System.Object)
See base class member description: System.Object.Equals

Derived from System.Object, the primary base class for all objects.
GetHashCode
(inherited from System.Attribute)
See base class member description: System.Attribute.GetHashCode


Returns the hash code for this instance.
GetType
(inherited from System.Object)
See base class member description: System.Object.GetType

Derived from System.Object, the primary base class for all objects.
IsDefaultAttribute
(inherited from System.Attribute)
See base class member description: System.Attribute.IsDefaultAttribute


When overridden in a derived class, returns an indication whether the value of this instance is the default value for the derived class.
Match
(inherited from System.Attribute)
See base class member description: System.Attribute.Match


When overridden in a derived class, returns a value indicating whether this instance equals a specified object.
ToString
(inherited from System.Object)
See base class member description: System.Object.ToString

Derived from System.Object, the primary base class for all objects.
Protected Methods
Finalize
(inherited from System.Object)
See base class member description: System.Object.Finalize

Derived from System.Object, the primary base class for all objects.
MemberwiseClone
(inherited from System.Object)
See base class member description: System.Object.MemberwiseClone

Derived from System.Object, the primary base class for all objects.

Hierarchy:


System.Xml.Serialization.XmlTypeAttribute Member Details

Overloaded ctor #1
Summary
Initializes a new instance of the XmlTypeAttribute class.

Default constructor. This constructor is called by derived class constructors to initialize state in this type.
C# Syntax:
public XmlTypeAttribute();
Example
The following example creates two instances of the XmlTypeAttribute class that are used to override the serialization of a two classes.

Return to top


Overloaded ctor #2
Summary
Initializes a new instance of the XmlTypeAttribute class, specifying the name of the XML type.
C# Syntax:
public XmlTypeAttribute(
   string typeName
);
Parameters:

typeName

The name of the XML type that the XmlSerializer generates when it serializes the class instance (and recognizes when it deserializes the class instance).

Remarks
Apply the XmlTypeAttribute to a class to specify the XML type's namespace, the XML type name, and whether to include the type in the XML schema document. To see the results of setting the XmlTypeAttribute class's properties, compile your application as an executable or DLL, and pass the resulting file to the the conceptual topic at MSDN: xmlschemadefinitiontoolxsdexe. The tool writes the schema--including the type definition.
Example
The following example creates two instances of the XmlTypeAttribute class that are used to override the serialization of a two classes.

Return to top


Property: IncludeInSchema (read-write)
Summary
Gets or sets a value indicating whether to include the type in XML schema documents.
C# Syntax:
public bool IncludeInSchema {get; set;}
Remarks
Apply the XmlTypeAttribute to a class to specify the XML type's namespace, the XML type name, and whether to include the type in the XML schema document. To see the results of setting the XmlTypeAttribute class's properties, compile your application as an executable or DLL, and pass the resulting file to the XML Schema Definition tool (XSD.exe). The tool writes the schema--including the type definition.
Example
The following example applies the XmlTypeAttribute to the ExtraneousInfo class, setting the XmlTypeAttribute.IncludeInSchema property to false.
[XmlType(IncludeInSchema = false)]
public class ExtraneousInfo
{
   // Insert the members of the class.
}


    

Return to top


Property: Namespace (read-write)
Summary
Gets or sets the namespace of the XML type.
C# Syntax:
public string Namespace {get; set;}
Example
The following example applies the XmlTypeAttribute to a class while setting the XmlTypeAttribute.Namespace property.
[XmlType(Namespace = "http://www.cpandl.com")]
public class Book
{
   // Insert members for the class.
}


    

Return to top


Property: TypeId (read-only)
Inherited
See base class member description: System.Attribute.TypeId

Summary
When implemented in a derived class, gets a unique identifier for this Attribute.
C# Syntax:
public virtual object TypeId {get;}
Remarks
As implemented, this identifier is merely the Type of the attribute. However, it is intended that the unique identifier be used to identify two attributes of the same type.

Return to top


Property: TypeName (read-write)
Summary
Gets or sets the name of the XML type.
C# Syntax:
public string TypeName {get; set;}
Remarks
Apply the XmlTypeAttribute to a class to specify the XML type's namespace, the XML type name, and whether to include the type in the XML schema document. To see the results of setting the XmlTypeAttribute class's properties, compile your application as an executable or DLL, and pass the resulting file to the the conceptual topic at MSDN: xmlschemadefinitiontoolxsdexe. The tool writes the schema--including the type definition.
Example
The following example applies the XmlTypeAttribute to the Person and Job classes. If you compile the class and pass the resulting executable file to the XML Schema Definition tool, you will see the schema that is displayed in the Output section.
public class Group {
   public Person[]Staff;
}

[XmlType(TypeName = "Employee",
         Namespace = "http://www.cpandl.com")]
public class Person {
   public string PersonName;
   public Job Position;
}

[XmlType(TypeName = "Occupation", 
         Namespace = "http://www.cohowinery.com")]
public class Job {
   public string JobName;
}


    

Return to top


Method: Equals(
   object obj
)
Inherited
See base class member description: System.Object.Equals
C# Syntax:
public virtual bool Equals(
   object obj
);

For more information on members inherited from System.Object click on the link above.

Return to top


Method: Finalize()
Inherited
See base class member description: System.Object.Finalize
C# Syntax:
~XmlTypeAttribute();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: GetHashCode()
Inherited
See base class member description: System.Attribute.GetHashCode

Summary
Returns the hash code for this instance.
C# Syntax:
public override int GetHashCode();
Return Value:
A 32-bit signed integer hash code.

Return to top


Method: GetType()
Inherited
See base class member description: System.Object.GetType
C# Syntax:
public Type GetType();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: IsDefaultAttribute()
Inherited
See base class member description: System.Attribute.IsDefaultAttribute

Summary
When overridden in a derived class, returns an indication whether the value of this instance is the default value for the derived class.
C# Syntax:
public virtual bool IsDefaultAttribute();
Return Value:
true if this instance is the default attribute for the class; otherwise, false.
Remarks
The default implementation of this class returns false, and must be implemented in the derived class to be useful to that class.

The implementation of this method in a derived class compares the value of this instance to a standard, default value obtained by some means, then returns a Boolean value that indicates whether the value of this instance is equal to the standard. The standard value is typically coded as a constant in the implementation, or stored programmatically in a field used by the implementation.

Return to top


Method: Match(
   object obj
)
Inherited
See base class member description: System.Attribute.Match

Summary
When overridden in a derived class, returns a value indicating whether this instance equals a specified object.
C# Syntax:
public virtual bool Match(
   object obj
);
Parameters:

obj

An Object to compare with this instance of Attribute.

Return Value:
true if this instance equals obj; otherwise, false.
Remarks
This method determines if one Attribute equals another. Its default implementation is the same as Attribute.Equals, which performs a value and reference comparison. Override this method to implement support for attribute values, such as flags or bitfields, that consist of components that are meaningful in themselves. For example, consider an attribute whose value is a binary field divided into a bitfield of flags. Two instances of this attribute have one flag in set in common while all the other flags differ. The Equal method cannot determine that the two instances have the same flag set, but the Match method can.

Return to top


Method: MemberwiseClone()
Inherited
See base class member description: System.Object.MemberwiseClone
C# Syntax:
protected object MemberwiseClone();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: ToString()
Inherited
See base class member description: System.Object.ToString
C# Syntax:
public virtual string ToString();

For more information on members inherited from System.Object click on the link above.

Return to top


Top of page

Copyright (c) 2002 Microsoft Corporation. All rights reserved.