aboutsummaryrefslogtreecommitdiff
path: root/src/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java')
-rw-r--r--src/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java46
1 files changed, 9 insertions, 37 deletions
diff --git a/src/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java b/src/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java
index 172907e..b903305 100644
--- a/src/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java
+++ b/src/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java
@@ -1,6 +1,5 @@
/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
+ * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
*/
/*
* Copyright 2001-2004 The Apache Software Foundation.
@@ -26,11 +25,6 @@ package com.sun.org.apache.xalan.internal.xsltc.trax;
import java.io.IOException;
-import javax.xml.XMLConstants;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.ErrorListener;
import javax.xml.transform.Templates;
import javax.xml.transform.Transformer;
@@ -38,13 +32,13 @@ import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXResult;
import com.sun.org.apache.xml.internal.utils.XMLReaderManager;
+import jdk.xml.internal.JdkXmlUtils;
import org.xml.sax.ContentHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLFilterImpl;
-import org.xml.sax.helpers.XMLReaderFactory;
/**
* skeleton extension of XMLFilterImpl for now.
@@ -55,7 +49,7 @@ public class TrAXFilter extends XMLFilterImpl {
private Templates _templates;
private TransformerImpl _transformer;
private TransformerHandlerImpl _transformerHandler;
- private boolean _useServicesMechanism = true;
+ private boolean _overrideDefaultParser;
public TrAXFilter(Templates templates) throws
TransformerConfigurationException
@@ -63,7 +57,7 @@ public class TrAXFilter extends XMLFilterImpl {
_templates = templates;
_transformer = (TransformerImpl) templates.newTransformer();
_transformerHandler = new TransformerHandlerImpl(_transformer);
- _useServicesMechanism = _transformer.useServicesMechnism();
+ _overrideDefaultParser = _transformer.overrideDefaultParser();
}
public Transformer getTransformer() {
@@ -71,36 +65,14 @@ public class TrAXFilter extends XMLFilterImpl {
}
private void createParent() throws SAXException {
- XMLReader parent = null;
- try {
- SAXParserFactory pfactory = SAXParserFactory.newInstance();
- pfactory.setNamespaceAware(true);
-
- if (_transformer.isSecureProcessing()) {
- try {
- pfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- }
- catch (SAXException e) {}
- }
-
- SAXParser saxparser = pfactory.newSAXParser();
- parent = saxparser.getXMLReader();
- }
- catch (ParserConfigurationException e) {
- throw new SAXException(e);
- }
- catch (FactoryConfigurationError e) {
- throw new SAXException(e.toString());
- }
-
- if (parent == null) {
- parent = XMLReaderFactory.createXMLReader();
- }
+ XMLReader parent = JdkXmlUtils.getXMLReader(_overrideDefaultParser,
+ _transformer.isSecureProcessing());
// make this XMLReader the parent of this filter
setParent(parent);
}
+ @Override
public void parse (InputSource input) throws SAXException, IOException
{
XMLReader managedReader = null;
@@ -108,7 +80,7 @@ public class TrAXFilter extends XMLFilterImpl {
try {
if (getParent() == null) {
try {
- managedReader = XMLReaderManager.getInstance(_useServicesMechanism)
+ managedReader = XMLReaderManager.getInstance(_overrideDefaultParser)
.getXMLReader();
setParent(managedReader);
} catch (SAXException e) {
@@ -120,7 +92,7 @@ public class TrAXFilter extends XMLFilterImpl {
getParent().parse(input);
} finally {
if (managedReader != null) {
- XMLReaderManager.getInstance(_useServicesMechanism).releaseXMLReader(managedReader);
+ XMLReaderManager.getInstance(_overrideDefaultParser).releaseXMLReader(managedReader);
}
}
}