Ejemplo n.º 1
0
        /// <summary> Apply the given visitor to the current page.
        /// The visitor is passed to the <code>accept()</code> method of each node
        /// in the page in a depth first traversal. The visitor
        /// <code>beginParsing()</code> method is called prior to processing the
        /// page and <code>finishedParsing()</code> is called after the processing.
        /// </summary>
        /// <param name="visitor">The visitor to visit all nodes with.
        /// </param>
        /// <throws>  ParserException If a parse error occurs while traversing </throws>
        /// <summary> the page with the visitor.
        /// </summary>
        public virtual void VisitAllNodesWith(NodeVisitor visitor)
        {
            INode node;

            visitor.BeginParsing();
            for (INodeIterator e = Elements(); e.HasMoreNodes();)
            {
                node = e.NextNode();
                node.Accept(visitor);
            }
            visitor.FinishedParsing();
        }
Ejemplo n.º 2
0
        ///<summary>
        ///When overridden in a derived class, moves the <see cref="T:System.Xml.XPath.XPathNavigator"></see> to the first attribute of the current node.
        ///</summary>
        ///
        ///<returns>
        ///Returns true if the <see cref="T:System.Xml.XPath.XPathNavigator"></see> is successful moving to the first attribute of the current node; otherwise, false. If false, the position of the <see cref="T:System.Xml.XPath.XPathNavigator"></see> is unchanged.
        ///</returns>
        ///
        public override bool MoveToFirstAttribute()
        {
            INodeIterator iterator = fCursor.Current.GetAttributes();

            if (iterator != null)
            {
                NavigableIterator navIterator = new NavigableIterator(iterator, fCursor);
                if (navIterator.MoveNext())
                {
                    fCursor = navIterator;
                    return(true);
                }
            }
            // No Attributes defined
            return(false);
        }
Ejemplo n.º 3
0
            INavCursor INavCursor.Clone()
            {
                INodeIterator clonedIterator = fCurrentIterator.Clone();
                INavCursor    clonedParent   = null;

                if (fParentIterator != null)
                {
                    clonedParent = fParentIterator.Clone();
                }
                INodePointer clonedPointer = null;

                if (fCurrentPointer != null)
                {
                    clonedPointer = fCurrentPointer.Clone();
                }
                return(new NavigableIterator(clonedIterator, clonedParent, clonedPointer));
            }
Ejemplo n.º 4
0
 private NavigableIterator(INodeIterator wrappedIterator, INavCursor parentIterator, INodePointer current)
 {
     fCurrentIterator = wrappedIterator;
     fParentIterator  = parentIterator;
     fCurrentPointer  = current;
 }
Ejemplo n.º 5
0
 public NavigableIterator(INodeIterator wrappedIterator, INavCursor parentIterator)
 {
     fCurrentIterator = wrappedIterator;
     fParentIterator  = parentIterator;
 }