smarttransformerfactoryimpl.java
来自「JAVA的一些源码 JAVA2 STANDARD EDITION DEVELO」· Java 代码 · 共 481 行 · 第 1/2 页
JAVA
481 行
// All supported features should be listed here String[] features = { DOMSource.FEATURE, DOMResult.FEATURE, SAXSource.FEATURE, SAXResult.FEATURE, StreamSource.FEATURE, StreamResult.FEATURE }; // Inefficient, but it really does not matter in a function like this for (int i=0; i<features.length; i++) { if (name.equals(features[i])) return true; } // secure processing? if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) { return featureSecureProcessing; } // Feature not supported return false; } public URIResolver getURIResolver() { return _uriresolver; } public void setURIResolver(URIResolver resolver) { _uriresolver = resolver; } public Source getAssociatedStylesheet(Source source, String media, String title, String charset) throws TransformerConfigurationException { if (_currFactory == null) { createXSLTCTransformerFactory(); } return _currFactory.getAssociatedStylesheet(source, media, title, charset); } /** * Create a Transformer object that copies the input document to the * result. Uses the com.sun.org.apache.xalan.internal.processor.TransformerFactory. * @return A Transformer object. */ public Transformer newTransformer() throws TransformerConfigurationException { if (_xalanFactory == null) { createXalanTransformerFactory(); } if (_errorlistener != null) { _xalanFactory.setErrorListener(_errorlistener); } if (_uriresolver != null) { _xalanFactory.setURIResolver(_uriresolver); } _currFactory = _xalanFactory; return _currFactory.newTransformer(); } /** * Create a Transformer object that from the input stylesheet * Uses the com.sun.org.apache.xalan.internal.processor.TransformerFactory. * @param source the stylesheet. * @return A Transformer object. */ public Transformer newTransformer(Source source) throws TransformerConfigurationException { if (_xalanFactory == null) { createXalanTransformerFactory(); } if (_errorlistener != null) { _xalanFactory.setErrorListener(_errorlistener); } if (_uriresolver != null) { _xalanFactory.setURIResolver(_uriresolver); } _currFactory = _xalanFactory; return _currFactory.newTransformer(source); } /** * Create a Templates object that from the input stylesheet * Uses the com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactory. * @param source the stylesheet. * @return A Templates object. */ public Templates newTemplates(Source source) throws TransformerConfigurationException { if (_xsltcFactory == null) { createXSLTCTransformerFactory(); } if (_errorlistener != null) { _xsltcFactory.setErrorListener(_errorlistener); } if (_uriresolver != null) { _xsltcFactory.setURIResolver(_uriresolver); } _currFactory = _xsltcFactory; return _currFactory.newTemplates(source); } /** * Get a TemplatesHandler object that can process SAX ContentHandler * events into a Templates object. Uses the * com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactory. */ public TemplatesHandler newTemplatesHandler() throws TransformerConfigurationException { if (_xsltcFactory == null) { createXSLTCTransformerFactory(); } if (_errorlistener != null) { _xsltcFactory.setErrorListener(_errorlistener); } if (_uriresolver != null) { _xsltcFactory.setURIResolver(_uriresolver); } return _xsltcFactory.newTemplatesHandler(); } /** * Get a TransformerHandler object that can process SAX ContentHandler * events based on a copy transformer. * Uses com.sun.org.apache.xalan.internal.processor.TransformerFactory. */ public TransformerHandler newTransformerHandler() throws TransformerConfigurationException { if (_xalanFactory == null) { createXalanTransformerFactory(); } if (_errorlistener != null) { _xalanFactory.setErrorListener(_errorlistener); } if (_uriresolver != null) { _xalanFactory.setURIResolver(_uriresolver); } return _xalanFactory.newTransformerHandler(); } /** * Get a TransformerHandler object that can process SAX ContentHandler * events based on a transformer specified by the stylesheet Source. * Uses com.sun.org.apache.xalan.internal.processor.TransformerFactory. */ public TransformerHandler newTransformerHandler(Source src) throws TransformerConfigurationException { if (_xalanFactory == null) { createXalanTransformerFactory(); } if (_errorlistener != null) { _xalanFactory.setErrorListener(_errorlistener); } if (_uriresolver != null) { _xalanFactory.setURIResolver(_uriresolver); } return _xalanFactory.newTransformerHandler(src); } /** * Get a TransformerHandler object that can process SAX ContentHandler * events based on a transformer specified by the stylesheet Source. * Uses com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactory. */ public TransformerHandler newTransformerHandler(Templates templates) throws TransformerConfigurationException { if (_xsltcFactory == null) { createXSLTCTransformerFactory(); } if (_errorlistener != null) { _xsltcFactory.setErrorListener(_errorlistener); } if (_uriresolver != null) { _xsltcFactory.setURIResolver(_uriresolver); } return _xsltcFactory.newTransformerHandler(templates); } /** * Create an XMLFilter that uses the given source as the * transformation instructions. Uses * com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactory. */ public XMLFilter newXMLFilter(Source src) throws TransformerConfigurationException { if (_xsltcFactory == null) { createXSLTCTransformerFactory(); } if (_errorlistener != null) { _xsltcFactory.setErrorListener(_errorlistener); } if (_uriresolver != null) { _xsltcFactory.setURIResolver(_uriresolver); } Templates templates = _xsltcFactory.newTemplates(src); if (templates == null ) return null; return newXMLFilter(templates); } /* * Create an XMLFilter that uses the given source as the * transformation instructions. Uses * com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactory. */ public XMLFilter newXMLFilter(Templates templates) throws TransformerConfigurationException { try { return new com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter(templates); } catch(TransformerConfigurationException e1) { if (_xsltcFactory == null) { createXSLTCTransformerFactory(); } ErrorListener errorListener = _xsltcFactory.getErrorListener(); if(errorListener != null) { try { errorListener.fatalError(e1); return null; } catch( TransformerException e2) { new TransformerConfigurationException(e2); } } throw e1; } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?