⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringvaluehandler.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Id: StringValueHandler.java,v 1.2.4.1 2005/09/06 11:33:25 pvedula Exp $ */package com.sun.org.apache.xalan.internal.xsltc.runtime;import org.xml.sax.SAXException;import com.sun.org.apache.xml.internal.serializer.EmptySerializer;/** * @author Jacek Ambroziak * @author Santiago Pericas-Geertsen * @author Morten Jorgensen */public final class StringValueHandler extends EmptySerializer {    private StringBuffer _buffer = new StringBuffer();    private String _str = null;    private static final String EMPTY_STR = "";    private boolean m_escaping = false;    private int _nestedLevel = 0;	    public void characters(char[] ch, int off, int len) 	throws SAXException     {	if (_nestedLevel > 0)	    return;		if (_str != null) {	    _buffer.append(_str);	    _str = null;	}	_buffer.append(ch, off, len);    }    public String getValue() {	if (_buffer.length() != 0) {	    String result = _buffer.toString();	    _buffer.setLength(0);	    return result;	}	else {	    String result = _str;	    _str = null;	    return (result != null) ? result : EMPTY_STR;	}    }    public void characters(String characters) throws SAXException {	if (_nestedLevel > 0)	    return;	if (_str == null && _buffer.length() == 0) {	    _str = characters;	}	else {	    if (_str != null) {	        _buffer.append(_str);	        _str = null;	    }	    	    _buffer.append(characters);	}    }        public void startElement(String qname) throws SAXException {        _nestedLevel++;    }    public void endElement(String qname) throws SAXException {        _nestedLevel--;    }    // Override the setEscaping method just to indicate that this class is    // aware that that method might be called.    public boolean setEscaping(boolean bool) {        boolean oldEscaping = m_escaping;        m_escaping = bool;        return bool;    }    /**     * The value of a PI must not contain the substring "?>". Should     * that substring be present, replace it by "? >".      */    public String getValueOfPI() {	final String value = getValue();	if (value.indexOf("?>") > 0) {	    final int n = value.length(); 	    final StringBuffer valueOfPI = new StringBuffer();	    for (int i = 0; i < n;) {		final char ch = value.charAt(i++);		if (ch == '?' && value.charAt(i) == '>') {		    valueOfPI.append("? >"); i++;		}		else {		    valueOfPI.append(ch);		}	    } 	    return valueOfPI.toString();	}	return value;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -