📄 tag.java
字号:
* converted with toHTMLAttributeName(). * @return copy of this tag with named attribute removed. The copy is * a region of a fresh page containing only the tag. */ public Tag removeHTMLAttribute (String name) { return replaceHTMLAttribute (name, null); } /** * Copy this tag, setting an HTML attribute's value to TRUE. * @param name Name of HTML attribute (e.g. "HREF"). Doesn't have to be * converted with toHTMLAttributeName(). * @return copy of this tag with named attribute set to TRUE. The copy is * a region of a fresh page containing only the tag. */ public Tag replaceHTMLAttribute (String name) { return replaceHTMLAttribute (name, TRUE); } /** * Copy this tag, setting an HTML attribute's value. * @param name Name of HTML attribute (e.g. "HREF"). Doesn't have to be * converted with toHTMLAttributeName(). * @param value New value for the attribute * @return copy of this tag with named attribute set to value. * The copy is * a region of a fresh page containing only the tag. */ public Tag replaceHTMLAttribute (String name, String value) { name = toHTMLAttributeName (name); if (!startTag) return this; // illegal! StringBuffer newstr = new StringBuffer (); String[] newattrs = null; newstr.append ('<'); newstr.append (tagName); boolean foundit = false; int len = htmlAttributes.length; for (int i=0; i < len; ++i) { String attrName = htmlAttributes[i]; String attrVal; // FIX: entity-encode attrVal if (attrName == name) { newattrs = htmlAttributes; foundit = true; if (value == null) continue; attrVal = value; } else attrVal = getLabel (attrName); newstr.append (' '); newstr.append (attrName); if (attrVal != TRUE) { newstr.append ('='); if (attrVal.indexOf ('"') == -1) { newstr.append ('"'); newstr.append (attrVal); newstr.append ('"'); } else { newstr.append ('\''); newstr.append (attrVal); newstr.append ('\''); } } } if (!foundit && value != null) { // add new attribute at end newstr.append (' '); newstr.append (name); if (value != name) { newstr.append ('='); if (value.indexOf ('"') == -1) { newstr.append ('"'); newstr.append (value); newstr.append ('"'); } else { newstr.append ('\''); newstr.append (value); newstr.append ('\''); } } // append name to list of attribute names newattrs = new String[len + 1]; System.arraycopy (htmlAttributes, 0, newattrs, 0, len); newattrs[len] = name; } newstr.append ('>'); Tag newTag = new Tag (new Page (newstr.toString()), 0, newstr.length(), tagName, startTag); newTag.names = names; newTag.htmlAttributes = newattrs; newTag.setLabel (name, value); return newTag; } /** * Commonly useful tag names. * Derived from <a href="http://www.sandia.gov/sci_compute/elements.html">HTML Elements</a> * at Sandia National Labs. */ public static final String A = "a".intern(); public static final String ABBREV = "abbrev".intern(); public static final String ACRONYM = "acronym".intern(); public static final String ADDRESS = "address".intern(); public static final String APPLET = "applet".intern(); public static final String AREA = "area".intern(); public static final String B = "b".intern(); public static final String BASE = "base".intern(); public static final String BASEFONT = "basefont".intern(); public static final String BDO = "bdo".intern(); public static final String BGSOUND = "bgsound".intern(); public static final String BIG = "big".intern(); public static final String BLINK = "blink".intern(); public static final String BLOCKQUOTE = "blockquote".intern(); public static final String BODY = "body".intern(); public static final String BR = "br".intern(); public static final String CAPTION = "caption".intern(); public static final String CENTER = "center".intern(); public static final String CITE = "cite".intern(); public static final String CODE = "code".intern(); public static final String COL = "col".intern(); public static final String COLGROUP = "colgroup".intern(); public static final String COMMENT = "!".intern(); public static final String DD = "dd".intern(); public static final String DEL = "del".intern(); public static final String DFN = "dfn".intern(); public static final String DIR = "dir".intern(); public static final String DIV = "div".intern(); public static final String DL = "dd".intern(); public static final String DT = "dt".intern(); public static final String EM = "em".intern(); public static final String EMBED = "embed".intern(); public static final String FONT = "font".intern(); public static final String FRAME = "frame".intern(); public static final String FRAMESET = "frameset".intern(); public static final String FORM = "form".intern(); public static final String H1 = "h1".intern(); public static final String H2 = "h2".intern(); public static final String H3 = "h3".intern(); public static final String H4 = "h4".intern(); public static final String H5 = "h5".intern(); public static final String H6 = "h6".intern(); public static final String HEAD = "head".intern(); public static final String HR = "hr".intern(); public static final String HTML = "html".intern(); public static final String I = "i".intern(); public static final String IMG = "img".intern(); public static final String INPUT = "input".intern(); public static final String ISINDEX = "isindex".intern(); public static final String KBD = "kbd".intern(); public static final String LI = "li".intern(); public static final String LINK = "link".intern(); public static final String LISTING = "listing".intern(); public static final String MAP = "map".intern(); public static final String MARQUEE = "marquee".intern(); public static final String MENU = "menu".intern(); public static final String META = "meta".intern(); public static final String NEXTID = "nextid".intern(); public static final String NOBR = "nobr".intern(); public static final String NOEMBED = "noembed".intern(); public static final String NOFRAMES = "noframes".intern(); public static final String OBJECT = "object".intern(); public static final String OL = "ol".intern(); public static final String OPTION = "option".intern(); public static final String P = "p".intern(); public static final String PARAM = "param".intern(); public static final String PLAINTEXT = "plaintext".intern(); public static final String PRE = "pre".intern(); public static final String SAMP = "samp".intern(); public static final String SCRIPT = "script".intern(); public static final String SELECT = "select".intern(); public static final String SMALL = "small".intern(); public static final String SPACER = "spacer".intern(); public static final String STRIKE = "strike".intern(); public static final String STRONG = "strong".intern(); public static final String STYLE = "style".intern(); public static final String SUB = "sub".intern(); public static final String SUP = "sup".intern(); public static final String TABLE = "table".intern(); public static final String TD = "td".intern(); public static final String TEXTAREA = "textarea".intern(); public static final String TH = "th".intern(); public static final String TITLE = "title".intern(); public static final String TR = "tr".intern(); public static final String TT = "tt".intern(); public static final String U = "u".intern(); public static final String UL = "ul".intern(); public static final String VAR = "var".intern(); public static final String WBR = "wbr".intern(); public static final String XMP = "xmp".intern(); /** * Length of longest tag name. */ public static int MAX_LENGTH = 10; // longest tag name is BLOCKQUOTE}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -