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

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

?? wbxmlparser.java

?? < JavaME核心技術最佳實踐>>的全部源代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (c) 2002,2003,2004 Stefan Haustein, Oberhausen, Rhld., Germany * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The  above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */// Contributors: Bjorn Aadland, Chris Bartley, Nicola Fankhauser, //               Victor Havin,  Christian Kurzke, Bogdan Onoiu,//               Jain Sanjay, David Santoro.package org.kxml2.wap;import java.io.*;import java.util.Vector;import org.xmlpull.v1.*;public class WbxmlParser implements XmlPullParser {    public static final int WAP_EXTENSION = 64;    static final private String UNEXPECTED_EOF =        "Unexpected EOF";    static final private String ILLEGAL_TYPE =        "Wrong event type";    private InputStream in;	private int TAG_TABLE = 0;	private int ATTR_START_TABLE = 1;	private int ATTR_VALUE_TABLE = 2;    private String[] attrStartTable;    private String[] attrValueTable;    private String[] tagTable;    private String stringTable;    private boolean processNsp;    private int depth;    private String[] elementStack = new String[16];    private String[] nspStack = new String[8];    private int[] nspCounts = new int[4];    private int attributeCount;    private String[] attributes = new String[16];	private int nextId = -2;	private Vector tables = new Vector();    int version;    int publicIdentifierId;    int charSet;    //    StartTag current;    //    ParseEvent next;    private String prefix;    private String namespace;    private String name;    private String text;    //	private String encoding;    private Object wapExtensionData;    private int wapExtensionCode;    private int type;	private int codePage;    private boolean degenerated;    private boolean isWhitespace;    public boolean getFeature(String feature) {        if (XmlPullParser            .FEATURE_PROCESS_NAMESPACES            .equals(feature))            return processNsp;        else            return false;    }    public String getInputEncoding() {        // should return someting depending on charSet here!!!!!        return null;    }    public void defineEntityReplacementText(        String entity,        String value)        throws XmlPullParserException {        // just ignore, has no effect    }    public Object getProperty(String property) {        return null;    }    public int getNamespaceCount(int depth) {        if (depth > this.depth)            throw new IndexOutOfBoundsException();        return nspCounts[depth];    }    public String getNamespacePrefix(int pos) {        return nspStack[pos << 1];    }    public String getNamespaceUri(int pos) {        return nspStack[(pos << 1) + 1];    }    public String getNamespace(String prefix) {        if ("xml".equals(prefix))            return "http://www.w3.org/XML/1998/namespace";        if ("xmlns".equals(prefix))            return "http://www.w3.org/2000/xmlns/";        for (int i = (getNamespaceCount(depth) << 1) - 2;            i >= 0;            i -= 2) {            if (prefix == null) {                if (nspStack[i] == null)                    return nspStack[i + 1];            }            else if (prefix.equals(nspStack[i]))                return nspStack[i + 1];        }        return null;    }    public int getDepth() {        return depth;    }    public String getPositionDescription() {        StringBuffer buf =            new StringBuffer(                type < TYPES.length ? TYPES[type] : "unknown");        buf.append(' ');        if (type == START_TAG || type == END_TAG) {            if (degenerated)                buf.append("(empty) ");            buf.append('<');            if (type == END_TAG)                buf.append('/');            if (prefix != null)                buf.append("{" + namespace + "}" + prefix + ":");            buf.append(name);            int cnt = attributeCount << 2;            for (int i = 0; i < cnt; i += 4) {                buf.append(' ');                if (attributes[i + 1] != null)                    buf.append(                        "{"                            + attributes[i]                            + "}"                            + attributes[i                            + 1]                            + ":");                buf.append(                    attributes[i                        + 2]                        + "='"                        + attributes[i                        + 3]                        + "'");            }            buf.append('>');        }        else if (type == IGNORABLE_WHITESPACE);        else if (type != TEXT)            buf.append(getText());        else if (isWhitespace)            buf.append("(whitespace)");        else {            String text = getText();            if (text.length() > 16)                text = text.substring(0, 16) + "...";            buf.append(text);        }        return buf.toString();    }    public int getLineNumber() {        return -1;    }    public int getColumnNumber() {        return -1;    }    public boolean isWhitespace()        throws XmlPullParserException {        if (type != TEXT            && type != IGNORABLE_WHITESPACE            && type != CDSECT)            exception(ILLEGAL_TYPE);        return isWhitespace;    }    public String getText() {        return text;    }    public char[] getTextCharacters(int[] poslen) {        if (type >= TEXT) {            poslen[0] = 0;            poslen[1] = text.length();            char[] buf = new char[text.length()];            text.getChars(0, text.length(), buf, 0);            return buf;        }        poslen[0] = -1;        poslen[1] = -1;        return null;    }    public String getNamespace() {        return namespace;    }    public String getName() {        return name;    }    public String getPrefix() {        return prefix;    }    public boolean isEmptyElementTag()        throws XmlPullParserException {        if (type != START_TAG)            exception(ILLEGAL_TYPE);        return degenerated;    }    public int getAttributeCount() {        return attributeCount;    }    public String getAttributeType(int index) {        return "CDATA";    }    public boolean isAttributeDefault(int index) {        return false;    }    public String getAttributeNamespace(int index) {        if (index >= attributeCount)            throw new IndexOutOfBoundsException();        return attributes[index << 2];    }    public String getAttributeName(int index) {        if (index >= attributeCount)            throw new IndexOutOfBoundsException();        return attributes[(index << 2) + 2];    }    public String getAttributePrefix(int index) {        if (index >= attributeCount)            throw new IndexOutOfBoundsException();        return attributes[(index << 2) + 1];    }    public String getAttributeValue(int index) {        if (index >= attributeCount)            throw new IndexOutOfBoundsException();        return attributes[(index << 2) + 3];    }    public String getAttributeValue(        String namespace,        String name) {        for (int i = (attributeCount << 2) - 4;            i >= 0;            i -= 4) {            if (attributes[i + 2].equals(name)                && (namespace == null                    || attributes[i].equals(namespace)))                return attributes[i + 3];        }        return null;    }    public int getEventType() throws XmlPullParserException {        return type;    }    public int next() throws XmlPullParserException, IOException {        isWhitespace = true;        int minType = 9999;        while (true) {			String save = text;            nextImpl();            if (type < minType)                minType = type;			if (minType > CDSECT) continue; // no "real" event so far			if (minType >= TEXT) {  // text, see if accumulate								if (save != null) text = text == null ? save : save + text;								switch(peekId()) {					case Wbxml.ENTITY:					case Wbxml.STR_I:					case Wbxml.LITERAL:					case Wbxml.LITERAL_C:					case Wbxml.LITERAL_A:					case Wbxml.LITERAL_AC: continue;				}			}				            break;         }        type = minType;        if (type > TEXT)            type = TEXT;        return type;    }    public int nextToken() throws XmlPullParserException, IOException {        isWhitespace = true;        nextImpl();        return type;    }    public int nextTag() throws XmlPullParserException, IOException {        next();        if (type == TEXT && isWhitespace)            next();        if (type != END_TAG && type != START_TAG)            exception("unexpected type");        return type;    }    public String nextText() throws XmlPullParserException, IOException {        if (type != START_TAG)            exception("precondition: START_TAG");        next();        String result;        if (type == TEXT) {            result = getText();            next();        }        else            result = "";        if (type != END_TAG)            exception("END_TAG expected");        return result;    }    public void require(int type, String namespace, String name)        throws XmlPullParserException, IOException {        if (type != this.type            || (namespace != null && !namespace.equals(getNamespace()))            || (name != null && !name.equals(getName())))            exception(                "expected: " + TYPES[type] + " {" + namespace + "}" + name);    }	public void setInput(Reader reader) throws XmlPullParserException {		exception("InputStream required");	}    public void setInput(InputStream in, String enc)        throws XmlPullParserException {        this.in = in;        try {            version = readByte();            publicIdentifierId = readInt();            if (publicIdentifierId == 0)                readInt();            charSet = readInt(); // skip charset            int strTabSize = readInt();            StringBuffer buf = new StringBuffer(strTabSize);            for (int i = 0; i < strTabSize; i++)                buf.append((char) readByte());	        stringTable = buf.toString();	        	   //     System.out.println("String table: "+stringTable);	    //    System.out.println("String table length: "+stringTable.length());	        	        selectPage(0, true);			selectPage(0, false);        }        catch (IOException e) {            exception("Illegal input format");        }    }    public void setFeature(String feature, boolean value)        throws XmlPullParserException {        if (XmlPullParser.FEATURE_PROCESS_NAMESPACES.equals(feature))            processNsp = value;        else            exception("unsupported feature: " + feature);    }    public void setProperty(String property, Object value)        throws XmlPullParserException {        throw new XmlPullParserException("unsupported property: " + property);    }    // ---------------------- private / internal methods    private final boolean adjustNsp()        throws XmlPullParserException {        boolean any = false;        for (int i = 0; i < attributeCount << 2; i += 4) {            // * 4 - 4; i >= 0; i -= 4) {            String attrName = attributes[i + 2];            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 = null;            }            else                continue;            if (!prefix.equals("xmlns")) {                any = true;            }            else {                int j = (nspCounts[depth]++) << 1;                nspStack = ensureCapacity(nspStack, j + 2);                nspStack[j] = attrName;                nspStack[j + 1] = attributes[i + 3];                if (attrName != null                    && attributes[i + 3].equals(""))                    exception("illegal empty namespace");                //  prefixMap = new PrefixMap (prefixMap, attrName, attr.getValue ());                //System.out.println (prefixMap);                System.arraycopy(                    attributes,                    i + 4,                    attributes,                    i,                    ((--attributeCount) << 2) - i);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久综合九色| 国产精品色哟哟网站| 成人黄动漫网站免费app| 一区二区免费在线播放| 精品播放一区二区| 欧美麻豆精品久久久久久| 99久久久久免费精品国产| 免费欧美高清视频| 一区二区三区视频在线看| 国产午夜一区二区三区| 91精品啪在线观看国产60岁| 色哟哟精品一区| 风间由美一区二区av101| 男女性色大片免费观看一区二区 | 欧美性大战xxxxx久久久| 国产成人av电影| 奇米777欧美一区二区| 亚洲午夜精品一区二区三区他趣| 国产婷婷色一区二区三区| 日韩免费在线观看| 欧美日韩国产区一| 欧美偷拍一区二区| 色美美综合视频| 91小视频在线| 99久久精品免费| 成人精品高清在线| 亚洲综合一区在线| 欧美在线视频日韩| 日韩一级二级三级| 亚洲欧洲三级电影| 久久福利视频一区二区| 成人sese在线| 欧美女孩性生活视频| 亚洲主播在线播放| 欧美精品1区2区| 国产视频亚洲色图| 狠狠v欧美v日韩v亚洲ⅴ| 欧美军同video69gay| 亚洲综合一区二区三区| 欧美三区免费完整视频在线观看| 粉嫩绯色av一区二区在线观看| 欧美日韩精品一二三区| 欧美综合视频在线观看| 日精品一区二区| 一区二区三区日韩在线观看| 九九视频精品免费| 国产精品色呦呦| 在线观看视频一区二区欧美日韩| 午夜精品福利在线| 色欧美片视频在线观看在线视频| 洋洋成人永久网站入口| 91精品欧美综合在线观看最新| 国产毛片精品国产一区二区三区| 欧美国产精品久久| 欧美mv和日韩mv的网站| 欧美日韩国产一区二区三区地区| 香蕉成人啪国产精品视频综合网 | 久久久99久久| 久久99久久久欧美国产| 国产精品美日韩| 91精品国产色综合久久不卡蜜臀| 欧美美女bb生活片| 麻豆精品国产传媒mv男同| 一区二区三区日韩欧美精品 | 国产精品毛片a∨一区二区三区| 欧美日韩一区二区三区不卡| 免费成人在线观看视频| 在线看一区二区| 亚洲品质自拍视频| 欧美日韩一区三区四区| 国产激情精品久久久第一区二区 | 久久精品国产精品亚洲精品 | 成人国产亚洲欧美成人综合网| 91麻豆.com| 日韩欧美中文字幕一区| 中文在线资源观看网站视频免费不卡| 日韩伦理免费电影| 日本午夜精品一区二区三区电影| 国产老妇另类xxxxx| 色丁香久综合在线久综合在线观看| 91麻豆精品国产综合久久久久久 | 91在线观看污| 欧美精品久久一区二区三区| 国产日韩欧美制服另类| 亚洲成人动漫一区| 成人网在线免费视频| 欧美军同video69gay| 欧美国产丝袜视频| 日本午夜精品视频在线观看 | 日韩午夜激情免费电影| 成人欧美一区二区三区视频网页| 欧美a一区二区| 色婷婷综合五月| 久久久国产精华| 亚洲成人动漫av| www.亚洲在线| 26uuu精品一区二区三区四区在线| 1024成人网色www| 国产一区二三区| 欧美专区日韩专区| 欧美国产一区在线| 狠狠色丁香久久婷婷综合丁香| 色狠狠av一区二区三区| 国产精品入口麻豆原神| 美腿丝袜一区二区三区| 欧美日本一区二区在线观看| 亚洲日本丝袜连裤袜办公室| 国产尤物一区二区| 欧美v国产在线一区二区三区| 亚洲成人综合网站| 色噜噜夜夜夜综合网| 亚洲欧洲精品成人久久奇米网| 韩国三级电影一区二区| 欧美一区二区免费视频| 亚洲r级在线视频| 欧洲色大大久久| 亚洲码国产岛国毛片在线| 粉嫩一区二区三区性色av| 久久综合999| 久久国产精品第一页| 欧美福利视频导航| 亚洲观看高清完整版在线观看| 色哟哟国产精品| 亚洲免费av网站| 日本久久一区二区三区| 亚洲美女电影在线| 欧洲色大大久久| 亚洲线精品一区二区三区| 色偷偷久久人人79超碰人人澡| 亚洲人成伊人成综合网小说| 色综合视频在线观看| 亚洲精品乱码久久久久久日本蜜臀| 91丨九色丨蝌蚪丨老版| 亚洲欧美日韩国产成人精品影院 | 毛片av中文字幕一区二区| 91精品国产一区二区| 蜜桃传媒麻豆第一区在线观看| 日韩一区二区免费视频| 卡一卡二国产精品| 久久久久国产一区二区三区四区 | 日韩免费观看2025年上映的电影| 日本欧美在线观看| 欧美r级电影在线观看| 国产露脸91国语对白| 亚洲国产高清aⅴ视频| www.综合网.com| 亚洲精品va在线观看| 欧美日韩成人高清| 麻豆精品国产91久久久久久| 2020国产精品| 99riav久久精品riav| 一区二区三区蜜桃网| 51久久夜色精品国产麻豆| 久久精品999| 欧美激情一区二区三区蜜桃视频 | 玉足女爽爽91| 91精品国产一区二区三区香蕉| 麻豆精品一区二区三区| 中文字幕不卡的av| 91国模大尺度私拍在线视频| 日韩精品亚洲一区| 久久一区二区三区四区| 99久久夜色精品国产网站| 亚洲欧美成人一区二区三区| 91精品视频网| 福利一区二区在线| 亚洲综合一区二区精品导航| 日韩一区二区三区观看| 成人黄色小视频| 午夜日韩在线电影| 久久久777精品电影网影网 | 亚洲一区欧美一区| 欧美一区二区三区四区高清| 国产成人免费视频 | 99久久综合精品| 日韩电影在线观看网站| 国产精品女主播av| 欧美二区三区的天堂| 懂色av噜噜一区二区三区av| 亚洲电影在线播放| 国产欧美日韩亚州综合| 欧美美女bb生活片| 成人福利视频网站| 日韩av在线播放中文字幕| 亚洲婷婷综合久久一本伊一区 | 制服丝袜中文字幕亚洲| 成人免费视频免费观看| 免费成人美女在线观看| 亚洲免费观看高清完整版在线| 精品入口麻豆88视频| 欧美体内she精高潮| 粉嫩aⅴ一区二区三区四区五区| 亚洲va国产天堂va久久en| 国产精品久久久久7777按摩| 日韩欧美一级在线播放| 欧美丝袜第三区| 99精品视频一区| 国产乱一区二区| 久久国产视频网| 日韩精品午夜视频|