home *** CD-ROM | disk | FTP | other *** search
- package com.kav.xml;
-
- import java.io.PrintWriter;
- import java.util.Hashtable;
- import org.w3c.dom.Attr;
- import org.w3c.dom.CDATASection;
- import org.w3c.dom.Element;
- import org.w3c.dom.NamedNodeMap;
- import org.w3c.dom.Node;
-
- public class HTMLPrinter extends XMLPrinter {
- public static final String BREAK = "BR";
- public static final String PARAGRAPH = "P";
- public static final String HORIZONTAL_RULE = "HR";
- public static final String IMAGE = "IMG";
- public static final String META = "META";
- public static final String SCRIPT = "SCRIPT";
- // $FF: renamed from: pw java.io.PrintWriter
- private PrintWriter field_0;
- private Hashtable specialElements;
- private boolean useFormat;
-
- public HTMLPrinter(PrintWriter var1) {
- this(var1, 2);
- }
-
- public HTMLPrinter(PrintWriter var1, int var2) {
- super(var1, var2);
- this.useFormat = false;
- super.setUnescapeCDATA(false);
- this.field_0 = var1;
- this.specialElements = getSpecialElements();
- }
-
- public void setUseFormat(boolean var1) {
- super.setUseFormat(var1);
- this.useFormat = var1;
- }
-
- protected boolean print(Node var1, String var2) {
- if (var1 == null) {
- return false;
- } else {
- switch (var1.getNodeType()) {
- case 1:
- Element var3 = (Element)var1;
- String var4 = var3.getNodeName().toUpperCase();
- if (var3.hasChildNodes() || this.specialElements.get(var4) == null) {
- return super.print(var1, var2);
- }
-
- this.field_0.print("<");
- this.field_0.print(var3.getNodeName());
- NamedNodeMap var11 = var3.getAttributes();
- int var12 = 0;
- if (var11 != null) {
- var12 = var11.getLength();
- }
-
- int var9 = 0;
-
- for(; var9 < var12; ++var9) {
- Attr var7 = (Attr)var11.item(var9);
- String var8 = var7.getValue();
- this.field_0.print(" ");
- this.field_0.print(var7.getName());
- if (var8 != null) {
- this.field_0.print("=\"");
- this.field_0.print(var8);
- this.field_0.print("\"");
- }
- }
-
- this.field_0.print(">");
- if (this.useFormat) {
- Node var10 = var1.getNextSibling();
- if (var10 == null || var10.getNodeType() != 3) {
- this.field_0.println();
- return true;
- }
- }
- break;
- case 2:
- case 3:
- default:
- return super.print(var1, var2);
- case 4:
- Node var5 = var1.getParentNode();
- if (var5.getNodeType() == 1 && var1.getNodeName().equalsIgnoreCase("SCRIPT")) {
- String var6 = ((CDATASection)var1).getData();
- super.printUTF8Chars(var6.toCharArray());
- return false;
- }
-
- super.print(var1, var2);
- }
-
- return false;
- }
- }
-
- private static Hashtable getSpecialElements() {
- Hashtable var0 = new Hashtable();
- var0.put("BR", new Integer(0));
- var0.put("HR", new Integer(1));
- var0.put("IMG", new Integer(2));
- var0.put("META", new Integer(3));
- var0.put("P", new Integer(4));
- return var0;
- }
- }
-