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

📄 saxoutputter.java

📁 openlogic-jdom-1.1-all-src-1.zip 可以用于操作xml文件
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    }    /**     * Returns whether attribute namespace declarations shall be reported as     * "xmlns" attributes.     *     * @return whether attribute namespace declarations shall be reported as     * "xmlns" attributes.     */    public boolean getReportNamespaceDeclarations() {        return declareNamespaces;    }    /**     * This will define whether attribute namespace declarations shall be     * reported as "xmlns" attributes.  This flag defaults to <code>false</code>     * and behaves as the "namespace-prefixes" SAX core feature.     *     * @param declareNamespaces whether attribute namespace declarations     * shall be reported as "xmlns" attributes.     */    public void setReportNamespaceDeclarations(boolean declareNamespaces) {        this.declareNamespaces = declareNamespaces;    }    /**     * Returns whether DTD events will be reported.     *     * @return whether DTD events will be reported     */    public boolean getReportDTDEvents() {        return reportDtdEvents;    }    /**     * This will define whether to report DTD events to SAX DeclHandlers     * and LexicalHandlers if these handlers are registered and the     * document to output includes a DocType declaration.     *     * @param reportDtdEvents whether to notify DTD events.     */    public void setReportDTDEvents(boolean reportDtdEvents) {        this.reportDtdEvents = reportDtdEvents;    }    /**     * This will set the state of a SAX feature.     * <p>     * All XMLReaders are required to support setting to true and to false.     * </p>     * <p>     * SAXOutputter currently supports the following SAX core features:     * <dl>     *  <dt><code>http://xml.org/sax/features/namespaces</code></dt>     *   <dd><strong>description:</strong> <code>true</code> indicates     *       namespace URIs and unprefixed local names for element and     *       attribute names will be available</dd>     *   <dd><strong>access:</strong> read/write, but always     *       <code>true</code>!</dd>     *  <dt><code>http://xml.org/sax/features/namespace-prefixes</code></dt>     *   <dd><strong>description:</strong> <code>true</code> indicates     *       XML 1.0 names (with prefixes) and attributes (including xmlns*     *       attributes) will be available</dd>     *   <dd><strong>access:</strong> read/write</dd>     *  <dt><code>http://xml.org/sax/features/validation</code></dt>     *   <dd><strong>description:</strong> controls whether SAXOutputter     *       is reporting DTD-related events; if <code>true</code>, the     *       DocType internal subset will be parsed to fire DTD events</dd>     *   <dd><strong>access:</strong> read/write, defaults to     *       <code>true</code></dd>     * </dl>     * </p>     *     * @param name  <code>String</code> the feature name, which is a     *              fully-qualified URI.     * @param value <code>boolean</code> the requested state of the     *              feature (true or false).     *     * @throws SAXNotRecognizedException when SAXOutputter does not     *         recognize the feature name.     * @throws SAXNotSupportedException  when SAXOutputter recognizes     *         the feature name but cannot set the requested value.     */    public void setFeature(String name, boolean value)                throws SAXNotRecognizedException, SAXNotSupportedException {        if (NS_PREFIXES_SAX_FEATURE.equals(name)) {            // Namespace prefix declarations.            this.setReportNamespaceDeclarations(value);        }        else {            if (NAMESPACES_SAX_FEATURE.equals(name)) {                if (value != true) {                    // Namespaces feature always supported by SAXOutputter.                    throw new SAXNotSupportedException(name);                }                // Else: true is OK!            }            else {                if (VALIDATION_SAX_FEATURE.equals(name)) {                    // Report DTD events.                    this.setReportDTDEvents(value);                }                else {                    // Not a supported feature.                    throw new SAXNotRecognizedException(name);                }            }        }    }    /**     * This will look up the value of a SAX feature.     *     * @param name <code>String</code> the feature name, which is a     *             fully-qualified URI.     * @return <code>boolean</code> the current state of the feature     *         (true or false).     *     * @throws SAXNotRecognizedException when SAXOutputter does not     *         recognize the feature name.     * @throws SAXNotSupportedException  when SAXOutputter recognizes     *         the feature name but determine its value at this time.     */    public boolean getFeature(String name)                throws SAXNotRecognizedException, SAXNotSupportedException {        if (NS_PREFIXES_SAX_FEATURE.equals(name)) {            // Namespace prefix declarations.            return (this.declareNamespaces);        }        else {            if (NAMESPACES_SAX_FEATURE.equals(name)) {                // Namespaces feature always supported by SAXOutputter.                return (true);            }            else {                if (VALIDATION_SAX_FEATURE.equals(name)) {                    // Report DTD events.                    return (this.reportDtdEvents);                }                else {                    // Not a supported feature.                    throw new SAXNotRecognizedException(name);                }            }        }    }    /**     * This will set the value of a SAX property.     * This method is also the standard mechanism for setting extended     * handlers.     * <p>     * SAXOutputter currently supports the following SAX properties:     * <dl>     *  <dt><code>http://xml.org/sax/properties/lexical-handler</code></dt>     *   <dd><strong>data type:</strong>     *       <code>org.xml.sax.ext.LexicalHandler</code></dd>     *   <dd><strong>description:</strong> An optional extension handler for     *       lexical events like comments.</dd>     *   <dd><strong>access:</strong> read/write</dd>     *  <dt><code>http://xml.org/sax/properties/declaration-handler</code></dt>     *   <dd><strong>data type:</strong>     *       <code>org.xml.sax.ext.DeclHandler</code></dd>     *   <dd><strong>description:</strong> An optional extension handler for     *       DTD-related events other than notations and unparsed entities.</dd>     *   <dd><strong>access:</strong> read/write</dd>     * </dl>     * </p>     *     * @param name  <code>String</code> the property name, which is a     *              fully-qualified URI.     * @param value <code>Object</code> the requested value for the property.     *     * @throws SAXNotRecognizedException when SAXOutputter does not recognize     *         the property name.     * @throws SAXNotSupportedException  when SAXOutputter recognizes the     *         property name but cannot set the requested value.     */    public void setProperty(String name, Object value)                throws SAXNotRecognizedException, SAXNotSupportedException {        if ((LEXICAL_HANDLER_SAX_PROPERTY.equals(name)) ||            (LEXICAL_HANDLER_ALT_PROPERTY.equals(name))) {            this.setLexicalHandler((LexicalHandler)value);        }        else {            if ((DECL_HANDLER_SAX_PROPERTY.equals(name)) ||                (DECL_HANDLER_ALT_PROPERTY.equals(name))) {                this.setDeclHandler((DeclHandler)value);            }            else {                throw new SAXNotRecognizedException(name);            }        }    }    /**     * This will look up the value of a SAX property.     *     * @param name <code>String</code> the property name, which is a     *             fully-qualified URI.     * @return <code>Object</code> the current value of the property.     *     * @throws SAXNotRecognizedException when SAXOutputter does not recognize     *         the property name.     * @throws SAXNotSupportedException  when SAXOutputter recognizes the     *         property name but cannot determine its value at this time.     */    public Object getProperty(String name)                throws SAXNotRecognizedException, SAXNotSupportedException {        if ((LEXICAL_HANDLER_SAX_PROPERTY.equals(name)) ||            (LEXICAL_HANDLER_ALT_PROPERTY.equals(name))) {            return this.getLexicalHandler();        }        else {            if ((DECL_HANDLER_SAX_PROPERTY.equals(name)) ||                (DECL_HANDLER_ALT_PROPERTY.equals(name))) {                return this.getDeclHandler();            }            else {                throw new SAXNotRecognizedException(name);            }        }    }    /**     * This will output the <code>JDOM Document</code>, firing off the     * SAX events that have been registered.     *     * @param document <code>JDOM Document</code> to output.     *     * @throws JDOMException if any error occurred.     */    public void output(Document document) throws JDOMException {        if (document == null) {            return;        }        // contentHandler.setDocumentLocator()        documentLocator(document);        // contentHandler.startDocument()        startDocument();        // Fire DTD events        if (this.reportDtdEvents) {           dtdEvents(document);        }        // Handle root element, as well as any root level        // processing instructions and comments        Iterator i = document.getContent().iterator();        while (i.hasNext()) {            Object obj = i.next();            // update locator            locator.setNode(obj);            if (obj instanceof Element) {                // process root element and its content                element(document.getRootElement(), new NamespaceStack());            }            else if (obj instanceof ProcessingInstruction) {                // contentHandler.processingInstruction()                processingInstruction((ProcessingInstruction) obj);            }            else if (obj instanceof Comment) {                // lexicalHandler.comment()                comment(((Comment) obj).getText());            }        }        // contentHandler.endDocument()        endDocument();    }    /**     * This will output a list of JDOM nodes as a document, firing     * off the SAX events that have been registered.     * <p>     * <strong>Warning</strong>: This method may output ill-formed XML     * documents if the list contains top-level objects that are not     * legal at the document level (e.g. Text or CDATA nodes, multiple     * Element nodes, etc.).  Thus, it should only be used to output     * document portions towards ContentHandlers capable of accepting     * such ill-formed documents (such as XSLT processors).</p>     *     * @param nodes <code>List</code> of JDOM nodes to output.     *     * @throws JDOMException if any error occurred.     *     * @see #output(org.jdom.Document)     */    public void output(List nodes) throws JDOMException {        if ((nodes == null) || (nodes.size() == 0)) {            return;        }        // contentHandler.setDocumentLocator()        documentLocator(null);        // contentHandler.startDocument()        startDocument();        // Process node list.        elementContent(nodes, new NamespaceStack());        // contentHandler.endDocument()        endDocument();    }    /**     * This will output a single JDOM element as a document, firing     * off the SAX events that have been registered.     *     * @param node the <code>Element</code> node to output.     *     * @throws JDOMException if any error occurred.     */    public void output(Element node) throws JDOMException {        if (node == null) {            return;        }        // contentHandler.setDocumentLocator()        documentLocator(null);        // contentHandler.startDocument()        startDocument();        // Output node.        elementContent(node, new NamespaceStack());        // contentHandler.endDocument()        endDocument();    }    /**     * This will output a list of JDOM nodes as a fragment of an XML     * document, firing off the SAX events that have been registered.     * <p>     * <strong>Warning</strong>: This method does not call the     * {@link ContentHandler#setDocumentLocator},     * {@link ContentHandler#startDocument} and     * {@link ContentHandler#endDocument} callbacks on the     * {@link #setContentHandler ContentHandler}.  The user shall     * invoke these methods directly prior/after outputting the     * document fragments.</p>     *     * @param nodes <code>List</code> of JDOM nodes to output.     *     * @throws JDOMException if any error occurred.     *     * @see #outputFragment(org.jdom.Content)     */    public void outputFragment(List nodes) throws JDOMException {        if ((nodes == null) || (nodes.size() == 0)) {            return;        }

⌨️ 快捷键说明

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