<?xml version="1.0" encoding="utf-8"?>
<Type Name="XPathExpression" FullName="System.Xml.XPath.XPathExpression">
  <TypeSignature Maintainer="auto" Language="C#" Value="public abstract class XPathExpression" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit XPathExpression extends System.Object" />
  <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>All the dynamic members are not designed to be thread safe. This class cannot be used parallely in multiple thread for XPath evaluation.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>This class is returned as the result of the <see cref="M:System.Xml.XPath.XPathNavigator.Compile(System.String)" /> method of the <see cref="T:System.Xml.XPath.XPathNavigator" /> class. It is a parameter to the <see cref="Overload:System.Xml.XPath.XPathNavigator.Evaluate" />, <see cref="Overload:System.Xml.XPath.XPathNavigator.Matches" />, <see cref="Overload:System.Xml.XPath.XPathNavigator.Select" />, and <see cref="Overload:System.Xml.XPath.XPathNavigator.SelectSingleNode" /> methods of the <see cref="T:System.Xml.XPath.XPathNavigator" /> class.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides a typed class that represents a compiled XPath expression.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="AddSort">
      <MemberSignature Language="C#" Value="public abstract void AddSort (object expr, System.Collections.IComparer comparer);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddSort(object expr, class System.Collections.IComparer comparer) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="expr" Type="System.Object" />
        <Parameter Name="comparer" Type="System.Collections.IComparer" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Xml.XPath.XPathExpression.AddSort(System.Object,System.Collections.IComparer)" /> method enables users to sort objects by their data type instead of by string or number. The <see cref="T:System.Collections.IComparer" /> object provides an implementation of the <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)" /> method that supports sorting on user-defined classes.</para>
          <para>In the following example, the books are sorted by ISBN number, where isbn is an object that implements the <see cref="T:System.Collections.IComparer" /> interface.</para>
          <code>Dim expression As XPathExpression = navigator.Compile("bookstore/book")
Dim isbn As ISBN = New ISBN()
expression.AddSort("@ISBN", (IComparer)isbn)</code>
          <code>XPathExpression expression = navigator.Compile("bookstore/book");
ISBN isbn = new ISBN();
expression.AddSort("@ISBN", (IComparer)isbn);</code>
          <para>The following are important notes to consider when using the <see cref="M:System.Xml.XPath.XPathExpression.AddSort(System.Object,System.Collections.IComparer)" /> method.</para>
          <list type="bullet">
            <item>
              <para>The order in which the sorts are added provides the sort key order.</para>
            </item>
            <item>
              <para>If the <see cref="T:System.Xml.XPath.XPathExpression" /> or the sort key requires namespace resolution, you must use the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.XmlNamespaceManager)" /> method to provide an <see cref="T:System.Xml.XmlNamespaceManager" /> for namespace resolution.</para>
            </item>
            <item>
              <para>If the <see cref="T:System.Xml.XPath.XPathExpression" /> does not include a prefix, it is assumed that the namespace Uniform Resource Identifier (URI) is the empty namespace. If your XML includes a default namespace, you must still use the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.XmlNamespaceManager)" /> method and provide an <see cref="T:System.Xml.XmlNamespaceManager" /> that contains a prefix and namespace URI to handle the default namespace.</para>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, sorts the nodes selected by the XPath expression according to the specified <see cref="T:System.Collections.IComparer" /> object.</para>
        </summary>
        <param name="expr">
          <attribution license="cc4" from="Microsoft" modified="false" />An object representing the sort key. This can be the string value of the node or an <see cref="T:System.Xml.XPath.XPathExpression" /> object with a compiled XPath expression.</param>
        <param name="comparer">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.IComparer" /> object that provides the specific data type comparisons for comparing two objects for equivalence. </param>
      </Docs>
    </Member>
    <Member MemberName="AddSort">
      <MemberSignature Language="C#" Value="public abstract void AddSort (object expr, System.Xml.XPath.XmlSortOrder order, System.Xml.XPath.XmlCaseOrder caseOrder, string lang, System.Xml.XPath.XmlDataType dataType);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddSort(object expr, valuetype System.Xml.XPath.XmlSortOrder order, valuetype System.Xml.XPath.XmlCaseOrder caseOrder, string lang, valuetype System.Xml.XPath.XmlDataType dataType) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="expr" Type="System.Object" />
        <Parameter Name="order" Type="System.Xml.XPath.XmlSortOrder" />
        <Parameter Name="caseOrder" Type="System.Xml.XPath.XmlCaseOrder" />
        <Parameter Name="lang" Type="System.String" />
        <Parameter Name="dataType" Type="System.Xml.XPath.XmlDataType" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <list type="bullet">
            <item>
              <para>The order in which the sorts are added provides the sort key order.</para>
            </item>
            <item>
              <para>If the <see cref="T:System.Xml.XPath.XPathExpression" /> or the sort key requires namespace resolution, you must use the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.XmlNamespaceManager)" /> method to provide an <see cref="T:System.Xml.XmlNamespaceManager" /> for namespace resolution.</para>
            </item>
            <item>
              <para>If the <see cref="T:System.Xml.XPath.XPathExpression" /> does not include a prefix, it is assumed that the namespace Uniform Resource Identifier (URI) is the empty namespace. If your XML includes a default namespace, you must still use the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.XmlNamespaceManager)" /> method and provide an <see cref="T:System.Xml.XmlNamespaceManager" /> that contains a prefix and namespace URI to handle the default namespace.</para>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, sorts the nodes selected by the XPath expression according to the supplied parameters.</para>
        </summary>
        <param name="expr">
          <attribution license="cc4" from="Microsoft" modified="false" />An object representing the sort key. This can be the string value of the node or an <see cref="T:System.Xml.XPath.XPathExpression" /> object with a compiled XPath expression. </param>
        <param name="order">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.XPath.XmlSortOrder" /> value indicating the sort order. </param>
        <param name="caseOrder">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.XPath.XmlCaseOrder" /> value indicating how to sort uppercase and lowercase letters.</param>
        <param name="lang">
          <attribution license="cc4" from="Microsoft" modified="false" />The language to use for comparison. Uses the <see cref="T:System.Globalization.CultureInfo" /> class that can be passed to the <see cref="Overload:System.String.Compare" /> method for the language types, for example, "us-en" for U.S. English. If an empty string is specified, the system environment is used to determine the <see cref="T:System.Globalization.CultureInfo" />. </param>
        <param name="dataType">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.XPath.XmlDataType" /> value indicating the sort order for the data type. </param>
      </Docs>
    </Member>
    <Member MemberName="Clone">
      <MemberSignature Language="C#" Value="public abstract System.Xml.XPath.XPathExpression Clone ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Xml.XPath.XPathExpression Clone() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Xml.XPath.XPathExpression</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, the <see cref="M:System.Xml.XPath.XPathExpression.Clone" /> method returns a clone of this <see cref="T:System.Xml.XPath.XPathExpression" /> object with the same state as this <see cref="T:System.Xml.XPath.XPathExpression" /> object.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, returns a clone of this <see cref="T:System.Xml.XPath.XPathExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A new <see cref="T:System.Xml.XPath.XPathExpression" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="Compile">
      <MemberSignature Language="C#" Value="public static System.Xml.XPath.XPathExpression Compile (string xpath);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Xml.XPath.XPathExpression Compile(string xpath) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Xml.XPath.XPathExpression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="xpath" Type="System.String" />
      </Parameters>
      <Docs>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An XPath expression is evaluated to yield one of the following result types.</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.Xml.XPath.XPathResultType.NodeSet" />
              </para>
            </item>
            <item>
              <para>
                <see cref="F:System.Xml.XPath.XPathResultType.Boolean" />
              </para>
            </item>
            <item>
              <para>
                <see cref="F:System.Xml.XPath.XPathResultType.Number" />
              </para>
            </item>
            <item>
              <para>
                <see cref="F:System.Xml.XPath.XPathResultType.String" />
              </para>
            </item>
          </list>
          <block subset="none" type="note">
            <para>If a user-defined function with an invalid number of arguments (or an unimplemented user-defined function) is specified in the XPath expression, an exception occurs only at run time. User-defined functions are not checked at compile time and exceptions that result from user-defined functions occur only if execution evaluates the expression.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Compiles the XPath expression specified and returns an <see cref="T:System.Xml.XPath.XPathExpression" /> object representing the XPath expression.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Xml.XPath.XPathExpression" /> object.</para>
        </returns>
        <param name="xpath">
          <attribution license="cc4" from="Microsoft" modified="false" />An XPath expression.</param>
      </Docs>
    </Member>
    <Member MemberName="Compile">
      <MemberSignature Language="C#" Value="public static System.Xml.XPath.XPathExpression Compile (string xpath, System.Xml.IXmlNamespaceResolver nsResolver);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Xml.XPath.XPathExpression Compile(string xpath, class System.Xml.IXmlNamespaceResolver nsResolver) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Xml.XPath.XPathExpression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="xpath" Type="System.String" />
        <Parameter Name="nsResolver" Type="System.Xml.IXmlNamespaceResolver" />
      </Parameters>
      <Docs>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An XPath expression is evaluated to yield one of the following result types.</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.Xml.XPath.XPathResultType.NodeSet" />
              </para>
            </item>
            <item>
              <para>
                <see cref="F:System.Xml.XPath.XPathResultType.Boolean" />
              </para>
            </item>
            <item>
              <para>
                <see cref="F:System.Xml.XPath.XPathResultType.Number" />
              </para>
            </item>
            <item>
              <para>
                <see cref="F:System.Xml.XPath.XPathResultType.String" />
              </para>
            </item>
          </list>
          <block subset="none" type="note">
            <para>If a user-defined function with an invalid number of arguments (or an unimplemented user-defined function) is specified in the XPath expression, an exception occurs only at run-time. User-defined functions are not checked at compile time and exceptions resulting from user-defined functions occur only if execution evaluates the expression.</para>
            <para />
          </block>
          <block subset="none" type="note">
            <para>It is not possible to compile a <see cref="T:System.Xml.XPath.XPathExpression" /> with a custom context in one step by passing an <see cref="T:System.Xml.Xsl.XsltContext" />, which implements <see cref="T:System.Xml.IXmlNamespaceResolver" />, as an argument to this method. To use a <see cref="T:System.Xml.XPath.XPathExpression" /> with a custom context, you must call the <see cref="Overload:System.Xml.XPath.XPathExpression.SetContext" /> method after compiling the expression.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Compiles the specified XPath expression, with the <see cref="T:System.Xml.IXmlNamespaceResolver" /> object specified for namespace resolution, and returns an <see cref="T:System.Xml.XPath.XPathExpression" /> object that represents the XPath expression.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Xml.XPath.XPathExpression" /> object.</para>
        </returns>
        <param name="xpath">
          <attribution license="cc4" from="Microsoft" modified="false" />An XPath expression.</param>
        <param name="nsResolver">
          <attribution license="cc4" from="Microsoft" modified="false" />An object that implements the <see cref="T:System.Xml.IXmlNamespaceResolver" /> interface for namespace resolution.</param>
      </Docs>
    </Member>
    <Member MemberName="Expression">
      <MemberSignature Language="C#" Value="public abstract string Expression { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Expression" />
      <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>
      <Docs>
        <value>The string that represents the XPath expression.</value>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, gets a string representation of the <see cref="T:System.Xml.XPath.XPathExpression" />.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="ReturnType">
      <MemberSignature Language="C#" Value="public abstract System.Xml.XPath.XPathResultType ReturnType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.Xml.XPath.XPathResultType ReturnType" />
      <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.Xml.XPath.XPathResultType</ReturnType>
      </ReturnValue>
      <Docs>
        <value>An <see cref="T:System.Xml.XPath.XPathResultType" /> value that indicates the return type.</value>
        <remarks>The return type varies for each XPath expression and it might be <see cref="F:System.Xml.XPath.XPathResultType.Any" />. For example, the return type of a variable binding expression (e.g. "$foo") can be anything.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, gets the result type of the XPath expression.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="SetContext">
      <MemberSignature Language="C#" Value="public abstract void SetContext (System.Xml.IXmlNamespaceResolver nsResolver);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetContext(class System.Xml.IXmlNamespaceResolver nsResolver) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="nsResolver" Type="System.Xml.IXmlNamespaceResolver" />
      </Parameters>
      <Docs>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Namespace resolution is supported using classes that implement the <see cref="T:System.Xml.IXmlNamespaceResolver" /> interface, such as the <see cref="T:System.Xml.XmlNamespaceManager" /> class. The <see cref="T:System.Xml.XmlNamespaceManager" /> stores prefix and namespace Uniform Resource Identifier (URI) mappings. If the <see cref="T:System.Xml.XPath.XPathExpression" /> requires namespace resolution, the prefix and namespace URI pair must be added to an object, such as the <see cref="T:System.Xml.XmlNamespaceManager" /> class, which implements the <see cref="T:System.Xml.IXmlNamespaceResolver" /> interface, and the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.IXmlNamespaceResolver)" /> method must be called to specify the <see cref="T:System.Xml.IXmlNamespaceResolver" /> interface object to use for namespace resolution.</para>
          <para>The following are important notes to consider when using the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.IXmlNamespaceResolver)" /> method.</para>
          <list type="bullet">
            <item>
              <para>If the <see cref="T:System.Xml.XPath.XPathExpression" /> does not include a prefix, it is assumed that the namespace URI is the empty namespace. If your XML includes a default namespace, you must still use the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.IXmlNamespaceResolver)" /> method and provide an object that contains a prefix and namespace URI to handle the default namespace.</para>
            </item>
            <item>
              <para>You can also supply an <see cref="T:System.Xml.IXmlNamespaceResolver" /> interface object for namespace resolution to the <see cref="M:System.Xml.XPath.XPathExpression.Compile(System.String,System.Xml.IXmlNamespaceResolver)" /> method when you create your <see cref="T:System.Xml.XPath.XPathExpression" /> object.</para>
            </item>
            <item>
              <para>
                <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.IXmlNamespaceResolver)" /> accepts <see cref="T:System.Xml.Xsl.XsltContext" /> as a namespace resolver, so you can implement a custom context and use functions and variables based on <see cref="T:System.Xml.Xsl.IXsltContextFunction" /> and <see cref="T:System.Xml.Xsl.IXsltContextVariable" />. The XPath expression will execute them. For more information, see <format type="text/html"><a href="4772f20e-1e7f-496e-93c2-1484473be555">User Defined Functions and Variables</a></format>.</para>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, specifies the <see cref="T:System.Xml.IXmlNamespaceResolver" /> object to use for namespace resolution.</para>
        </summary>
        <param name="nsResolver">
          <attribution license="cc4" from="Microsoft" modified="false" />An object that implements the <see cref="T:System.Xml.IXmlNamespaceResolver" /> interface to use for namespace resolution.</param>
      </Docs>
    </Member>
    <Member MemberName="SetContext">
      <MemberSignature Language="C#" Value="public abstract void SetContext (System.Xml.XmlNamespaceManager nsManager);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetContext(class System.Xml.XmlNamespaceManager nsManager) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="nsManager" Type="System.Xml.XmlNamespaceManager" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Namespace resolution is supported using the <see cref="T:System.Xml.XmlNamespaceManager" /> class which stores prefix and namespace Uniform Resource Identifier (URI) mappings. If the <see cref="T:System.Xml.XPath.XPathExpression" /> requires namespace resolution, the prefix and namespace URI pair must be added to the <see cref="T:System.Xml.XmlNamespaceManager" /> object and the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.XmlNamespaceManager)" /> method must be called to specify the <see cref="T:System.Xml.XmlNamespaceManager" /> object to use for namespace resolution.</para>
          <para>The following are important notes to consider when using the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.XmlNamespaceManager)" /> method.</para>
          <list type="bullet">
            <item>
              <para>If the <see cref="T:System.Xml.XPath.XPathExpression" /> does not include a prefix, it is assumed that the namespace URI is the empty namespace. If your XML includes a default namespace, you must still use the <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.XmlNamespaceManager)" /> method and provide an <see cref="T:System.Xml.XmlNamespaceManager" /> object that contains a prefix and namespace URI to handle the default namespace.</para>
            </item>
            <item>
              <para>You can also supply an <see cref="T:System.Xml.IXmlNamespaceResolver" /> object for namespace resolution to the <see cref="M:System.Xml.XPath.XPathExpression.Compile(System.String,System.Xml.IXmlNamespaceResolver)" /> method when you create your <see cref="T:System.Xml.XPath.XPathExpression" /> object.</para>
            </item>
            <item>
              <para>
                <see cref="M:System.Xml.XPath.XPathExpression.SetContext(System.Xml.IXmlNamespaceResolver)" /> accepts <see cref="T:System.Xml.Xsl.XsltContext" /> as a namespace resolver, so you can implement a custom context and use functions and variables based on <see cref="T:System.Xml.Xsl.IXsltContextFunction" /> and <see cref="T:System.Xml.Xsl.IXsltContextVariable" />. The XPath expression will execute them. For more information, see <format type="text/html"><a href="4772f20e-1e7f-496e-93c2-1484473be555">User Defined Functions and Variables</a></format>.</para>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, specifies the <see cref="T:System.Xml.XmlNamespaceManager" /> object to use for namespace resolution.</para>
        </summary>
        <param name="nsManager">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.XmlNamespaceManager" /> object to use for namespace resolution. </param>
      </Docs>
    </Member>
  </Members>
</Type>