/*
 * This code is generated by blanco Framework.
 * BlancoResourceBundleXmlHandler具象化SAXクラス<br>
 */
package blanco.resourcebundle.concretesax;

import java.io.CharArrayWriter;
import java.util.Stack;

import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;

/**
 * BlancoResourceBundleXmlHandler具象化SAXクラス<br>
 * このクラスは解析用XMLファイルを入力として具象化SAXクラスとして生成されました。<br>
 * このソースコードはblancoIgにより機械的に自動生成されています。<br>
 * 典型的な利用方法は下記のようになります。<br>
 * 
 * <pre>
 * TransformerFactory tf = TransformerFactory.newInstance();
 * Transformer transformer = tf.newTransformer();
 * transformer.transform(new StreamSource(inStream), new SAXResult(
 *         new BlancoResourceBundleXmlHandler())); // 実際には実装クラスのHandlerを与えます。
 * </pre>
 */
public abstract class BlancoResourceBundleXmlHandler implements ContentHandler {
    /**
     * エレメントのlocalNameのスタックです<br>
     * XMLの階層構造のうちlocalNameを記憶します。
     */
    private Stack fElementLocalNameStack = new Stack();

    /**
     * エレメントのURIのスタックです<br>
     * XMLの階層構造のうちURIを記憶します。
     */
    private Stack fElementUriStack = new Stack();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterWorkbook = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterSheet = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterBlancoresourcebundleCommon = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterBaseName = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterLocale = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterPackageName = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterSuffix = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterDescription = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterBlancoresourcebundleResourceList = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterResource = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterNo = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterResourceKey = new CharArrayWriter();

    /**
     * charactersに渡すためのキャッシュです<br>
     * 文字列データを蓄積します。
     */
    private CharArrayWriter fWriterResourceString = new CharArrayWriter();

    /**
     * startElementが接頭辞付きの修飾名[workbook]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementWorkbook(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[workbook]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementWorkbook(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[workbook]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersWorkbook(final char[] ch, final int start,
            final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[workbook]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceWorkbook(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[sheet]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     * @param attrName
     *            アトリビュート[name]の値が渡されます。
     */
    public abstract void startElementSheet(final String uri,
            final String localName, final String qName, final String attrName)
            throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[sheet]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementSheet(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[sheet]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersSheet(final char[] ch, final int start,
            final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[sheet]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceSheet(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[blancoresourcebundle-common]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementBlancoresourcebundleCommon(
            final String uri, final String localName, final String qName)
            throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[blancoresourcebundle-common]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementBlancoresourcebundleCommon(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[blancoresourcebundle-common]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersBlancoresourcebundleCommon(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[blancoresourcebundle-common]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceBlancoresourcebundleCommon(
            final char[] ch, final int start, final int length)
            throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[baseName]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementBaseName(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[baseName]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementBaseName(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[baseName]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersBaseName(final char[] ch, final int start,
            final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[baseName]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceBaseName(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[locale]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementLocale(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[locale]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementLocale(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[locale]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersLocale(final char[] ch, final int start,
            final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[locale]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceLocale(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[packageName]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementPackageName(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[packageName]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementPackageName(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[packageName]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersPackageName(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[packageName]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespacePackageName(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[suffix]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementSuffix(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[suffix]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementSuffix(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[suffix]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersSuffix(final char[] ch, final int start,
            final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[suffix]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceSuffix(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[description]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementDescription(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[description]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementDescription(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[description]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersDescription(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[description]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceDescription(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[blancoresourcebundle-resourceList]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementBlancoresourcebundleResourceList(
            final String uri, final String localName, final String qName)
            throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[blancoresourcebundle-resourceList]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementBlancoresourcebundleResourceList(
            final String uri, final String localName, final String qName)
            throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[blancoresourcebundle-resourceList]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersBlancoresourcebundleResourceList(
            final char[] ch, final int start, final int length)
            throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[blancoresourcebundle-resourceList]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceBlancoresourcebundleResourceList(
            final char[] ch, final int start, final int length)
            throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[resource]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementResource(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[resource]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementResource(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[resource]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersResource(final char[] ch, final int start,
            final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[resource]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceResource(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[no]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementNo(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[no]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementNo(final String uri, final String localName,
            final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[no]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersNo(final char[] ch, final int start,
            final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[no]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceNo(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[resourceKey]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void startElementResourceKey(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[resourceKey]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementResourceKey(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[resourceKey]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersResourceKey(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[resourceKey]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceResourceKey(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * startElementが接頭辞付きの修飾名[resourceString]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     * @param attrLocale
     *            アトリビュート[locale]の値が渡されます。
     */
    public abstract void startElementResourceString(final String uri,
            final String localName, final String qName, final String attrLocale)
            throws SAXException;

    /**
     * endElementが接頭辞付きの修飾名[resourceString]で呼び出されました。<br>
     * ※接頭辞付きの修飾名はメソッド名に含まれるものと同等のものが与えられます。
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public abstract void endElementResourceString(final String uri,
            final String localName, final String qName) throws SAXException;

    /**
     * charactersが接頭辞付きの修飾名[resourceString]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void charactersResourceString(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * ignorableWhitespaceが接頭辞付きの修飾名[resourceString]で呼び出されました。<br>
     * もとのcharactersメソッドを集約した上でメソッドが呼び出されます。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public abstract void ignorableWhitespaceResourceString(final char[] ch,
            final int start, final int length) throws SAXException;

    /**
     * オリジナルのstartElementが呼び出されたので、具象メソッドに呼びわけます
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     * @param atts
     *            アトリビュートのリスト
     */
    public final void startElement(final String uri, final String localName,
            final String qName, final Attributes atts) throws SAXException {
        if (fElementLocalNameStack.empty() == false) {
            final String previousElementLocalNameOnStack = (String) fElementLocalNameStack
                    .peek();
            final String previousElementUriOnStack = (String) fElementUriStack
                    .peek();
            if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("baseName")) {
                fWriterBaseName.flush();
                char[] wrk = fWriterBaseName.toCharArray();
                fWriterBaseName.reset();
                if (wrk.length > 0) {
                    charactersBaseName(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("packageName")) {
                fWriterPackageName.flush();
                char[] wrk = fWriterPackageName.toCharArray();
                fWriterPackageName.reset();
                if (wrk.length > 0) {
                    charactersPackageName(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("resource")) {
                fWriterResource.flush();
                char[] wrk = fWriterResource.toCharArray();
                fWriterResource.reset();
                if (wrk.length > 0) {
                    charactersResource(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack
                            .equals("blancoresourcebundle-resourceList")) {
                fWriterBlancoresourcebundleResourceList.flush();
                char[] wrk = fWriterBlancoresourcebundleResourceList
                        .toCharArray();
                fWriterBlancoresourcebundleResourceList.reset();
                if (wrk.length > 0) {
                    charactersBlancoresourcebundleResourceList(wrk, 0,
                            wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack
                            .equals("blancoresourcebundle-common")) {
                fWriterBlancoresourcebundleCommon.flush();
                char[] wrk = fWriterBlancoresourcebundleCommon.toCharArray();
                fWriterBlancoresourcebundleCommon.reset();
                if (wrk.length > 0) {
                    charactersBlancoresourcebundleCommon(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("resourceString")) {
                fWriterResourceString.flush();
                char[] wrk = fWriterResourceString.toCharArray();
                fWriterResourceString.reset();
                if (wrk.length > 0) {
                    charactersResourceString(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("sheet")) {
                fWriterSheet.flush();
                char[] wrk = fWriterSheet.toCharArray();
                fWriterSheet.reset();
                if (wrk.length > 0) {
                    charactersSheet(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("locale")) {
                fWriterLocale.flush();
                char[] wrk = fWriterLocale.toCharArray();
                fWriterLocale.reset();
                if (wrk.length > 0) {
                    charactersLocale(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("resourceKey")) {
                fWriterResourceKey.flush();
                char[] wrk = fWriterResourceKey.toCharArray();
                fWriterResourceKey.reset();
                if (wrk.length > 0) {
                    charactersResourceKey(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("description")) {
                fWriterDescription.flush();
                char[] wrk = fWriterDescription.toCharArray();
                fWriterDescription.reset();
                if (wrk.length > 0) {
                    charactersDescription(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("no")) {
                fWriterNo.flush();
                char[] wrk = fWriterNo.toCharArray();
                fWriterNo.reset();
                if (wrk.length > 0) {
                    charactersNo(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("suffix")) {
                fWriterSuffix.flush();
                char[] wrk = fWriterSuffix.toCharArray();
                fWriterSuffix.reset();
                if (wrk.length > 0) {
                    charactersSuffix(wrk, 0, wrk.length);
                }

            } else if (previousElementUriOnStack.equals("")
                    && previousElementLocalNameOnStack.equals("workbook")) {
                fWriterWorkbook.flush();
                char[] wrk = fWriterWorkbook.toCharArray();
                fWriterWorkbook.reset();
                if (wrk.length > 0) {
                    charactersWorkbook(wrk, 0, wrk.length);
                }

            }
        }
        fElementLocalNameStack.push(localName);
        fElementUriStack.push(uri);
        if (uri.equals("") && localName.equals("baseName")) {
            startElementBaseName(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("packageName")) {
            startElementPackageName(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("resource")) {
            startElementResource(uri, localName, qName);
        } else if (uri.equals("")
                && localName.equals("blancoresourcebundle-resourceList")) {
            startElementBlancoresourcebundleResourceList(uri, localName, qName);
        } else if (uri.equals("")
                && localName.equals("blancoresourcebundle-common")) {
            startElementBlancoresourcebundleCommon(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("resourceString")) {
            startElementResourceString(uri, localName, qName, atts.getValue("",
                    "locale"));
        } else if (uri.equals("") && localName.equals("sheet")) {
            startElementSheet(uri, localName, qName, atts.getValue("", "name"));
        } else if (uri.equals("") && localName.equals("locale")) {
            startElementLocale(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("resourceKey")) {
            startElementResourceKey(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("description")) {
            startElementDescription(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("no")) {
            startElementNo(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("suffix")) {
            startElementSuffix(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("workbook")) {
            startElementWorkbook(uri, localName, qName);
        } else {
            throw new SAXException("XML異常。startElement: 処理されないエレメント 名前空間URI["
                    + uri + "], ローカル名[" + localName + "]が検知されました.");
        }
    }

    /**
     * オリジナルのendElementが呼び出されたので、具象メソッドに呼びわけます
     * 
     * @param uri
     *            名前空間URI
     * @param localName
     *            ローカル名
     * @param qName
     *            接頭辞付きの修飾名
     */
    public final void endElement(final String uri, final String localName,
            final String qName) throws SAXException {
        final String currentElementLocalNameOnStack = (String) fElementLocalNameStack
                .peek();
        final String currentElementUriOnStack = (String) fElementUriStack
                .peek();
        if (currentElementLocalNameOnStack.equals(localName) == false) {
            throw new SAXException("XML異常。期待するエレメントのローカル名["
                    + currentElementLocalNameOnStack + "]と実際のローカル名["
                    + localName + "]とがずれています.");
        }
        if (currentElementUriOnStack.equals(uri) == false) {
            throw new SAXException("XML異常。期待するエレメントの名前空間URI["
                    + currentElementUriOnStack + "]と実際の名前空間URI[" + uri
                    + "]とがずれています.");
        }
        if (uri.equals("") && localName.equals("baseName")) {
            fWriterBaseName.flush();
            char[] wrk = fWriterBaseName.toCharArray();
            fWriterBaseName.reset();
            if (wrk.length > 0) {
                charactersBaseName(wrk, 0, wrk.length);
            }
            endElementBaseName(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("packageName")) {
            fWriterPackageName.flush();
            char[] wrk = fWriterPackageName.toCharArray();
            fWriterPackageName.reset();
            if (wrk.length > 0) {
                charactersPackageName(wrk, 0, wrk.length);
            }
            endElementPackageName(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("resource")) {
            fWriterResource.flush();
            char[] wrk = fWriterResource.toCharArray();
            fWriterResource.reset();
            if (wrk.length > 0) {
                charactersResource(wrk, 0, wrk.length);
            }
            endElementResource(uri, localName, qName);
        } else if (uri.equals("")
                && localName.equals("blancoresourcebundle-resourceList")) {
            fWriterBlancoresourcebundleResourceList.flush();
            char[] wrk = fWriterBlancoresourcebundleResourceList.toCharArray();
            fWriterBlancoresourcebundleResourceList.reset();
            if (wrk.length > 0) {
                charactersBlancoresourcebundleResourceList(wrk, 0, wrk.length);
            }
            endElementBlancoresourcebundleResourceList(uri, localName, qName);
        } else if (uri.equals("")
                && localName.equals("blancoresourcebundle-common")) {
            fWriterBlancoresourcebundleCommon.flush();
            char[] wrk = fWriterBlancoresourcebundleCommon.toCharArray();
            fWriterBlancoresourcebundleCommon.reset();
            if (wrk.length > 0) {
                charactersBlancoresourcebundleCommon(wrk, 0, wrk.length);
            }
            endElementBlancoresourcebundleCommon(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("resourceString")) {
            fWriterResourceString.flush();
            char[] wrk = fWriterResourceString.toCharArray();
            fWriterResourceString.reset();
            if (wrk.length > 0) {
                charactersResourceString(wrk, 0, wrk.length);
            }
            endElementResourceString(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("sheet")) {
            fWriterSheet.flush();
            char[] wrk = fWriterSheet.toCharArray();
            fWriterSheet.reset();
            if (wrk.length > 0) {
                charactersSheet(wrk, 0, wrk.length);
            }
            endElementSheet(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("locale")) {
            fWriterLocale.flush();
            char[] wrk = fWriterLocale.toCharArray();
            fWriterLocale.reset();
            if (wrk.length > 0) {
                charactersLocale(wrk, 0, wrk.length);
            }
            endElementLocale(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("resourceKey")) {
            fWriterResourceKey.flush();
            char[] wrk = fWriterResourceKey.toCharArray();
            fWriterResourceKey.reset();
            if (wrk.length > 0) {
                charactersResourceKey(wrk, 0, wrk.length);
            }
            endElementResourceKey(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("description")) {
            fWriterDescription.flush();
            char[] wrk = fWriterDescription.toCharArray();
            fWriterDescription.reset();
            if (wrk.length > 0) {
                charactersDescription(wrk, 0, wrk.length);
            }
            endElementDescription(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("no")) {
            fWriterNo.flush();
            char[] wrk = fWriterNo.toCharArray();
            fWriterNo.reset();
            if (wrk.length > 0) {
                charactersNo(wrk, 0, wrk.length);
            }
            endElementNo(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("suffix")) {
            fWriterSuffix.flush();
            char[] wrk = fWriterSuffix.toCharArray();
            fWriterSuffix.reset();
            if (wrk.length > 0) {
                charactersSuffix(wrk, 0, wrk.length);
            }
            endElementSuffix(uri, localName, qName);
        } else if (uri.equals("") && localName.equals("workbook")) {
            fWriterWorkbook.flush();
            char[] wrk = fWriterWorkbook.toCharArray();
            fWriterWorkbook.reset();
            if (wrk.length > 0) {
                charactersWorkbook(wrk, 0, wrk.length);
            }
            endElementWorkbook(uri, localName, qName);
        } else {
            throw new SAXException("XML異常。endElement: 処理されないエレメント 名前空間URI["
                    + uri + "], ローカル名[" + localName + "]が検知されました.");
        }
        // 最後にポップして階層をひとつ戻します。
        fElementLocalNameStack.pop();
        fElementUriStack.pop();
    }

    /**
     * オリジナルのcharactersが呼び出されたので、具象メソッドに呼びわけます 集約した上で呼びわけを行います。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public final void characters(final char[] ch, final int start,
            final int length) throws SAXException {
        final String currentElementLocalNameOnStack = (String) fElementLocalNameStack
                .peek();
        final String currentElementUriOnStack = (String) fElementUriStack
                .peek();
        if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("baseName")) {
            // charactersBaseName(ch, start, length);
            fWriterBaseName.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("packageName")) {
            // charactersPackageName(ch, start, length);
            fWriterPackageName.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("resource")) {
            // charactersResource(ch, start, length);
            fWriterResource.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack
                        .equals("blancoresourcebundle-resourceList")) {
            // charactersBlancoresourcebundleResourceList(ch, start, length);
            fWriterBlancoresourcebundleResourceList.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack
                        .equals("blancoresourcebundle-common")) {
            // charactersBlancoresourcebundleCommon(ch, start, length);
            fWriterBlancoresourcebundleCommon.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("resourceString")) {
            // charactersResourceString(ch, start, length);
            fWriterResourceString.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("sheet")) {
            // charactersSheet(ch, start, length);
            fWriterSheet.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("locale")) {
            // charactersLocale(ch, start, length);
            fWriterLocale.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("resourceKey")) {
            // charactersResourceKey(ch, start, length);
            fWriterResourceKey.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("description")) {
            // charactersDescription(ch, start, length);
            fWriterDescription.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("no")) {
            // charactersNo(ch, start, length);
            fWriterNo.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("suffix")) {
            // charactersSuffix(ch, start, length);
            fWriterSuffix.write(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("workbook")) {
            // charactersWorkbook(ch, start, length);
            fWriterWorkbook.write(ch, start, length);
        }
    }

    /**
     * オリジナルのignorableWhitespaceが呼び出されたので、具象メソッドに呼びわけます 集約した上で呼びわけを行います。
     * 
     * @param ch
     *            XML文書の文字
     * @param start
     *            配列内の開始位置
     * @param length
     *            配列から読み取る文字数
     */
    public final void ignorableWhitespace(final char[] ch, final int start,
            final int length) throws SAXException {
        final String currentElementLocalNameOnStack = (String) fElementLocalNameStack
                .peek();
        final String currentElementUriOnStack = (String) fElementUriStack
                .peek();
        if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("baseName")) {
            ignorableWhitespaceBaseName(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("packageName")) {
            ignorableWhitespacePackageName(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("resource")) {
            ignorableWhitespaceResource(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack
                        .equals("blancoresourcebundle-resourceList")) {
            ignorableWhitespaceBlancoresourcebundleResourceList(ch, start,
                    length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack
                        .equals("blancoresourcebundle-common")) {
            ignorableWhitespaceBlancoresourcebundleCommon(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("resourceString")) {
            ignorableWhitespaceResourceString(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("sheet")) {
            ignorableWhitespaceSheet(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("locale")) {
            ignorableWhitespaceLocale(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("resourceKey")) {
            ignorableWhitespaceResourceKey(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("description")) {
            ignorableWhitespaceDescription(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("no")) {
            ignorableWhitespaceNo(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("suffix")) {
            ignorableWhitespaceSuffix(ch, start, length);
        } else if (currentElementUriOnStack.equals("")
                && currentElementLocalNameOnStack.equals("workbook")) {
            ignorableWhitespaceWorkbook(ch, start, length);
        }
    }

    /** このメソッドを無視するためのメソッドです。 */
    public void setDocumentLocator(final Locator locator) {
    }

    public void startPrefixMapping(final String prefix, final String uri)
            throws SAXException {
    }

    public void endPrefixMapping(final String prefix) throws SAXException {
    }

    public void processingInstruction(final String target, final String data)
            throws SAXException {
    }

    public void skippedEntity(final String name) throws SAXException {
    }
}
