亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? parser.java

?? gcc的組建
?? JAVA
字號:
/* Parser.java -- HTML parser   Copyright (C) 2005 Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA.Linking this library statically or dynamically with other modules ismaking a combined work based on this library.  Thus, the terms andconditions of the GNU General Public License cover the wholecombination.As a special exception, the copyright holders of this library give youpermission to link this library with independent modules to produce anexecutable, regardless of the license terms of these independentmodules, and to copy and distribute the resulting executable underterms of your choice, provided that you also meet, for each linkedindependent module, the terms and conditions of the license of thatmodule.  An independent module is a module which is not derived fromor based on this library.  If you modify this library, you may extendthis exception to your version of the library, but you are notobligated to do so.  If you do not wish to do so, delete thisexception statement from your version. */package javax.swing.text.html.parser;import java.io.IOException;import java.io.Reader;import javax.swing.text.ChangedCharSetException;import javax.swing.text.SimpleAttributeSet;/* * FOR DEVELOPERS: To avoid regression, please run the package test * textsuite/javax.swing.text.html.parser/AllParserTests after your * modifications. *//** * <p>A simple error-tolerant HTML parser that uses a DTD document * to access data on the possible tokens, arguments and syntax.</p> * <p> The parser reads an HTML content from a Reader and calls various * notifying methods (which should be overridden in a subclass) * when tags or data are encountered.</p> * <p>Some HTML elements need no opening or closing tags. The * task of this parser is to invoke the tag handling methods also when * the tags are not explicitly specified and must be supposed using * information, stored in the DTD. * For  example, parsing the document * <p>&lt;table&gt;&lt;tr&gt;&lt;td&gt;a&lt;td&gt;b&lt;td&gt;c&lt;/tr&gt; <br> * will invoke exactly the handling methods exactly in the same order * (and with the same parameters) as if parsing the document: <br> * <em>&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;table&gt;&lt; * tbody&gt;</em>&lt;tr&gt;&lt;td&gt;a<em>&lt;/td&gt;</em>&lt;td&gt;b<em> * &lt;/td&gt;</em>&lt;td&gt;c<em>&lt;/td&gt;&lt;/tr&gt;</em>&lt; * <em>/tbody&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</em></p> * (supposed tags are given in italics). The parser also supports * obsolete elements of HTML syntax.<p> * </p> * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */public class Parser   implements DTDConstants{  /**   * The document template description that will be used to parse the documents.   */  protected DTD dtd;  /**   * The value of this field determines whether or not the Parser will be   * strict in enforcing SGML compatibility. The default value is false,   * stating that the parser should do everything to parse and get at least   * some information even from the incorrectly written HTML input.   */  protected boolean strict;  /**   * The package level reference to the working HTML parser in this   * implementation.   */  final gnu.javax.swing.text.html.parser.support.Parser gnu;  /**   * Creates a new parser that uses the given DTD to access data on the   * possible tokens, arguments and syntax. There is no single - step way   * to get a default DTD; you must either refer to the implementation -   * specific packages, write your own DTD or obtain the working instance   * of parser in other way, for example, by calling   * {@link javax.swing.text.html.HTMLEditorKit#getParser() }.   * @param a_dtd A DTD to use.   */  public Parser(DTD a_dtd)  {    dtd = a_dtd;    final Parser j = this;    gnu =      new gnu.javax.swing.text.html.parser.support.Parser(dtd)        {          protected final void handleComment(char[] comment)          {            j.handleComment(comment);          }          protected final void handleEOFInComment()          {            j.handleEOFInComment();          }          protected final void handleEmptyTag(TagElement tag)            throws javax.swing.text.ChangedCharSetException          {            j.handleEmptyTag(tag);          }          protected final void handleStartTag(TagElement tag)          {            j.handleStartTag(tag);          }          protected final void handleEndTag(TagElement tag)          {            j.handleEndTag(tag);          }          protected final void handleError(int line, String message)          {            j.handleError(line, message);          }          protected final void handleText(char[] text)          {            j.handleText(text);          }          protected final void handleTitle(char[] title)          {            j.handleTitle(title);          }          protected final void markFirstTime(Element element)          {            j.markFirstTime(element);          }          protected final void startTag(TagElement tag)            throws ChangedCharSetException          {            j.startTag(tag);          }          protected final void endTag(boolean omitted)          {            j.endTag(omitted);          }          protected TagElement makeTag(Element element)          {            return j.makeTag(element);          }          protected TagElement makeTag(Element element, boolean isSupposed)          {            return j.makeTag(element, isSupposed);          }        };  }  /**   * Parse the HTML text, calling various methods in response to the   * occurence of the corresponding HTML constructions.   * @param reader The reader to read the source HTML from.   * @throws IOException If the reader throws one.   */  public synchronized void parse(Reader reader)    throws IOException  {    gnu.parse(reader);  }  /**   * Parses DTD markup declaration. Currently returns without action.   * @return null.   * @throws java.io.IOException   */  public String parseDTDMarkup()    throws IOException  {    return gnu.parseDTDMarkup();  }  /**   * Parse DTD document declarations. Currently only parses the document   * type declaration markup.   * @param strBuff   * @return true if this is a valid DTD markup declaration.   * @throws IOException   */  protected boolean parseMarkupDeclarations(StringBuffer strBuff)    throws IOException  {    return gnu.parseMarkupDeclarations(strBuff);  }  /**   * Get the attributes of the current tag.   * @return The attribute set, representing the attributes of the current tag.   */  protected SimpleAttributeSet getAttributes()  {    return gnu.getAttributes();  }  /**   * Get the number of the document line being parsed.   * @return The current line.   */  protected int getCurrentLine()  {    return gnu.hTag.where.beginLine;  }  /**   * Get the current position in the document being parsed.   * @return The current position.   */  protected int getCurrentPos()  {    return gnu.hTag.where.startPosition;  }  /**   * The method is called when the HTML end (closing) tag is found or if   * the parser concludes that the one should be present in the   * current position. The method is called immediatly   * before calling the handleEndTag().   * @param omitted True if the tag is no actually present in the document,   * but is supposed by the parser (like &lt;/html&gt; at the end of the   * document).   */  protected void endTag(boolean omitted)  {    // This default implementation does nothing.  }  /**   * Invokes the error handler. The default method in this implementation   * finally delegates the call to handleError, also providing the number of the   * current line.   */  protected void error(String msg)  {    gnu.error(msg);  }  /**   * Invokes the error handler. The default method in this implementation   * finally delegates the call to error (msg+": '"+invalid+"'").   */  protected void error(String msg, String invalid)  {    gnu.error(msg, invalid);  }  /**   * Invokes the error handler. The default method in this implementation   * finally delegates the call to error (parm1+" "+ parm2+" "+ parm3).   */  protected void error(String parm1, String parm2, String parm3)  {    gnu.error(parm1, parm2, parm3);  }  /**   * Invokes the error handler. The default method in this implementation   * finally delegates the call to error   * (parm1+" "+ parm2+" "+ parm3+" "+ parm4).   */  protected void error(String parm1, String parm2, String parm3, String parm4)  {    gnu.error(parm1, parm2, parm3, parm4);  }  /**   * In this implementation, this is never called and returns without action.   */  protected void flushAttributes()  {    gnu.flushAttributes();  }  /**   * Handle HTML comment. The default method returns without action.   * @param comment The comment being handled   */  protected void handleComment(char[] comment)  {    // This default implementation does nothing.  }  /**   * This is additionally called in when the HTML content terminates   * without closing the HTML comment. This can only happen if the   * HTML document contains errors (for example, the closing --;gt is   * missing. The default method calls the error handler.   */  protected void handleEOFInComment()  {    gnu.error("Unclosed comment");  }  /**   * Handle the tag with no content, like &lt;br&gt;. The method is   * called for the elements that, in accordance with the current DTD,   * has an empty content.   * @param tag The tag being handled.   * @throws javax.swing.text.ChangedCharSetException   */  protected void handleEmptyTag(TagElement tag)    throws ChangedCharSetException  {    // This default implementation does nothing.  }  /**   * The method is called when the HTML closing tag ((like &lt;/table&gt;)   * is found or if the parser concludes that the one should be present   * in the current position.   * @param tag The tag being handled   */  protected void handleEndTag(TagElement tag)  {    // This default implementation does nothing.  }  /* Handle error that has occured in the given line. */  protected void handleError(int line, String message)  {    // This default implementation does nothing.  }  /**   * The method is called when the HTML opening tag ((like &lt;table&gt;)   * is found or if the parser concludes that the one should be present   * in the current position.   * @param tag The tag being handled   */  protected void handleStartTag(TagElement tag)  {    // This default implementation does nothing.  }  /**   * Handle the text section.   * <p> For non-preformatted section, the parser replaces   * \t, \r and \n by spaces and then multiple spaces   * by a single space. Additionaly, all whitespace around   * tags is discarded.   * </p>   * <p> For pre-formatted text (inside TEXAREA and PRE), the parser preserves   * all tabs and spaces, but removes <b>one</b>  bounding \r, \n or \r\n,   * if it is present. Additionally, it replaces each occurence of \r or \r\n   * by a single \n.</p>   *   * @param text A section text.   */  protected void handleText(char[] text)  {    // This default implementation does nothing.  }  /**   * Handle HTML &lt;title&gt; tag. This method is invoked when   * both title starting and closing tags are already behind.   * The passed argument contains the concatenation of all   * title text sections.   * @param title The title text.   */  protected void handleTitle(char[] title)  {    // This default implementation does nothing.  }  /**   * Constructs the tag from the given element. In this implementation,   * this is defined, but never called.   * @param element the base element of the tag.   * @return the tag   */  protected TagElement makeTag(Element element)  {    return makeTag(element, false);  }  /**   * Constructs the tag from the given element.   * @param element the tag base {@link javax.swing.text.html.parser.Element}   * @param isSupposed true if the tag is not actually present in the   * html input, but the parser supposes that it should to occur in   * the current location.   * @return the tag   */  protected TagElement makeTag(Element element, boolean isSupposed)  {    return new TagElement(element, isSupposed);  }  /**   * This is called when the tag, representing the given element,   * occurs first time in the document.   * @param element   */  protected void markFirstTime(Element element)  {    // This default implementation does nothing.  }  /**   * The method is called when the HTML opening tag ((like &lt;table&gt;)   * is found or if the parser concludes that the one should be present   * in the current position. The method is called immediately before   * calling the handleStartTag.   * @param tag The tag   */  protected void startTag(TagElement tag)    throws ChangedCharSetException  {    // This default implementation does nothing.  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲图片欧美综合| 久久国产精品99精品国产| 亚洲国产欧美在线| 日本在线不卡视频| 国产精品自拍av| 91麻豆高清视频| 欧美电影免费观看高清完整版在线| 日韩亚洲欧美在线| ...av二区三区久久精品| 亚欧色一区w666天堂| 国产一区二区三区四区在线观看| 91麻豆文化传媒在线观看| 欧美精品高清视频| 欧美国产一区在线| 欧美a级一区二区| 久88久久88久久久| 国产呦萝稀缺另类资源| 欧美男同性恋视频网站| 国产精品素人视频| 日韩不卡一区二区| av在线不卡免费看| 精品欧美一区二区三区精品久久| 亚洲精品免费在线播放| 国产精品一卡二卡| 91精品婷婷国产综合久久性色| 精品福利一二区| 亚洲第四色夜色| k8久久久一区二区三区| 精品国产免费一区二区三区四区 | 一区二区三区久久久| 国内精品久久久久影院色| 在线观看精品一区| 欧美韩日一区二区三区| 久久成人久久爱| 日韩一级片在线观看| 亚洲国产aⅴ天堂久久| 成人午夜免费av| 精品国产乱码久久久久久久| 香蕉成人伊视频在线观看| 92国产精品观看| 国产精品欧美一区喷水| 无吗不卡中文字幕| 不卡的av电影在线观看| 欧美精品一区二区三区很污很色的 | 成人涩涩免费视频| 久久嫩草精品久久久久| 久久99深爱久久99精品| 在线成人高清不卡| 青青国产91久久久久久| 88在线观看91蜜桃国自产| 日韩国产精品久久久| 欧美精品亚洲二区| 中文字幕一区在线观看| 国产成人在线色| 国产亲近乱来精品视频| 国产不卡免费视频| 国产精品九色蝌蚪自拍| 色网站国产精品| 亚洲va欧美va国产va天堂影院| 欧美日韩精品一区二区| 开心九九激情九九欧美日韩精美视频电影 | 91视频在线观看免费| 亚洲欧洲成人精品av97| av影院午夜一区| 亚洲成人综合在线| 日韩精品一区二区三区视频 | 日本韩国精品一区二区在线观看| 国产精品福利av| 91免费版在线| 日日嗨av一区二区三区四区| 日韩欧美一区在线观看| 国产一区视频导航| 亚洲欧洲色图综合| 欧美日产国产精品| 国产精品亚洲专一区二区三区| 中文字幕久久午夜不卡| 日本高清视频一区二区| 日本不卡免费在线视频| 国产欧美日韩久久| 91在线无精精品入口| 日本一道高清亚洲日美韩| 国产网站一区二区| 国产91精品精华液一区二区三区| 久久久国际精品| av中文一区二区三区| 日韩高清一区在线| 国产精品视频在线看| 欧美午夜一区二区三区| 激情综合五月天| 亚洲精品国产一区二区精华液 | 色偷偷88欧美精品久久久| 日韩在线一区二区| 欧美精品一区二区三区久久久 | 国产精品538一区二区在线| 最新欧美精品一区二区三区| 欧美精品xxxxbbbb| 成人精品在线视频观看| 视频一区二区三区中文字幕| 国产三级一区二区三区| 欧美日韩日日骚| fc2成人免费人成在线观看播放 | 日韩国产欧美一区二区三区| 国产日韩欧美精品综合| 欧美久久久久久久久久| 成人性视频网站| 七七婷婷婷婷精品国产| 夜夜亚洲天天久久| 国产日韩欧美一区二区三区乱码| 91麻豆swag| 国产成人午夜精品影院观看视频| 精品亚洲成a人在线观看| 精品对白一区国产伦| 欧美日韩另类一区| 91麻豆精品在线观看| 国产aⅴ综合色| 精品一区二区三区欧美| 日本vs亚洲vs韩国一区三区| 夜夜嗨av一区二区三区四季av| 欧美一区国产二区| 在线精品国精品国产尤物884a| av在线综合网| 成人av片在线观看| 亚洲成国产人片在线观看| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲欧美另类小说视频| 亚洲视频你懂的| 亚洲色图丝袜美腿| 亚洲福利视频一区| 日韩不卡一二三区| 黄一区二区三区| 99视频国产精品| 欧美午夜片在线观看| 日韩欧美一二区| 久久免费国产精品| 亚洲视频网在线直播| 亚洲成人7777| 激情综合网av| 99久久综合狠狠综合久久| 97精品久久久午夜一区二区三区 | 欧美一级夜夜爽| 国产丝袜欧美中文另类| 综合精品久久久| 亚洲国产欧美另类丝袜| 久久99国产精品久久99果冻传媒| 国产福利一区二区三区视频在线| 99re热这里只有精品免费视频 | 亚洲123区在线观看| 久久精品二区亚洲w码| 不卡在线观看av| 欧美精品乱人伦久久久久久| 久久九九国产精品| 尤物在线观看一区| 久久精品国产在热久久| aaa欧美色吧激情视频| 91麻豆精品国产无毒不卡在线观看 | 国产suv精品一区二区三区| 日本精品裸体写真集在线观看 | 欧美在线free| 欧美mv日韩mv亚洲| 一区二区三区在线观看动漫| 久久99最新地址| 欧美亚洲高清一区| 国产精品伦一区二区三级视频| 日韩在线一二三区| 一本大道久久a久久精品综合| 日韩精品一区二区在线观看| 亚洲精选免费视频| 国产精品一区免费视频| 欧美日本不卡视频| 亚洲精品欧美激情| 成人一区在线看| 337p日本欧洲亚洲大胆精品| 亚洲成人免费电影| 色综合久久中文综合久久97| 欧美精品一区二区高清在线观看| 亚洲成在线观看| 欧美综合在线视频| 国产精品乱人伦| 久久精品免费观看| 3d成人动漫网站| 亚洲小说春色综合另类电影| 97国产一区二区| 中文字幕不卡在线播放| 国产伦理精品不卡| 精品成人佐山爱一区二区| 蜜桃免费网站一区二区三区| 欧美日韩国产一二三| 亚洲国产一区二区三区青草影视| 91麻豆蜜桃一区二区三区| 欧美激情一区二区三区四区| 国产高清精品网站| 国产欧美精品在线观看| 国产在线一区二区综合免费视频| 欧美一区二区三区公司| 免费在线看成人av| 精品欧美久久久| 国产经典欧美精品| 国产精品久久看| 99视频一区二区三区| 亚洲理论在线观看|