home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xml4j.jar / com / ibm / xml / parser / NonRecursivePreorderTreeTraversal.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  1019 b   |  78 lines

  1. package com.ibm.xml.parser;
  2.  
  3. import org.w3c.dom.Node;
  4.  
  5. public class NonRecursivePreorderTreeTraversal extends TreeTraversal {
  6.    public NonRecursivePreorderTreeTraversal(Visitor var1) {
  7.       super(var1);
  8.    }
  9.  
  10.    public void traverse(Node var1) throws Exception {
  11.       Node var2 = var1;
  12.       Object var3 = null;
  13.  
  14.       try {
  15.          while(var2 != null) {
  16.             try {
  17.                ((Visitee)var2).acceptPre(((TreeTraversal)this).getVisitor());
  18.                var11 = var2.getFirstChild();
  19.             } catch (ToNextSiblingTraversalException var9) {
  20.                var11 = null;
  21.             }
  22.  
  23.             if (var11 == null) {
  24.                if (var2 == var1) {
  25.                   try {
  26.                      ((Visitee)var2).acceptPost(((TreeTraversal)this).getVisitor());
  27.                      return;
  28.                   } catch (ToNextSiblingTraversalException var4) {
  29.                      return;
  30.                   }
  31.                }
  32.  
  33.                var11 = var2.getNextSibling();
  34.                if (var11 != null) {
  35.                   try {
  36.                      ((Visitee)var2).acceptPost(((TreeTraversal)this).getVisitor());
  37.                   } catch (ToNextSiblingTraversalException var8) {
  38.                   }
  39.                }
  40.             }
  41.  
  42.             while(var11 == null && var2 != null) {
  43.                var11 = var2.getParentNode();
  44.  
  45.                try {
  46.                   ((Visitee)var2).acceptPost(((TreeTraversal)this).getVisitor());
  47.                } catch (ToNextSiblingTraversalException var7) {
  48.                }
  49.  
  50.                var2 = var11;
  51.                if (var11 != null) {
  52.                   if (var11 == var1) {
  53.                      try {
  54.                         ((Visitee)var2).acceptPost(((TreeTraversal)this).getVisitor());
  55.                         return;
  56.                      } catch (ToNextSiblingTraversalException var5) {
  57.                         return;
  58.                      }
  59.                   }
  60.  
  61.                   var11 = var11.getNextSibling();
  62.                   if (var11 != null) {
  63.                      try {
  64.                         ((Visitee)var2).acceptPost(((TreeTraversal)this).getVisitor());
  65.                      } catch (ToNextSiblingTraversalException var6) {
  66.                      }
  67.                   }
  68.                }
  69.             }
  70.  
  71.             var2 = var11;
  72.          }
  73.  
  74.       } catch (EndTraversalException var10) {
  75.       }
  76.    }
  77. }
  78.