File: XPathExpression.xml

package info (click to toggle)
mono-reference-assemblies 3.12.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 604,240 kB
  • ctags: 625,505
  • sloc: cs: 3,967,741; xml: 2,793,081; ansic: 418,042; java: 60,435; sh: 14,833; makefile: 11,576; sql: 7,956; perl: 1,467; cpp: 1,446; yacc: 1,203; python: 598; asm: 422; sed: 16; php: 1
file content (402 lines) | stat: -rw-r--r-- 28,145 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
<?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>