Exemple #1
0
        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);
        }
Exemple #3
0
        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));
        }
Exemple #4
0
 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);
 }
Exemple #5
0
        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());
        }
Exemple #6
0
        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);
        }