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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? logicalequality.java

?? 主要的怎么樣結(jié)合java 和 javascript!
?? JAVA
字號:
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is Rhino code, released * May 6, 1999. * * The Initial Developer of the Original Code is Netscape * Communications Corporation.  Portions created by Netscape are * Copyright (C) 1997-2000 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * Ethan Hugg * * Alternatively, the contents of this file may be used under the * terms of the GNU Public License (the "GPL"), in which case the * provisions of the GPL are applicable instead of those above. * If you wish to allow use of your version of this file only * under the terms of the GPL and not to allow others to use your * version of this file under the NPL, indicate your decision by * deleting the provisions above and replace them with the notice * and other provisions required by the GPL.  If you do not delete * the provisions above, a recipient may use your version of this * file under either the NPL or the GPL. */package org.mozilla.javascript.xmlimpl;import org.apache.xmlbeans.XmlCursor;import java.util.*;public class LogicalEquality{    public static boolean nodesEqual(XmlCursor xmlOne, XmlCursor xmlTwo)    {        boolean result = false;        if (xmlOne.isStartdoc())        {            xmlOne.toFirstContentToken();        }        if (xmlTwo.isStartdoc())        {            xmlTwo.toFirstContentToken();        }        if (xmlOne.currentTokenType() == xmlTwo.currentTokenType())        {            if (xmlOne.isEnddoc())            {                // Both empty                result = true;            }            else if (xmlOne.isAttr())            {                result = attributesEqual(xmlOne, xmlTwo);            }            else if (xmlOne.isText())            {                result = textNodesEqual(xmlOne, xmlTwo);            }            else if (xmlOne.isComment())            {                result = commentsEqual(xmlOne, xmlTwo);            }            else if (xmlOne.isProcinst())            {                result = processingInstructionsEqual(xmlOne, xmlTwo);            }            else if (xmlOne.isStart())            {                // Compare root elements                result = elementsEqual(xmlOne, xmlTwo);            }        }        return result;    }    private static boolean elementsEqual(XmlCursor xmlOne, XmlCursor xmlTwo)    {        boolean result = true;        if (!qnamesEqual(xmlOne.getName(), xmlTwo.getName()))        {            result = false;        }        else        {            // These filter out empty text nodes.            nextToken(xmlOne);            nextToken(xmlTwo);            do            {                if (xmlOne.currentTokenType() != xmlTwo.currentTokenType())                {                    // Not same token                    result = false;                    break;                }                else if (xmlOne.isEnd())                {                    // Done with this element, step over end                    break;                }                else if (xmlOne.isEnddoc())                {                    // Shouldn't get here                    break;                }                else if (xmlOne.isAttr())                {                    // This one will move us to the first non-attr token.                    result = attributeListsEqual(xmlOne, xmlTwo);                }                else                {                    if (xmlOne.isText())                    {                        result = textNodesEqual(xmlOne, xmlTwo);                    }                    else if (xmlOne.isComment())                    {                        result = commentsEqual(xmlOne, xmlTwo);                    }                    else if (xmlOne.isProcinst())                    {                        result = processingInstructionsEqual(xmlOne, xmlTwo);                    }                    else if (xmlOne.isStart())                    {                        result = elementsEqual(xmlOne, xmlTwo);                    }                    else                    {                        //XML.log("Unknown token type" + xmlOne.currentTokenType());                    }                    // These filter out empty text nodes.                    nextToken(xmlOne);                    nextToken(xmlTwo);                }            }            while(result);        }        return result;    }    /**     *     * @param xmlOne     * @param xmlTwo     * @return     */    private static boolean attributeListsEqual(XmlCursor xmlOne, XmlCursor xmlTwo)    {        boolean result = true;        TreeMap mapOne = loadAttributeMap(xmlOne);        TreeMap mapTwo = loadAttributeMap(xmlTwo);        if (mapOne.size() != mapTwo.size())        {            result = false;        }        else        {            Set keysOne = mapOne.keySet();            Set keysTwo = mapTwo.keySet();            Iterator itOne = keysOne.iterator();            Iterator itTwo = keysTwo.iterator();            while (result && itOne.hasNext())            {                String valueOne = (String) itOne.next();                String valueTwo = (String) itTwo.next();                if (!valueOne.equals(valueTwo))                {                    result = false;                }                else                {                    javax.xml.namespace.QName qnameOne = (javax.xml.namespace.QName) mapOne.get(valueOne);                    javax.xml.namespace.QName qnameTwo = (javax.xml.namespace.QName) mapTwo.get(valueTwo);                    if (!qnamesEqual(qnameOne, qnameTwo))                    {                        result = false;                    }                }            }        }        return result;    }    /**     *     * @param xml     * @return     */    private static TreeMap loadAttributeMap(XmlCursor xml)    {        TreeMap result = new TreeMap();        while (xml.isAttr())        {            result.put(xml.getTextValue(), xml.getName());            nextToken(xml);        }        return result;    }    /**     *     * @param xmlOne     * @param xmlTwo     * @return     */    private static boolean attributesEqual(XmlCursor xmlOne, XmlCursor xmlTwo)    {        boolean result = false;        if (xmlOne.isAttr() && xmlTwo.isAttr())        {            if (qnamesEqual(xmlOne.getName(), xmlTwo.getName()))            {                if (xmlOne.getTextValue().equals(xmlTwo.getTextValue()))                {                    result = true;                }            }        }        return result;    }    /**     *     * @param xmlOne     * @param xmlTwo     * @return     */    private static boolean textNodesEqual(XmlCursor xmlOne, XmlCursor xmlTwo)    {        boolean result = false;        if (xmlOne.isText() && xmlTwo.isText())        {            if (xmlOne.getChars().equals(xmlTwo.getChars()))            {                result = true;            }        }        return result;    }    /**     *     * @param xmlOne     * @param xmlTwo     * @return     */    private static boolean commentsEqual(XmlCursor xmlOne, XmlCursor xmlTwo)    {        boolean result = false;        if (xmlOne.isComment() && xmlTwo.isComment())        {            if (xmlOne.getTextValue().equals(xmlTwo.getTextValue()))            {                result = true;            }        }        return result;    }    /**     *     * @param xmlOne     * @param xmlTwo     * @return     */    private static boolean processingInstructionsEqual(XmlCursor xmlOne, XmlCursor xmlTwo)    {        boolean result = false;        if (xmlOne.isProcinst() && xmlTwo.isProcinst())        {            if (qnamesEqual(xmlOne.getName(), xmlTwo.getName()))            {                if (xmlOne.getTextValue().equals(xmlTwo.getTextValue()))                {                    result = true;                }            }        }        return result;    }    /**     *     * @param qnameOne     * @param qnameTwo     * @return     */    private static boolean qnamesEqual(javax.xml.namespace.QName qnameOne, javax.xml.namespace.QName qnameTwo)    {        boolean result = false;        if (qnameOne.getNamespaceURI().equals(qnameTwo.getNamespaceURI()))        {            if (qnameOne.getLocalPart().equals(qnameTwo.getLocalPart()))            {                return true;            }        }        return result;    }    /**     * filter out empty textNodes here     *     * @param xml     */    private static void nextToken(XmlCursor xml)    {        do        {            xml.toNextToken();            if (!xml.isText())            {                // Not a text node                break;            }            else if (xml.getChars().trim().length() > 0)            {                // Text node is not empty                break;            }        }        while (true);    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩专区一卡二卡| 亚洲精品在线观看网站| 国产精品久久久一本精品 | 99久久精品情趣| 国产精品全国免费观看高清 | 丝袜脚交一区二区| 欧美午夜在线观看| 国产欧美日韩精品一区| 麻豆91在线观看| 日韩精品最新网址| 久久电影国产免费久久电影 | 美女视频一区二区| 日韩欧美中文一区| 日本一区中文字幕| 精品不卡在线视频| 国产精品乡下勾搭老头1| 日韩一区二区免费在线电影| 蜜臀av一区二区| 久久―日本道色综合久久| 国产精品一二三| 国产精品青草久久| 91色.com| 日韩综合一区二区| 久久精品人人做| 91浏览器打开| 久久99国产精品尤物| 国产肉丝袜一区二区| 9人人澡人人爽人人精品| 国产精品美女久久久久久久久| eeuss鲁片一区二区三区在线看| 综合激情网...| 欧美一区二区在线看| 国产精品一区二区果冻传媒| 最新成人av在线| 日韩免费性生活视频播放| 国产成人av一区二区三区在线 | 欧美视频三区在线播放| 国产电影一区二区三区| 亚洲成av人在线观看| 久久免费的精品国产v∧| 99国产一区二区三精品乱码| 日本系列欧美系列| 亚洲人快播电影网| 久久精品一区蜜桃臀影院| 欧美日韩免费一区二区三区视频| 国产麻豆午夜三级精品| 亚洲成av人片观看| 综合色天天鬼久久鬼色| 日韩欧美一级在线播放| 日本高清视频一区二区| 成人av在线一区二区三区| 另类小说欧美激情| 午夜国产精品一区| 亚洲国产精品一区二区久久恐怖片| 国产日产欧美精品一区二区三区| 欧美日韩亚洲综合一区| 91免费版pro下载短视频| 成人一区二区三区| 国产一区二区精品久久91| 日韩黄色小视频| 亚洲国产成人高清精品| 亚洲综合视频在线观看| 亚洲色图欧美在线| 中文字幕一区二区三区乱码在线| 亚洲精品在线电影| 欧美r级电影在线观看| 日韩一级免费观看| 制服丝袜av成人在线看| 欧美日韩成人高清| 欧美福利视频一区| 欧美精品日日鲁夜夜添| 日韩午夜在线观看视频| 欧美v亚洲v综合ⅴ国产v| 久久久99精品久久| 亚洲欧洲制服丝袜| 亚洲成人综合视频| 精品一区二区三区在线播放| 国产一区在线观看视频| 国产盗摄一区二区三区| 成人看片黄a免费看在线| 99综合影院在线| 精品视频一区 二区 三区| 91精品国产美女浴室洗澡无遮挡| 欧美一区二区三区爱爱| 欧美精品一区二区三区一线天视频| 26uuu欧美| 国产精品成人在线观看| 亚洲一区二区视频在线观看| 视频一区视频二区在线观看| 国产精品亚洲一区二区三区在线| 99久久综合色| 日韩亚洲欧美中文三级| 欧美国产欧美综合| 亚洲国产一区视频| 国产成人免费视频一区| 欧美中文字幕一区二区三区| 精品国产成人系列| 夜夜嗨av一区二区三区网页| 久久精品国产精品亚洲红杏| 99国产欧美另类久久久精品| 欧美一区二区日韩一区二区| 亚洲欧洲国产日韩| 极品尤物av久久免费看| 欧美视频一区在线| 久久婷婷一区二区三区| 亚洲第一久久影院| 成人毛片老司机大片| 久久一夜天堂av一区二区三区| 亚洲永久精品国产| 福利电影一区二区| 91精品视频网| 亚洲大型综合色站| 91在线看国产| 日本一区二区三区在线观看| 精品一区二区三区蜜桃| 在线成人免费视频| 亚洲综合激情另类小说区| 色婷婷亚洲综合| 亚洲欧洲精品一区二区三区不卡| 国产麻豆成人精品| 亚洲精品一区二区三区99 | 91丨九色丨尤物| 中文乱码免费一区二区| 国产精品一二三| 久久人人爽人人爽| 国产福利一区二区三区视频在线| 久久亚洲二区三区| 国产成人啪免费观看软件| 久久久久久99久久久精品网站| 蜜桃av一区二区三区| 欧美va日韩va| 国产高清在线观看免费不卡| 精品99999| 成人手机在线视频| 亚洲欧美偷拍卡通变态| 欧美熟乱第一页| 日韩不卡手机在线v区| 精品国产露脸精彩对白| 成人午夜精品一区二区三区| 亚洲人亚洲人成电影网站色| 欧美特级限制片免费在线观看| 五月天亚洲婷婷| 久久综合色综合88| 97精品久久久久中文字幕| 亚洲国产成人91porn| 精品久久国产字幕高潮| 亚洲免费观看在线视频| 欧洲精品视频在线观看| 午夜精品久久久久久久久| 欧美一区二区在线免费播放| 国产寡妇亲子伦一区二区| 亚洲欧美自拍偷拍| 制服丝袜激情欧洲亚洲| 黄页视频在线91| 中文字幕人成不卡一区| 日本精品一区二区三区高清| 一区二区三区精品在线观看| 日韩一区二区在线观看视频 | 国产一区二区三区久久悠悠色av| 精品久久久久香蕉网| 91丨九色丨国产丨porny| 香蕉成人啪国产精品视频综合网| 久久先锋影音av鲁色资源| 99免费精品视频| 麻豆视频一区二区| 亚洲精选视频在线| 午夜精品福利视频网站| 国产欧美精品在线观看| 欧美在线看片a免费观看| 国内精品免费**视频| 亚洲国产精品嫩草影院| 国产欧美1区2区3区| 欧美三电影在线| 成人激情免费网站| 韩日精品视频一区| 亚洲在线观看免费| 日本一区二区动态图| 91精品国产色综合久久不卡蜜臀| av中文字幕一区| 国产精品亚洲а∨天堂免在线| 日韩国产在线观看一区| 夜夜嗨av一区二区三区中文字幕 | 国产亚洲综合av| 一本大道久久精品懂色aⅴ| 成人爽a毛片一区二区免费| 精品亚洲成a人在线观看| 日本伊人色综合网| 午夜精品久久久久久久久久久| 久久久久久久久久电影| 日韩精品一区二区在线观看| 欧美一区二区三区四区久久 | 另类小说欧美激情| 亚洲第一福利视频在线| 亚洲国产精品久久久男人的天堂| 亚洲免费观看高清完整版在线| 中文字幕不卡的av| 亚洲日本在线天堂| 国产精品电影一区二区| 中文字幕在线一区| 亚洲免费看黄网站|