310 lines
22 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<Type Name="Extensions" FullName="System.Xml.XPath.Extensions">
<TypeSignature Language="C#" Value="public static class Extensions" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit Extensions extends System.Object" />
<AssemblyInfo>
<AssemblyName>System.Xml.Linq</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>There is some performance penalty for using these methods. Using sqltecxlinq queries yields better performance.</para>
<para>Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.</para>
<para>Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This class contains the sqltecxlinq extension methods that enable you to evaluate XPath expressions.</para>
</summary>
</Docs>
<Members>
<Member MemberName="CreateNavigator">
<MemberSignature Language="C#" Value="public static System.Xml.XPath.XPathNavigator CreateNavigator (this System.Xml.Linq.XNode node);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Xml.XPath.XPathNavigator CreateNavigator(class System.Xml.Linq.XNode node) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Xml.XPath.XPathNavigator</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Xml.Linq.XNode" RefType="this" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You cannot edit the XML tree by using the <see cref="T:System.Xml.XPath.XPathNavigator" /> that is returned by this method. The <see cref="P:System.Xml.XPath.XPathNavigator.CanEdit" /> property returns false.</para>
<para>You cannot create an <see cref="T:System.Xml.XPath.XPathNavigator" /> for a <see cref="T:System.Xml.Linq.XDocumentType" /> node. Document types do not participate in the XPath data model.</para>
<para>Namespace declarations are reported from left to right. In contrast, for <see cref="T:System.Xml.XmlDocument" /> namespaces are reported from right to left. This is conformant behavior because namespace declarations are not ordered in the XPath data model.</para>
<para>The method <see cref="M:System.Xml.XPath.XPathNavigator.MoveToId(System.String)" /> is not supported for navigators that are returned by this method.</para>
<para>You can use this method to perform an XSLT transformation. You can create an XML tree, create an <see cref="T:System.Xml.XPath.XPathNavigator" /> from the XML tree, create a new document, and create a <see cref="T:System.Xml.XmlWriter" /> that will write into the new document. Then, you can invoke the XSLT transformation, passing the <see cref="T:System.Xml.XPath.XPathNavigator" /> and <see cref="T:System.Xml.XmlWriter" /> to the transform. After the transformation successfully completes, the new XML tree is populated with the results of the transformation.</para>
<para>To perform an XSLT transformation, you can use either an <see cref="T:System.Xml.XmlReader" /> or an <see cref="T:System.Xml.XPath.XPathNavigator" />. The two approaches have different performance characteristics. Some transformations will execute faster when using an <see cref="T:System.Xml.XmlReader" />, and others will execute faster when using a <see cref="T:System.Xml.XPath.XPathNavigator" />. If performance is a concern, we recommend that you experiment with each approach to determine which will perform better in your circumstances.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates an <see cref="T:System.Xml.XPath.XPathNavigator" /> for an <see cref="T:System.Xml.Linq.XNode" />.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An <see cref="T:System.Xml.XPath.XPathNavigator" /> that can process XPath queries.</para>
</returns>
<param name="node">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.Linq.XNode" /> that can process XPath queries.</param>
</Docs>
</Member>
<Member MemberName="CreateNavigator">
<MemberSignature Language="C#" Value="public static System.Xml.XPath.XPathNavigator CreateNavigator (this System.Xml.Linq.XNode node, System.Xml.XmlNameTable nameTable);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Xml.XPath.XPathNavigator CreateNavigator(class System.Xml.Linq.XNode node, class System.Xml.XmlNameTable nameTable) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Xml.XPath.XPathNavigator</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Xml.Linq.XNode" RefType="this" />
<Parameter Name="nameTable" Type="System.Xml.XmlNameTable" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You cannot edit the XML tree using the <see cref="T:System.Xml.XPath.XPathNavigator" /> that is returned by this method. The <see cref="P:System.Xml.XPath.XPathNavigator.CanEdit" /> property returns false.</para>
<para>You cannot create an <see cref="T:System.Xml.XPath.XPathNavigator" /> for a <see cref="T:System.Xml.Linq.XDocumentType" /> node. Document types do not participate in the XPath data model.</para>
<para>Namespace declarations are reported from left to right. In contrast, for <see cref="T:System.Xml.XmlDocument" /> namespaces are reported from right to left. This is conformant behavior because namespace declarations are not ordered in the XPath data model.</para>
<para>The method <see cref="M:System.Xml.XPath.XPathNavigator.MoveToId(System.String)" /> is not supported for navigators that are returned by this method.</para>
<para>If you use an <see cref="T:System.Xml.XmlNameTable" /> with this method to create the <see cref="T:System.Xml.XPath.XPathNavigator" />, you will get better performance when evaluating XPath expressions.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates an <see cref="T:System.Xml.XPath.XPathNavigator" /> for an <see cref="T:System.Xml.Linq.XNode" />. The <see cref="T:System.Xml.XmlNameTable" /> enables more efficient XPath expression processing.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An <see cref="T:System.Xml.XPath.XPathNavigator" /> that can process XPath queries.</para>
</returns>
<param name="node">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.Linq.XNode" /> that can process an XPath query.</param>
<param name="nameTable">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Xml.XmlNameTable" /> to be used by <see cref="T:System.Xml.XPath.XPathNavigator" />.</param>
</Docs>
</Member>
<Member MemberName="XPathEvaluate">
<MemberSignature Language="C#" Value="public static object XPathEvaluate (this System.Xml.Linq.XNode node, string expression);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig object XPathEvaluate(class System.Xml.Linq.XNode node, string expression) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Xml.Linq.XNode" RefType="this" />
<Parameter Name="expression" Type="System.String" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If the collection is an enumeration of elements or attributes, you can use the Cast operator to get a collection of <see cref="T:System.Xml.Linq.XElement" /> or <see cref="T:System.Xml.Linq.XAttribute" />.</para>
<para>Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.</para>
<para>Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Evaluates an XPath expression.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An object that can contain a bool, a double, a string, or an <see cref="T:System.Collections.Generic.IEnumerable`1" />. </para>
</returns>
<param name="node">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.Linq.XNode" /> on which to evaluate the XPath expression.</param>
<param name="expression">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.String" /> that contains an XPath expression.</param>
</Docs>
</Member>
<Member MemberName="XPathEvaluate">
<MemberSignature Language="C#" Value="public static object XPathEvaluate (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver resolver);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig object XPathEvaluate(class System.Xml.Linq.XNode node, string expression, class System.Xml.IXmlNamespaceResolver resolver) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Xml.Linq.XNode" RefType="this" />
<Parameter Name="expression" Type="System.String" />
<Parameter Name="resolver" Type="System.Xml.IXmlNamespaceResolver" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use this method to evaluate XPath expressions that contain namespace prefixes.</para>
<para>Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.</para>
<para>Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Evaluates an XPath expression, resolving namespace prefixes using the specified <see cref="T:System.Xml.IXmlNamespaceResolver" />.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An object that contains the result of evaluating the expression. The object can be a bool, a double, a string, or an <see cref="T:System.Collections.Generic.IEnumerable`1" />.</para>
</returns>
<param name="node">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.Linq.XNode" /> on which to evaluate the XPath expression.</param>
<param name="expression">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.String" /> that contains an XPath expression.</param>
<param name="resolver">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Xml.IXmlNamespaceResolver" /> for the namespace prefixes in the XPath expression.</param>
</Docs>
</Member>
<Member MemberName="XPathSelectElement">
<MemberSignature Language="C#" Value="public static System.Xml.Linq.XElement XPathSelectElement (this System.Xml.Linq.XNode node, string expression);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Xml.Linq.XElement XPathSelectElement(class System.Xml.Linq.XNode node, string expression) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Xml.Linq.XElement</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Xml.Linq.XNode" RefType="this" />
<Parameter Name="expression" Type="System.String" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Selects an <see cref="T:System.Xml.Linq.XElement" /> using a XPath expression.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An <see cref="T:System.Xml.Linq.XElement" />, or null.</para>
</returns>
<param name="node">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.Linq.XNode" /> on which to evaluate the XPath expression.</param>
<param name="expression">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.String" /> that contains an XPath expression.</param>
</Docs>
</Member>
<Member MemberName="XPathSelectElement">
<MemberSignature Language="C#" Value="public static System.Xml.Linq.XElement XPathSelectElement (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver resolver);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Xml.Linq.XElement XPathSelectElement(class System.Xml.Linq.XNode node, string expression, class System.Xml.IXmlNamespaceResolver resolver) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Xml.Linq.XElement</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Xml.Linq.XNode" RefType="this" />
<Parameter Name="expression" Type="System.String" />
<Parameter Name="resolver" Type="System.Xml.IXmlNamespaceResolver" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use this method to evaluate XPath expressions that contain namespace prefixes.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Selects an <see cref="T:System.Xml.Linq.XElement" /> using a XPath expression, resolving namespace prefixes using the specified <see cref="T:System.Xml.IXmlNamespaceResolver" />.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An <see cref="T:System.Xml.Linq.XElement" />, or null.</para>
</returns>
<param name="node">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.Linq.XNode" /> on which to evaluate the XPath expression.</param>
<param name="expression">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.String" /> that contains an XPath expression.</param>
<param name="resolver">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.IXmlNamespaceResolver" /> for the namespace prefixes in the XPath expression.</param>
</Docs>
</Member>
<Member MemberName="XPathSelectElements">
<MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;System.Xml.Linq.XElement&gt; XPathSelectElements (this System.Xml.Linq.XNode node, string expression);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;class System.Xml.Linq.XElement&gt; XPathSelectElements(class System.Xml.Linq.XNode node, string expression) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.Generic.IEnumerable&lt;System.Xml.Linq.XElement&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Xml.Linq.XNode" RefType="this" />
<Parameter Name="expression" Type="System.String" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.</para>
<para>Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Selects a collection of elements using an XPath expression.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of <see cref="T:System.Xml.Linq.XElement" /> that contains the selected elements.</para>
</returns>
<param name="node">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.Linq.XNode" /> on which to evaluate the XPath expression.</param>
<param name="expression">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.String" /> that contains an XPath expression.</param>
</Docs>
</Member>
<Member MemberName="XPathSelectElements">
<MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;System.Xml.Linq.XElement&gt; XPathSelectElements (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver resolver);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;class System.Xml.Linq.XElement&gt; XPathSelectElements(class System.Xml.Linq.XNode node, string expression, class System.Xml.IXmlNamespaceResolver resolver) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.Generic.IEnumerable&lt;System.Xml.Linq.XElement&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Xml.Linq.XNode" RefType="this" />
<Parameter Name="expression" Type="System.String" />
<Parameter Name="resolver" Type="System.Xml.IXmlNamespaceResolver" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use this method to evaluate XPath expressions that contain namespace prefixes.</para>
<para>Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.</para>
<para>Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified <see cref="T:System.Xml.IXmlNamespaceResolver" />.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of <see cref="T:System.Xml.Linq.XElement" /> that contains the selected elements.</para>
</returns>
<param name="node">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.Linq.XNode" /> on which to evaluate the XPath expression.</param>
<param name="expression">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.String" /> that contains an XPath expression.</param>
<param name="resolver">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Xml.IXmlNamespaceResolver" /> for the namespace prefixes in the XPath expression.</param>
</Docs>
</Member>
</Members>
</Type>