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 / parsers / TXRevalidatingDOMParser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  2.0 KB  |  68 lines

  1. package com.ibm.xml.parsers;
  2.  
  3. import com.ibm.xml.framework.ParserState;
  4. import com.ibm.xml.framework.XMLParser;
  5. import com.ibm.xml.parser.DTD;
  6. import com.ibm.xml.parser.Parent;
  7. import com.ibm.xml.parser.TXDocument;
  8. import com.ibm.xml.parser.TXElement;
  9. import org.w3c.dom.Node;
  10.  
  11. public class TXRevalidatingDOMParser extends TXDOMParser {
  12.    private transient Node errorElement;
  13.    private static final boolean DEBUG_VALIDATE = false;
  14.  
  15.    public Node getErrorElement() {
  16.       return this.errorElement;
  17.    }
  18.  
  19.    public Node validate(Node var1) {
  20.       if (var1.getNodeType() == 1 && var1 instanceof TXElement) {
  21.          DTD var2 = ((TXDocument)var1.getOwnerDocument()).getDTD();
  22.          ParserState var3 = ((XMLParser)this).getParserState();
  23.  
  24.          try {
  25.             Node var4 = this.recursiveValidate((TXElement)var1, var2, var3);
  26.             return var4;
  27.          } catch (Exception var5) {
  28.             ((Throwable)var5).printStackTrace(System.err);
  29.             return null;
  30.          }
  31.       } else {
  32.          throw new IllegalArgumentException("Can't revalidate a non element");
  33.       }
  34.    }
  35.  
  36.    private Node recursiveValidate(TXElement var1, DTD var2, ParserState var3) {
  37.       Node var4 = var2.validate(var1, var3);
  38.       if (var4 != null) {
  39.          this.errorElement = var4.getNodeType() == 2 ? var1 : null;
  40.       }
  41.  
  42.       if (var4 == null && ((Parent)var1).hasChildNodes()) {
  43.          for(Node var5 = ((Parent)var1).getFirstChild(); var5 != null; var5 = var5.getNextSibling()) {
  44.             if (var5.getNodeType() == 1) {
  45.                var4 = this.recursiveValidate((TXElement)var5, var2, var3);
  46.                if (var4 != null) {
  47.                   this.errorElement = var4.getNodeType() == 2 ? var5 : null;
  48.                   break;
  49.                }
  50.             }
  51.          }
  52.       }
  53.  
  54.       return var4;
  55.    }
  56.  
  57.    private static void print(Node var0, String var1) {
  58.    }
  59.  
  60.    private static String normalize(String var0) {
  61.       return null;
  62.    }
  63.  
  64.    private static String type(int var0) {
  65.       return null;
  66.    }
  67. }
  68.