home *** CD-ROM | disk | FTP | other *** search
- package com.ibm.xml.parsers;
-
- import com.ibm.xml.framework.ParserState;
- import com.ibm.xml.framework.XMLParser;
- import com.ibm.xml.parser.DTD;
- import com.ibm.xml.parser.Parent;
- import com.ibm.xml.parser.TXDocument;
- import com.ibm.xml.parser.TXElement;
- import org.w3c.dom.Node;
-
- public class TXRevalidatingDOMParser extends TXDOMParser {
- private transient Node errorElement;
- private static final boolean DEBUG_VALIDATE = false;
-
- public Node getErrorElement() {
- return this.errorElement;
- }
-
- public Node validate(Node var1) {
- if (var1.getNodeType() == 1 && var1 instanceof TXElement) {
- DTD var2 = ((TXDocument)var1.getOwnerDocument()).getDTD();
- ParserState var3 = ((XMLParser)this).getParserState();
-
- try {
- Node var4 = this.recursiveValidate((TXElement)var1, var2, var3);
- return var4;
- } catch (Exception var5) {
- ((Throwable)var5).printStackTrace(System.err);
- return null;
- }
- } else {
- throw new IllegalArgumentException("Can't revalidate a non element");
- }
- }
-
- private Node recursiveValidate(TXElement var1, DTD var2, ParserState var3) {
- Node var4 = var2.validate(var1, var3);
- if (var4 != null) {
- this.errorElement = var4.getNodeType() == 2 ? var1 : null;
- }
-
- if (var4 == null && ((Parent)var1).hasChildNodes()) {
- for(Node var5 = ((Parent)var1).getFirstChild(); var5 != null; var5 = var5.getNextSibling()) {
- if (var5.getNodeType() == 1) {
- var4 = this.recursiveValidate((TXElement)var5, var2, var3);
- if (var4 != null) {
- this.errorElement = var4.getNodeType() == 2 ? var5 : null;
- break;
- }
- }
- }
- }
-
- return var4;
- }
-
- private static void print(Node var0, String var1) {
- }
-
- private static String normalize(String var0) {
- return null;
- }
-
- private static String type(int var0) {
- return null;
- }
- }
-