亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产成人av电影在线| 欧美日韩成人综合在线一区二区| 成人中文字幕电影| 99国产精品久| 欧美三级视频在线观看| 日韩一二在线观看| 久久久精品综合| 欧美一区二区三区色| 亚洲一区二区影院| 国产日韩精品久久久| 综合分类小说区另类春色亚洲小说欧美| 日本一区二区三区dvd视频在线| 亚洲欧美福利一区二区| 日本在线播放一区二区三区| 天堂资源在线中文精品| 国产一区欧美日韩| 一本久道久久综合中文字幕 | 欧美成人午夜电影| 亚洲欧美一区二区视频| 天堂蜜桃一区二区三区| 国产69精品一区二区亚洲孕妇| 欧美中文字幕一区| 欧美国产精品一区二区| 免费高清成人在线| 色噜噜狠狠色综合欧洲selulu| 欧美一区二区三区性视频| 亚洲欧美一区二区视频| 国产精品一区二区x88av| 在线播放一区二区三区| 亚洲精品免费在线观看| 国产不卡视频在线播放| 日韩三级精品电影久久久| 一区二区三区在线视频免费观看| 国产高清不卡二三区| 69堂国产成人免费视频| 亚洲成人精品影院| 欧美伊人久久久久久久久影院 | 亚洲成av人片在线观看| 91啪亚洲精品| 国产精品久久久久久久裸模| 国产一区二区三区久久久| 欧美日韩高清在线播放| 亚洲一区二区三区四区不卡| 91免费观看视频在线| 亚洲视频一区二区在线观看| 99久久精品国产精品久久| 中文字幕中文字幕一区| 91丨porny丨在线| 亚洲免费在线视频一区 二区| 91在线精品一区二区| 亚洲少妇屁股交4| 欧洲另类一二三四区| 亚洲一区日韩精品中文字幕| 欧美日韩卡一卡二| 免费精品99久久国产综合精品| 欧美一级高清片| 国产91丝袜在线播放0| 中文字幕日韩精品一区| 欧美亚洲国产一区二区三区va | 亚洲欧美国产77777| 欧美自拍丝袜亚洲| 另类欧美日韩国产在线| 欧美极品xxx| 欧美日韩在线精品一区二区三区激情| 首页国产丝袜综合| 国产午夜精品一区二区| 一本色道久久加勒比精品| 日韩中文字幕一区二区三区| 久久久三级国产网站| 91美女片黄在线| 久久精品国产精品亚洲红杏 | 午夜欧美一区二区三区在线播放| 在线不卡的av| 99久久精品国产导航| 美女视频一区二区| 亚洲免费观看高清在线观看| 91精品视频网| 欧美中文字幕一二三区视频| 国产一区二区三区久久悠悠色av| 亚洲女性喷水在线观看一区| 欧美精品一区二区三区一线天视频| 99精品视频中文字幕| 国产一区中文字幕| 日本中文一区二区三区| 亚洲一区免费在线观看| 国产精品美女久久久久aⅴ国产馆| 欧美一区二区三区视频免费| 91视频免费看| 99久久国产综合精品麻豆| 久久99久久99精品免视看婷婷 | 欧美精品乱码久久久久久 | 成人午夜看片网址| 精品一区二区在线看| 青青草97国产精品免费观看无弹窗版| 亚洲人成人一区二区在线观看| 久久久久久久久久久久久久久99| 制服视频三区第一页精品| 欧美日韩一区不卡| 欧美性生活影院| 欧美疯狂做受xxxx富婆| 欧美日韩一级二级三级| 欧美精品精品一区| 欧美日本一道本| 精品少妇一区二区三区在线播放| 欧美夫妻性生活| 精品免费国产一区二区三区四区| 精品久久一二三区| 久久久不卡影院| 中文字幕在线不卡一区| 亚洲特黄一级片| 午夜精品在线看| 麻豆精品国产传媒mv男同| 黄色资源网久久资源365| 成人高清免费观看| 欧美日韩中文字幕一区| 日韩一区二区三区在线视频| 久久精品欧美一区二区三区不卡| 一区二区三区精品在线观看| 欧美性感一类影片在线播放| 国产九色精品成人porny | 日韩亚洲欧美一区| 久久久亚洲精品一区二区三区| 国产精品久久久久久久久图文区 | 国产日韩欧美一区二区三区乱码 | 国产一区二区调教| 在线观看日韩精品| 久久免费精品国产久精品久久久久| 国产日韩精品久久久| 午夜精品免费在线观看| 国产精品亚洲成人| 欧美精品在线观看一区二区| 国产欧美一区视频| 一区二区三区免费看视频| 久久国产婷婷国产香蕉| 91国产免费看| 国产日韩欧美a| 久久99热狠狠色一区二区| 色综合视频在线观看| 国产亚洲制服色| 日韩精品五月天| 在线亚洲人成电影网站色www| 久久综合九色综合欧美亚洲| 日韩专区欧美专区| 精品视频在线免费看| 亚洲视频 欧洲视频| 成人国产精品免费观看| 久久婷婷国产综合国色天香| 日韩精品视频网| 欧美日韩激情一区二区三区| 一级日本不卡的影视| 91丨porny丨首页| 亚洲乱码国产乱码精品精的特点 | 午夜精品久久久久久久久久久| 99re免费视频精品全部| 日韩理论电影院| 色婷婷综合久久| 亚洲一区二区三区三| 欧美网站一区二区| 天使萌一区二区三区免费观看| 欧美日韩高清一区二区不卡| 亚洲国产综合人成综合网站| 欧美亚洲综合一区| 美女mm1313爽爽久久久蜜臀| 69久久99精品久久久久婷婷| 日本欧美大码aⅴ在线播放| 日韩午夜在线观看视频| 韩国女主播成人在线| 国产精品高潮久久久久无| 一本一道波多野结衣一区二区| 午夜国产精品影院在线观看| 91精品国产乱码久久蜜臀| 韩国在线一区二区| 亚洲欧美综合另类在线卡通| 欧美人xxxx| 狠狠网亚洲精品| 一区二区三区中文免费| 欧美成人福利视频| jlzzjlzz亚洲日本少妇| 热久久国产精品| 日本一区免费视频| 欧美性xxxxxx少妇| 国产超碰在线一区| 亚洲高清中文字幕| 中文av字幕一区| 欧美一区二区播放| 在线免费观看日本一区| 国产大片一区二区| 日本成人在线看| 亚洲综合免费观看高清完整版在线 | 91在线丨porny丨国产| 精品一二线国产| 图片区小说区区亚洲影院| 国产精品美女久久久久久久久| 7777精品久久久大香线蕉| 成人精品gif动图一区| 蜜桃精品视频在线| 视频一区在线播放| 一区二区三区蜜桃网| 国产精品福利一区| 久久久国产综合精品女国产盗摄|