XPathMessageContext 类

定义

定义利用 SOAP 文档计算 XPath 表达式时经常要使用的多个 XPath 函数和命名空间映射。

public ref class XPathMessageContext : System::Xml::Xsl::XsltContext
public class XPathMessageContext : System.Xml.Xsl.XsltContext
[System.ComponentModel.TypeConverter(typeof(System.ServiceModel.XamlIntegration.XPathMessageContextTypeConverter))]
public class XPathMessageContext : System.Xml.Xsl.XsltContext
type XPathMessageContext = class
    inherit XsltContext
[<System.ComponentModel.TypeConverter(typeof(System.ServiceModel.XamlIntegration.XPathMessageContextTypeConverter))>]
type XPathMessageContext = class
    inherit XsltContext
Public Class XPathMessageContext
Inherits XsltContext
继承
XPathMessageContext
属性

注解

XPath 引擎具有完整的 XPath 上下文支持,.NET Framework的 类,其方式与实现 XsltContext XPathNavigator 此支持的方式相同。 XsltContext 是一个抽象类,允许开发人员实现自定义 XPath 函数库并声明 XPath 变量。 XsltContextXmlNamespaceManager ,因此还包含命名空间前缀映射。

筛选器引擎可以实现名称为 XsltContextXPathMessageContextXPathMessageContext 不但可以定义 Xpath 表达式中使用的自定义函数,还可声明多个常用的命名空间前缀映射。 下表列出了 由 定义的自定义函数 XPathMessageContext ,这些函数可在 XPath 表达式中使用。

XPath 函数 说明
body 返回 SOAP 正文节点,而不考虑 1.1 (SOAP 版本。 或 1.2) 。
标头的值开始缓存响应 返回 SOAP 标头节点,无论 SOAP 版本 (1.1 或 1.2) 。
correlation-data 采用输入字符串并返回关联关联消息属性的值。 "wsc-instanceId"是一个保留字符串,用于基于上下文的相关性。
messageId 返回 MessageID WS-Addressing的值。
relatesTo 返回 WS-Addressing RelatesTo 标头的值,而不考虑版本 (2004 年 8 月或 WSA 1.0) 。
replyTo 返回 ReplyTo 标头WS-Addressing,而不考虑版本 (2004 年 8 月或 WSA 1.0) 。
from 无论版本为 2004 年 8 月 (WSA 1.0 版本,返回 WS-Addressing From 标头) 。
faultTo 返回 FaultTo 标头WS-Addressing,而不考虑版本 (2004 年 8 月或 WSA 1.0) 。
设置为 如果存在,则返回 WS-Addressing To 标头的值,否则返回 Anonymous。
action 返回 Action WS-Addressing的值。
soap-uri 返回 SOAP 命名空间 URI。
headers-with-actor 采用 SOAP 执行组件 URI 并返回包含该执行组件的所有标头,而不考虑 SOAP (1.1 或 1.2) 。
actor 返回第一个子节点的 SOAP 执行组件 URI,而不考虑 1.1 (1.2 或 1.2) 。
is-mandatory 返回第一个子节点是否是必需的,无论 SOAP 版本 (1.1 或 1.2) 。
is-actor-next 返回第一个子节点的 SOAP 执行组件 URI 是否具有下一个角色,而不考虑 SOAP 版本 (1.1 或 1.2) 。
is-actor-ultimate-receiver 返回第一个子节点的 SOAP 执行组件 URI 是否具有 UltimateReceiver 角色,而不考虑 SOAP 版本 (1.1 或 1.2) 。
日期时间 采用输入日期字符串,并返回转换为双精度值的值。
duration 采用输入时间跨度字符串,并返回总天数的值。
utc-now 返回 的值 UtcNow

下表列出了 由 声明的默认命名空间和命名空间前缀 XPathMessageContext

前缀 命名空间
s11 http://schemas.xmlsoap.org/soap/envelope
s12 http://www.w3.org/2003/05/soap-envelope
wsaAugust2004 http://schemas.xmlsoap.org/ws/2004/08/addressing
wsa10 http://www.w3.org/2005/08/addressing
sm http://schemas.microsoft.com/serviceModel/2004/05/xpathfunctions
tempuri http://tempuri.org
ser http://schemas.microsoft.com/2003/10/Serialization

构造函数

XPathMessageContext()

创建 XPathMessageContext 的实例。

XPathMessageContext(NameTable)

使用指定的 XPathMessageContext 初始化 NameTable 类的新实例。

属性

DefaultNamespace

获取默认命名空间的命名空间 URI。

(继承自 XmlNamespaceManager)
NameTable

获取与此对象关联的 XmlNameTable

(继承自 XmlNamespaceManager)
Whitespace

获取一个值,该值指示是否在输出中包含空白节点。

方法

AddNamespace(String, String)

将给定的命名空间添加到集合。

(继承自 XmlNamespaceManager)
CompareDocument(String, String)

根据 XSLT 处理器加载文档的顺序对两个文档的基统一资源标识符 (URI) 进行比较。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetEnumerator()

返回一个枚举数,将使用该枚举数循环访问 XmlNamespaceManager 集合中的命名空间。

(继承自 XmlNamespaceManager)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetNamespacesInScope(XmlNamespaceScope)

获取被可用于枚举当前范围内的命名空间的前缀键控的命名空间名称的集合。

(继承自 XmlNamespaceManager)
GetType()

获取当前实例的 Type

(继承自 Object)
HasNamespace(String)

获取一个值,该值指示所提供的前缀是否具有为当前推送的范围定义的命名空间。

(继承自 XmlNamespaceManager)
LookupNamespace(String)

获取指定前缀的命名空间 URI。

(继承自 XmlNamespaceManager)
LookupPrefix(String)

查找为给定的命名空间 URI 声明的前缀。

(继承自 XmlNamespaceManager)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
PopScope()

将命名空间范围弹出堆栈。

(继承自 XmlNamespaceManager)
PreserveWhitespace(XPathNavigator)

计算是要保留空白节点还是针对给定上下文将它们抽出。

PushScope()

将命名空间范围推送到堆栈上。

(继承自 XmlNamespaceManager)
RemoveNamespace(String, String)

为给定的前缀移除给定的命名空间。

(继承自 XmlNamespaceManager)
ResolveFunction(String, String, XPathResultType[])

解析函数引用并返回一个表示该函数的 IXsltContextFunction

ResolveVariable(String, String)

解析变量引用并返回一个表示该变量的 IXsltContextVariable

ToString()

返回表示当前对象的字符串。

(继承自 Object)

扩展方法

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。

AsParallel(IEnumerable)

启用查询的并行化。

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryable

适用于