public override object Invoke(XsltContext xsltContext, object[] args, XPathNavigator docContext) { SeekableMessageNavigator navigator = docContext as SeekableMessageNavigator; if (navigator != null) { return(navigator.Message.Version.Envelope.Namespace); } return(ExtractFromNavigator(docContext.Clone())); }
public override object Invoke(XsltContext xsltContext, object[] args, XPathNavigator docContext) { CorrelationDataMessageProperty property; string str; SeekableMessageNavigator navigator = docContext as SeekableMessageNavigator; if ((navigator != null) && (CorrelationDataMessageProperty.TryGet(navigator.Message, out property) && property.TryGetValue((string)args[0], out str))) { return(str); } return(string.Empty); }
protected object Evaluate(XPathNavigator nav) { SeekableMessageNavigator navigator = nav as SeekableMessageNavigator; if (navigator != null) { navigator.Atomize(); } if (XPathResultType.NodeSet == this.xpath.ReturnType) { return(nav.Select(this.xpath)); } return(nav.Evaluate(this.xpath)); }
internal SeekableMessageNavigator GetNavigator(bool navigateBody, int maxNodes) { if (this.IsDisposed) { throw TraceUtility.ThrowHelperError(this.CreateMessageDisposedException(), this); } if (this.messageNavigator == null) { this.messageNavigator = new SeekableMessageNavigator(this, maxNodes, XmlSpace.Default, navigateBody, false); } else { this.messageNavigator.ForkNodeCount(maxNodes); } return(this.messageNavigator); }
public override object Invoke(XsltContext xsltContext, object[] args, XPathNavigator docContext) { SeekableMessageNavigator navigator = docContext as SeekableMessageNavigator; if (navigator == null) { return(ExtractFromNavigator(docContext.Clone())); } Uri to = navigator.Message.Headers.To; if (to == null) { return(string.Empty); } return(to.ToString()); }
protected object Evaluate(XPathNavigator nav) { SeekableMessageNavigator messageNav = nav as SeekableMessageNavigator; if (null != messageNav) { // If operating on messages, we would have avoided atomizing unless we were using the Framework // This ensures that atomization has taken place messageNav.Atomize(); } object evalResult; if (XPathResultType.NodeSet == xpath.ReturnType) { evalResult = nav.Select(xpath); } else { evalResult = nav.Evaluate(xpath); } return(evalResult); }