亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久亚洲综合色一区二区三区| 99精品视频在线播放观看| 99久久精品免费看| 中文字幕亚洲视频| 色婷婷av一区二区三区之一色屋| 亚洲精品五月天| 777午夜精品免费视频| 另类人妖一区二区av| 久久这里都是精品| 成人国产亚洲欧美成人综合网 | 国产精品伦理一区二区| 九九视频精品免费| 欧美高清一级片在线观看| a级精品国产片在线观看| 亚洲色图19p| 在线播放日韩导航| 国产精品91xxx| 亚洲黄色免费网站| 91精品国产一区二区| 国产伦精品一区二区三区视频青涩 | 亚洲婷婷国产精品电影人久久| 国产三级一区二区| 国产日韩精品一区| 99精品视频一区| 亚洲国产毛片aaaaa无费看| 中文字幕视频一区| 免费在线观看一区| 日本久久一区二区| 久久综合久久99| 久久99精品久久久久久久久久久久| 久久99精品国产麻豆婷婷洗澡| 99在线精品观看| 欧美日韩亚洲综合| 国产精品人人做人人爽人人添| 欧美老肥妇做.爰bbww| 亚洲国产成人91porn| 婷婷六月综合网| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲日穴在线视频| 一区二区免费看| 裸体在线国模精品偷拍| 欧美性生活久久| 日韩美女视频一区| 成人av电影观看| 国产精品二三区| 欧美日韩亚洲综合一区| 欧美日韩二区三区| 国产一区二区三区| 欧美日韩午夜精品| 精品国产露脸精彩对白| 91麻豆免费观看| 韩国成人福利片在线播放| 亚洲电影激情视频网站| 亚洲三级小视频| 久久久久久久综合日本| 欧美一区二区日韩| 在线观看日韩电影| 97se亚洲国产综合自在线观| 国内久久精品视频| 久久超级碰视频| 日韩极品在线观看| 亚洲国产美国国产综合一区二区| 亚洲天堂久久久久久久| 中文字幕第一区| 国产人成亚洲第一网站在线播放| 欧美一级二级三级乱码| 欧美日韩成人综合在线一区二区| 91在线小视频| av在线播放成人| yourporn久久国产精品| 国产99久久精品| 成人美女视频在线观看18| 国产一区二区免费看| 国产乱人伦偷精品视频不卡| 国产精品亚洲专一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 日本不卡在线视频| 青青草精品视频| 老色鬼精品视频在线观看播放| 水蜜桃久久夜色精品一区的特点| 五月婷婷激情综合网| 日韩电影在线免费看| 久久超碰97人人做人人爱| 激情另类小说区图片区视频区| 精品在线一区二区三区| 麻豆久久一区二区| 国产福利一区二区三区在线视频| 国产中文字幕一区| 国产**成人网毛片九色 | 91精品国产综合久久精品| 欧美精品v国产精品v日韩精品| 在线成人小视频| 日韩欧美国产一区二区在线播放| 日韩欧美第一区| 亚洲国产激情av| 亚洲乱码国产乱码精品精可以看 | 伊人开心综合网| 亚洲男女毛片无遮挡| 中文字幕在线一区| 亚洲欧洲综合另类在线| 亚洲va欧美va天堂v国产综合| 视频一区视频二区中文字幕| 九九热在线视频观看这里只有精品| 韩国精品免费视频| 97精品视频在线观看自产线路二| 欧美日韩午夜在线视频| 精品999在线播放| 国产精品麻豆久久久| 亚洲自拍偷拍网站| 蜜臀久久久99精品久久久久久| 国产精品一卡二卡| 欧美在线视频日韩| 精品国产一区二区亚洲人成毛片| 国产精品色婷婷久久58| 无吗不卡中文字幕| 国产91精品一区二区麻豆网站| 在线免费观看日本欧美| 日韩欧美亚洲一区二区| 国产精品国产自产拍高清av| 亚洲成a人在线观看| 国产成人精品aa毛片| 欧美日韩电影一区| 中文字幕亚洲区| 久久精品国产一区二区三| 一本久久a久久精品亚洲| 精品三级在线看| 亚洲日本欧美天堂| 国产美女视频91| 欧美久久久久免费| 18成人在线观看| 国产在线麻豆精品观看| 欧美少妇bbb| 国产精品福利一区| 精品一区二区三区日韩| 欧美视频一区二区| 自拍偷拍欧美精品| 国产精品主播直播| 日韩欧美亚洲国产另类| 亚洲成在人线在线播放| 色综合久久久久网| 国产午夜精品一区二区三区嫩草| 丝袜亚洲另类欧美综合| 欧洲精品在线观看| 亚洲欧美激情在线| 成人高清av在线| 久久精品一区四区| 狠狠色伊人亚洲综合成人| 欧美日韩第一区日日骚| 亚洲一区免费视频| 91黄视频在线观看| 日韩理论片在线| 成人黄色免费短视频| 久久精品视频免费| 国产麻豆精品在线| 久久美女艺术照精彩视频福利播放| 日韩国产欧美在线播放| 欧美视频在线一区二区三区 | 粗大黑人巨茎大战欧美成人| 精品电影一区二区| 久久精品噜噜噜成人av农村| 欧美一区二区成人6969| 丝袜a∨在线一区二区三区不卡| 欧美日韩一区二区三区在线看| 亚洲男人的天堂在线观看| 99国产精品国产精品毛片| 中文字幕在线观看不卡| 成人午夜精品一区二区三区| 国产欧美一区二区三区网站 | 精品99久久久久久| 狠狠色丁香婷婷综合| 久久这里只有精品首页| 国产成人在线免费观看| 中文在线一区二区| 97久久超碰国产精品| 亚洲一区二区精品视频| 欧美三级电影在线观看| 偷窥国产亚洲免费视频 | 国产亚洲一区字幕| 国产成人在线视频网站| 亚洲婷婷国产精品电影人久久| 色噜噜狠狠色综合中国| 亚洲18色成人| 欧美大片在线观看一区二区| 国产综合久久久久久鬼色| 国产精品国产三级国产普通话99| 99精品久久只有精品| 亚洲一二三四久久| 日韩亚洲欧美中文三级| 国产一区二区三区蝌蚪| √…a在线天堂一区| 欧美色图天堂网| 麻豆精品精品国产自在97香蕉| 久久色视频免费观看| av在线这里只有精品| 视频一区二区欧美| 国产欧美一区二区精品秋霞影院 | 午夜电影久久久| 久久青草国产手机看片福利盒子 | 成人av高清在线| 亚洲综合另类小说|