<?xml version="1.0" encoding="utf-8"?>
<Type Name="XmlSerializableServices" FullName="System.Runtime.Serialization.XmlSerializableServices">
  <TypeSignature Language="C#" Value="public static class XmlSerializableServices" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit XmlSerializableServices extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>System.Runtime.Serialization</AssemblyName>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Using indigo1, you can generate CLR types representing data contracts from XML schemas. In certain cases when doing so, the schemas may not all be represented as data contracts. In this case, you can use the <see cref="P:System.Runtime.Serialization.ImportOptions.ImportXmlType" /> property of the <see cref="T:System.Runtime.Serialization.ImportOptions" /> class.  Setting the property to true specifies that these types are imported as XML types that implement the <see cref="T:System.Xml.Serialization.IXmlSerializable" /> interface. In the process, the generated types can store anything, but they are read and written as XML by the serializer. </para>
      <para>The <see cref="T:System.Runtime.Serialization.XmlSerializableServices" /> is an abstract helper class that contains code that is used by the generated <see cref="T:System.Xml.Serialization.IXmlSerializable" /> types to read and write XML. It also contains code for generating schema for the generated types. Note that details about the schemas are not stored. Only the name is stored in the generated type. This class generates a default schema that represents the XML schema type anyType with the appropriate schema type name as the contract name.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Contains methods for reading and writing XML. </para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="AddDefaultSchema">
      <MemberSignature Language="C#" Value="public static void AddDefaultSchema (System.Xml.Schema.XmlSchemaSet schemas, System.Xml.XmlQualifiedName typeQName);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddDefaultSchema(class System.Xml.Schema.XmlSchemaSet schemas, class System.Xml.XmlQualifiedName typeQName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="schemas" Type="System.Xml.Schema.XmlSchemaSet" />
        <Parameter Name="typeQName" Type="System.Xml.XmlQualifiedName" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method contains code for generating a schema type for a data contract type with the specified type name. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Generates a default schema type given the specified type name and adds it to the specified schema set. </para>
        </summary>
        <param name="schemas">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.Schema.XmlSchemaSet" /> to add the generated schema type to.</param>
        <param name="typeQName">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.XmlQualifiedName" /> that specifies the type name to assign the schema to. </param>
      </Docs>
    </Member>
    <Member MemberName="ReadNodes">
      <MemberSignature Language="C#" Value="public static System.Xml.XmlNode[] ReadNodes (System.Xml.XmlReader xmlReader);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Xml.XmlNode[] ReadNodes(class System.Xml.XmlReader xmlReader) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Xml.XmlNode[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="xmlReader" Type="System.Xml.XmlReader" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method reads all XML contained within the node the reader is positioned on when this call is made. This enables it to read and store all XML as an array of <see cref="T:System.Xml.XmlNode" /> objects. It is a helper method used by the types that implement <see cref="T:System.Xml.Serialization.IXmlSerializable" /> and that use the <see cref="M:System.Xml.Serialization.IXmlSerializable.ReadXml(System.Xml.XmlReader)" /> method.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Reads a set of XML nodes from the specified reader and returns the result.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An array of type <see cref="T:System.Xml.XmlNode" />. </para>
        </returns>
        <param name="xmlReader">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.XmlReader" /> used for reading.</param>
      </Docs>
    </Member>
    <Member MemberName="WriteNodes">
      <MemberSignature Language="C#" Value="public static void WriteNodes (System.Xml.XmlWriter xmlWriter, System.Xml.XmlNode[] nodes);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void WriteNodes(class System.Xml.XmlWriter xmlWriter, class System.Xml.XmlNode[] nodes) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="xmlWriter" Type="System.Xml.XmlWriter" />
        <Parameter Name="nodes" Type="System.Xml.XmlNode[]" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Writes the supplied nodes using the specified writer.</para>
        </summary>
        <param name="xmlWriter">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.XmlWriter" /> used for writing.</param>
        <param name="nodes">
          <attribution license="cc4" from="Microsoft" modified="false" />An array of type <see cref="T:System.Xml.XmlNode" /> to write.</param>
      </Docs>
    </Member>
  </Members>
</Type>