⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractxmlwriter.java

📁 Mofire的JAR压缩包
💻 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 + -