<?xml version="1.0" encoding="utf-8"?>
<Type Name="SoapElementAttribute" FullName="System.Xml.Serialization.SoapElementAttribute">
  <TypeSignature Maintainer="auto" Language="C#" Value="public class SoapElementAttribute : Attribute" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SoapElementAttribute extends System.Attribute" />
  <AssemblyInfo>
    <AssemblyName>System.Xml</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>To be added</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.Attribute</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.ReturnValue | System.AttributeTargets.All)</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The <see cref="T:System.Xml.Serialization.SoapElementAttribute" /> class belongs to a family of attributes that controls how the <see cref="T:System.Xml.Serialization.XmlSerializer" /> serializes or deserializes an object as encoded SOAP XML. The resulting XML conforms to section 5 of the World Wide Web Consortium (www.w3.org) document, "Simple Object Access Protocol (SOAP) 1.1". For a complete list of similar attributes, see <format type="text/html"><a href="93EE258C-9C0F-4A08-897C-C10DB7A00F91">[&lt;topic://cpconAttributesThatControlSOAPEncodedSerialization&gt;]</a></format>.</para>
      <para>To serialize an object as an encoded SOAP message, you must construct the <see cref="T:System.Xml.Serialization.XmlSerializer" /> using an <see cref="T:System.Xml.Serialization.XmlTypeMapping" /> created with the <see cref="M:System.Xml.Serialization.SoapReflectionImporter.ImportTypeMapping(System.Type)" /> method of the <see cref="T:System.Xml.Serialization.SoapReflectionImporter" /> class.</para>
      <para>Apply the <see cref="T:System.Xml.Serialization.SoapElementAttribute" /> to a public field to direct the <see cref="T:System.Xml.Serialization.XmlSerializer" /> to serialize the field as an encoded SOAP XML element.</para>
      <para>For more information about using attributes, see <format type="text/html"><a href="30386922-1E00-4602-9EBF-526B271A8B87">[&lt;topic://cpconExtendingMetadataUsingAttributes&gt;]</a></format>.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Specifies that the public member value be serialized by the <see cref="T:System.Xml.Serialization.XmlSerializer" /> as an encoded SOAP XML element.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public SoapElementAttribute ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters />
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Xml.Serialization.SoapElementAttribute" /> class.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public SoapElementAttribute (string elementName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string elementName) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="elementName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Xml.Serialization.SoapElementAttribute" /> class and specifies the name of the XML element.</para>
        </summary>
        <param name="elementName">
          <attribution license="cc4" from="Microsoft" modified="false" />The XML element name of the serialized member. </param>
      </Docs>
    </Member>
    <Member MemberName="DataType">
      <MemberSignature Language="C#" Value="public string DataType { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string DataType" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>To be added: an object of type 'string'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The following table lists the XML Schema simple data types with their .NET equivalents.</para>
          <para>For the XML Schema base64Binary and hexBinary data types, use an array of <see cref="T:System.Byte" /> structures, and apply a <see cref="T:System.Xml.Serialization.SoapElementAttribute" /> with the <see cref="P:System.Xml.Serialization.SoapAttributeAttribute.DataType" /> set to "base64Binary" or "hexBinary", as appropriate. For the XML Schema time and date data types, use the <see cref="T:System.DateTime" /> type and apply the <see cref="T:System.Xml.Serialization.SoapElementAttribute" /> with the <see cref="P:System.Xml.Serialization.SoapElementAttribute.DataType" /> set to "date" or "time".</para>
          <para>For every XML Schema data type that is mapped to a string, apply the <see cref="T:System.Xml.Serialization.SoapElementAttribute" /> with its <see cref="P:System.Xml.Serialization.SoapElementAttribute.DataType" /> property set to the XML Schema type. Note that this does not change the serialization format, only the schema for the member.</para>
          <block subset="none" type="note">
            <para>The property is case-sensitive, so you must set it exactly to one of the XML Schema data types.</para>
          </block>
          <block subset="none" type="note">
            <para>Passing binary data as an XML element is more efficient than passing it as an XML attribute.</para>
          </block>
          <para>For more information about XML data types, see the World Wide Web Consortium (www.w3.org) document, "XML Schema Part 2: Datatypes".</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>XSD data type </para>
                </term>
                <description>
                  <para>.NET data type </para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>anyURI </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>base64Binary </para>
              </term>
              <description>
                <para>Array of <see cref="T:System.Byte" /> objects </para>
              </description>
            </item>
            <item>
              <term>
                <para>boolean </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Boolean" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>byte </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.SByte" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>date </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.DateTime" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>dateTime </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.DateTime" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>decimal </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Decimal" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>double </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Double" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>ENTITY </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>ENTITIES </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>float </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Single" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>gDay </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>gMonth </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>gMonthDay </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>gYear </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>gYearMonth </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>hexBinary </para>
              </term>
              <description>
                <para>Array of <see cref="T:System.Byte" /> objects </para>
              </description>
            </item>
            <item>
              <term>
                <para>ID </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>IDREF </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>IDREFS </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>int </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Int32" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>integer </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>language </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>long </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Int64" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>Name </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>NCName </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>negativeInteger </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>NMTOKEN </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>NMTOKENS </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>normalizedString </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>nonNegativeInteger </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>nonPositiveInteger </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>NOTATION </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>positiveInteger </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>QName </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Xml.XmlQualifiedName" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>duration </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>string </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>short </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Int16" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>time </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.DateTime" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>token </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.String" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>unsignedByte </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.Byte" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>unsignedInt </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.UInt32" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>unsignedLong </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.UInt64" /> </para>
              </description>
            </item>
            <item>
              <term>
                <para>unsignedShort </para>
              </term>
              <description>
                <para>
                  <see cref="T:System.UInt16" /> </para>
              </description>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the XML Schema definition language (XSD) data type of the generated XML element.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="ElementName">
      <MemberSignature Language="C#" Value="public string ElementName { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string ElementName" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>To be added: an object of type 'string'</value>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the name of the generated XML element.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="IsNullable">
      <MemberSignature Language="C#" Value="public bool IsNullable { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsNullable" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>To be added: an object of type 'bool'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The XML schema specification for structures allows an XML document to explicitly signal that an element's content is missing. Such an element contains the attribute xsi:null set to "1". For more information, see the World Wide Web Consortium (www.w3.org) specification named "XML Schema Part 1: Structures".</para>
          <para>If the <see cref="P:System.Xml.Serialization.SoapElementAttribute.IsNullable" /> property is set to true, the xsi:null attribute is generated for class members that have been set to null. For example, if you set a field named MyStringArray to null, the <see cref="T:System.Xml.Serialization.XmlSerializer" /> generates the following XML code.</para>
          <code> &lt;MyStringArray xsi:null = "1" /&gt;</code>
          <para>If the <see cref="P:System.Xml.Serialization.XmlElementAttribute.IsNullable" /> property is false, no XML element is generated.</para>
          <block subset="none" type="note">
            <para>You cannot apply the <see cref="P:System.Xml.Serialization.XmlElementAttribute.IsNullable" /> property to a member typed as a value type because a value type cannot contain null.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value that indicates whether the <see cref="T:System.Xml.Serialization.XmlSerializer" /> must serialize a member that has the xsi:null attribute set to "1".</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>