📄 abstractxmlwriter.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: AbstractXmlWriter.java
package org.kxml.io;
import java.io.IOException;
import java.io.Writer;
import org.kxml.PrefixMap;
// Referenced classes of package org.kxml.io:
// State
public abstract class AbstractXmlWriter extends Writer
{
protected State current;
public AbstractXmlWriter()
{
current = new State(null, PrefixMap.DEFAULT, null);
}
public abstract void attribute(String s, String s1)
throws IOException;
public void attribute(String namespace, String name, String value)
throws IOException
{
if (namespace == null || "".equals(namespace))
{
attribute(name, value);
} else
{
String prefix = current.prefixMap.getPrefix(namespace);
if (prefix == null || prefix.equals(""))
{
int cnt = 0;
do
prefix = "p" + cnt++;
while (current.prefixMap.getNamespace(prefix) != null);
current.prefixMap = new PrefixMap(current.prefixMap, prefix, namespace);
attribute("xmlns:" + prefix, namespace);
}
attribute(prefix + ":" + name, value);
}
}
public PrefixMap getPrefixMap()
{
return current.prefixMap;
}
public void startTag(PrefixMap prefixMap, String namespace, String name)
throws IOException
{
if (prefixMap == null)
prefixMap = this.current.prefixMap;
if (namespace == null)
namespace = "";
String prefix = prefixMap.getPrefix(namespace);
if (prefix == null)
{
prefixMap = new PrefixMap(prefixMap, "", namespace);
prefix = "";
}
String tag = prefix.length() != 0 ? prefix + ':' + name : name;
PrefixMap oldMap = this.current.prefixMap;
startTag(prefixMap, tag);
if (prefixMap != oldMap)
{
PrefixMap current = prefixMap;
do
{
String p2 = current.getPrefix();
String ns = current.getNamespace();
if (prefixMap.getNamespace(p2).equals(ns) && !ns.equals(oldMap.getNamespace(p2)))
attribute(p2.equals("") ? "xmlns" : "xmlns:" + p2, ns);
current = current.getPrevious();
} while (current != null && current != oldMap);
}
}
public void startTag(String namespace, String name)
throws IOException
{
startTag(null, namespace, name);
}
public void startTag(String name)
throws IOException
{
startTag(null, "", name);
}
protected abstract void startTag(PrefixMap prefixmap, String s)
throws IOException;
public abstract void endTag()
throws IOException;
public abstract void writeLegacy(int i, String s)
throws IOException;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -