xml11configuration.java

来自「JAVA的一些源码 JAVA2 STANDARD EDITION DEVELO」· Java 代码 · 共 1,528 行 · 第 1/5 页

JAVA
1,528
字号
        //          Should this method still throw exceptions..?                fInputSource = inputSource;            } // setInputSource(XMLInputSource)        /**     * Set the locale to use for messages.     *     * @param locale The locale object to use for localization of messages.     *     * @exception XNIException Thrown if the parser does not support the     *                         specified locale.     */    public void setLocale(Locale locale) throws XNIException {        fLocale = locale;        fErrorReporter.setLocale(locale);    } // setLocale(Locale)    /**     * Sets the document handler on the last component in the pipeline     * to receive information about the document.     *     * @param documentHandler   The document handler.     */    public void setDocumentHandler(XMLDocumentHandler documentHandler) {        fDocumentHandler = documentHandler;        if (fLastComponent != null) {            fLastComponent.setDocumentHandler(fDocumentHandler);            if (fDocumentHandler !=null){                fDocumentHandler.setDocumentSource(fLastComponent);            }        }    } // setDocumentHandler(XMLDocumentHandler)        /** Returns the registered document handler. */    public XMLDocumentHandler getDocumentHandler() {        return fDocumentHandler;    } // getDocumentHandler():XMLDocumentHandler        /**     * Sets the DTD handler.     *     * @param dtdHandler The DTD handler.     */    public void setDTDHandler(XMLDTDHandler dtdHandler) {        fDTDHandler = dtdHandler;    } // setDTDHandler(XMLDTDHandler)        /** Returns the registered DTD handler. */    public XMLDTDHandler getDTDHandler() {        return fDTDHandler;    } // getDTDHandler():XMLDTDHandler        /**     * Sets the DTD content model handler.     *     * @param handler The DTD content model handler.     */    public void setDTDContentModelHandler(XMLDTDContentModelHandler handler) {        fDTDContentModelHandler = handler;    } // setDTDContentModelHandler(XMLDTDContentModelHandler)        /** Returns the registered DTD content model handler. */    public XMLDTDContentModelHandler getDTDContentModelHandler() {        return fDTDContentModelHandler;    } // getDTDContentModelHandler():XMLDTDContentModelHandler        /**     * Sets the resolver used to resolve external entities. The EntityResolver     * interface supports resolution of public and system identifiers.     *     * @param resolver The new entity resolver. Passing a null value will     *                 uninstall the currently installed resolver.     */    public void setEntityResolver(XMLEntityResolver resolver) {        fProperties.put(ENTITY_RESOLVER, resolver);    } // setEntityResolver(XMLEntityResolver)        /**     * Return the current entity resolver.     *     * @return The current entity resolver, or null if none     *         has been registered.     * @see #setEntityResolver     */    public XMLEntityResolver getEntityResolver() {        return (XMLEntityResolver)fProperties.get(ENTITY_RESOLVER);    } // getEntityResolver():XMLEntityResolver        /**     * Allow an application to register an error event handler.     *     * <p>If the application does not register an error handler, all     * error events reported by the SAX parser will be silently     * ignored; however, normal processing may not continue.  It is     * highly recommended that all SAX applications implement an     * error handler to avoid unexpected bugs.</p>     *     * <p>Applications may register a new or different handler in the     * middle of a parse, and the SAX parser must begin using the new     * handler immediately.</p>     *     * @param errorHandler The error handler.     * @exception java.lang.NullPointerException If the handler     *            argument is null.     * @see #getErrorHandler     */    public void setErrorHandler(XMLErrorHandler errorHandler) {        fProperties.put(ERROR_HANDLER, errorHandler);    } // setErrorHandler(XMLErrorHandler)        /**     * Return the current error handler.     *     * @return The current error handler, or null if none     *         has been registered.     * @see #setErrorHandler     */    public XMLErrorHandler getErrorHandler() {        // REVISIT: Should this be a property?        return (XMLErrorHandler)fProperties.get(ERROR_HANDLER);    } // getErrorHandler():XMLErrorHandler            /**     * If the application decides to terminate parsing before the xml document     * is fully parsed, the application should call this method to free any     * resource allocated during parsing. For example, close all opened streams.     */    public void cleanup() {        fEntityManager.closeReaders();    }        /**     * Parses the specified input source.     *     * @param source The input source.     *     * @exception XNIException Throws exception on XNI error.     * @exception java.io.IOException Throws exception on i/o error.     */    public void parse(XMLInputSource source) throws XNIException, IOException {                if (fParseInProgress) {            // REVISIT - need to add new error message            throw new XNIException("FWK005 parse may not be called while parsing.");        }        fParseInProgress = true;                try {            setInputSource(source);            parse(true);        } catch (XNIException ex) {            if (PRINT_EXCEPTION_STACK_TRACE)                ex.printStackTrace();            throw ex;        } catch (IOException ex) {            if (PRINT_EXCEPTION_STACK_TRACE)                ex.printStackTrace();            throw ex;        } catch (RuntimeException ex) {            if (PRINT_EXCEPTION_STACK_TRACE)                ex.printStackTrace();            throw ex;        } catch (Exception ex) {            if (PRINT_EXCEPTION_STACK_TRACE)                ex.printStackTrace();            throw new XNIException(ex);        } finally {            fParseInProgress = false;            // close all streams opened by xerces            this.cleanup();        }            } // parse(InputSource)        public boolean parse(boolean complete) throws XNIException, IOException {        //        // reset and configure pipeline and set InputSource.        if (fInputSource != null) {            try {                fValidationManager.reset();                fVersionDetector.reset(this);                resetCommon();                                short version = fVersionDetector.determineDocVersion(fInputSource);                if (version == Constants.XML_VERSION_1_1) {                    initXML11Components();                    configureXML11Pipeline();                    resetXML11();                } else {                    configurePipeline();                    reset();                }                                // mark configuration as fixed                fConfigUpdated = false;                                // resets and sets the pipeline.                fVersionDetector.startDocumentParsing((XMLEntityHandler) fCurrentScanner, version);                fInputSource = null;            } catch (XNIException ex) {                if (PRINT_EXCEPTION_STACK_TRACE)                    ex.printStackTrace();                throw ex;            } catch (IOException ex) {                if (PRINT_EXCEPTION_STACK_TRACE)                    ex.printStackTrace();                throw ex;            } catch (RuntimeException ex) {                if (PRINT_EXCEPTION_STACK_TRACE)                    ex.printStackTrace();                throw ex;            } catch (Exception ex) {                if (PRINT_EXCEPTION_STACK_TRACE)                    ex.printStackTrace();                throw new XNIException(ex);            }        }                try {            return fCurrentScanner.scanDocument(complete);        } catch (XNIException ex) {            if (PRINT_EXCEPTION_STACK_TRACE)                ex.printStackTrace();            throw ex;        } catch (IOException ex) {            if (PRINT_EXCEPTION_STACK_TRACE)                ex.printStackTrace();            throw ex;        } catch (RuntimeException ex) {            if (PRINT_EXCEPTION_STACK_TRACE)                ex.printStackTrace();            throw ex;        } catch (Exception ex) {            if (PRINT_EXCEPTION_STACK_TRACE)                ex.printStackTrace();            throw new XNIException(ex);        }            } // parse(boolean):boolean        /**     * Returns the state of a feature.     *     * @param featureId The feature identifier.     * @return true if the feature is supported     *     * @throws XMLConfigurationException Thrown for configuration error.     *                                   In general, components should     *                                   only throw this exception if     *                                   it is <strong>really</strong>     *                                   a critical error.     */    public boolean getFeature(String featureId)    throws XMLConfigurationException {        // make this feature special        if (featureId.equals(PARSER_SETTINGS)){            return fConfigUpdated;        }        return super.getFeature(featureId);            } // getFeature(String):boolean        /**     * Set the state of a feature.     *     * Set the state of any feature in a SAX2 parser.  The parser     * might not recognize the feature, and if it does recognize     * it, it might not be able to fulfill the request.     *     * @param featureId The unique identifier (URI) of the feature.     * @param state The requested state of the feature (true or false).     *     * @exception com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException If the     *            requested feature is not known.     */    public void setFeature(String featureId, boolean state)    throws XMLConfigurationException {        fConfigUpdated = true;        // forward to every XML 1.0 component        int count = fComponents.size();        for (int i = 0; i < count; i++) {            XMLComponent c = (XMLComponent) fComponents.get(i);            c.setFeature(featureId, state);        }        // forward it to common components        count = fCommonComponents.size();        for (int i = 0; i < count; i++) {            XMLComponent c = (XMLComponent) fCommonComponents.get(i);            c.setFeature(featureId, state);        }                // forward to every XML 1.1 component        count = fXML11Components.size();        for (int i = 0; i < count; i++) {            XMLComponent c = (XMLComponent) fXML11Components.get(i);            try{                c.setFeature(featureId, state);            }            catch (Exception e){                // no op            }        }        // save state if noone "objects"        super.setFeature(featureId, state);

⌨️ 快捷键说明

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