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

📄 starttag.java

📁 联网斗地主 java版本 用jbuilder2005编写
💻 JAVA
字号:
package org.kxml.parser;import java.io.IOException;import java.util.*;import org.kxml.*;import org.kxml.io.*;/** A class for events indicating the start of a new element */public class StartTag extends Tag {    Vector attributes;    boolean degenerated;    PrefixMap prefixMap;    /** creates a new StartTag. The attributes are not copied and may	be reused in e.g. the DOM. So DO NOT CHANGE the attribute	vector after handing over, the effects are undefined */    public StartTag (StartTag parent, String namespace, 		     String name, Vector attributes, 		     boolean degenerated, boolean processNamespaces) {	super (Xml.START_TAG, parent, namespace, name);	this.attributes = (attributes == null || attributes.size () == 0) 	    ? null 	    : attributes;	this.degenerated = degenerated;		prefixMap = parent == null ? PrefixMap.DEFAULT : parent.prefixMap;	if (!processNamespaces) return;	boolean any = false; 	for (int i = getAttributeCount () - 1; i >= 0; i--) {	    Attribute attr = (Attribute) attributes.elementAt (i);	    String attrName = attr.getName ();	    int cut = attrName.indexOf (':');	    String prefix;	    if (cut != -1) {		prefix = attrName.substring (0, cut);		attrName = attrName.substring (cut+1);	    }	    else if (attrName.equals ("xmlns")) {		prefix = attrName;		attrName = "";	    } 	    else continue;	    if (!prefix.equals ("xmlns")) {		if (!prefix.equals ("xml")) any = true;	    }	    else {		prefixMap = new PrefixMap (prefixMap, attrName, attr.getValue ());	    		//System.out.println (prefixMap);		attributes.removeElementAt (i);	    }	}	int len = getAttributeCount ();	if (any) {	    for (int i = 0; i < len; i++) {		Attribute attr = (Attribute) attributes.elementAt (i);		String attrName = attr.getName ();		int cut = attrName.indexOf (':');				if (cut == 0) 		    throw new RuntimeException 			("illegal attribute name: "+attrName+ " at "+this);				else if (cut != -1) {		    		    String attrPrefix = attrName.substring (0, cut);		    if (!attrPrefix.equals ("xml")) {			attrName = attrName.substring (cut+1);						String attrNs = prefixMap.getNamespace (attrPrefix);						if (attrNs == null) 			    throw new RuntimeException 				("Undefined Prefix: "+attrPrefix + " in " + this);						attributes.setElementAt 			    (new Attribute (attrNs, 					    attrName, attr.getValue ()), i);		    }		}	    }	}		int cut = name.indexOf (':');		String prefix;	if (cut == -1) prefix = "";	else if (cut == 0)	    throw new RuntimeException 		("illegal tag name: "+ name +" at "+this);	else {	    prefix = name.substring (0, cut);	    this.name = name.substring (cut+1);	}		this.namespace = prefixMap.getNamespace (prefix);	if (this.namespace == null) {	    if (prefix.length () != 0) 		throw new RuntimeException 		    ("undefined prefix: "+prefix+" in "+prefixMap +" at "+this);	    this.namespace = Xml.NO_NAMESPACE;	}    }    /** returns the attribute vector. May return null for no attributes. */    public Vector getAttributes () {	return attributes;    }    public boolean getDegenerated () {	return degenerated;    }    public PrefixMap getPrefixMap () {	return prefixMap;    }    /** Simplified (!) toString method for debugging	purposes only. In order to actually write valid XML,        please use a XmlWriter. */    public String toString () {	return "StartTag <"+name+"> line: "+lineNumber+" attr: "+attributes;    }       public void setPrefixMap (PrefixMap map) {	this.prefixMap = map;    }   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -