[284200] Somtimes an XIncludeParser configuratin is retrieved
diff --git a/bundles/org.eclipse.wst.xsl.core/.classpath b/bundles/org.eclipse.wst.xsl.core/.classpath
index 27e4bf7..39659ed 100644
--- a/bundles/org.eclipse.wst.xsl.core/.classpath
+++ b/bundles/org.eclipse.wst.xsl.core/.classpath
@@ -2,6 +2,11 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src_sse"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+ <accessrules>
+ <accessrule kind="accessible" pattern="*org/eclipse/wst/xsl/**"/>
+ </accessrules>
+ </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<accessrules>
<accessrule kind="accessible" pattern="org/apache/xerces/**"/>
@@ -10,10 +15,5 @@
<accessrule kind="accessible" pattern="org/apache/xpath/**"/>
</accessrules>
</classpathentry>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <accessrules>
- <accessrule kind="accessible" pattern="*org/eclipse/wst/xsl/**"/>
- </accessrules>
- </classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF
index 80dda1e..687b3f4 100644
--- a/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF
@@ -4,14 +4,14 @@
Bundle-SymbolicName: org.eclipse.wst.xsl.core;singleton:=true
Bundle-Version: 1.1.0.qualifier
Bundle-Activator: org.eclipse.wst.xsl.core.internal.XSLCorePlugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+Require-Bundle: org.apache.xalan;bundle-version="[2.7.1,2.8.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.wst.common.uriresolver;bundle-version="[1.1.301,2.0.0)",
org.eclipse.wst.xml.core;bundle-version="[1.1.300,2.0.0)",
org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
org.eclipse.wst.sse.core;bundle-version="[1.1.300,2.0.0)",
org.apache.ant;bundle-version="[1.7.0,2.0.0)";resolution:=optional,
org.eclipse.wst.validation;bundle-version="[1.1.103,2.0.0)",
- org.apache.xalan;bundle-version="[2.7.1,2.8.0)",
org.eclipse.wst.xml.xpath.core;bundle-version="[1.0.0,2.0.0)",
org.eclipse.osgi.util;bundle-version="[3.2.0,4.0.0)"
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/XSLCorePlugin.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/XSLCorePlugin.java
index d4109f8..ef42029 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/XSLCorePlugin.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/XSLCorePlugin.java
@@ -13,6 +13,7 @@
import javax.xml.parsers.SAXParserFactory;
+import org.apache.xerces.jaxp.SAXParserFactoryImpl;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
@@ -39,7 +40,7 @@
// The shared instance
private static XSLCorePlugin plugin;
- private ServiceTracker parserTracker = null;
+ private SAXParserFactoryImpl saxParserFactory = null;
private BundleContext bundleContext;
@@ -85,13 +86,15 @@
* @return returns a SAXParserFactory
*/
public SAXParserFactory getFactory() {
- if (parserTracker == null) {
- parserTracker = new ServiceTracker(bundleContext, SAXParserFactory.class.getName(), null);
- parserTracker.open();
+ if (saxParserFactory == null) {
+ saxParserFactory = new SAXParserFactoryImpl();
}
- SAXParserFactory theFactory = (SAXParserFactory) parserTracker.getService();
- if (theFactory != null)
+ SAXParserFactory theFactory = saxParserFactory;
+ if (theFactory != null) {
theFactory.setNamespaceAware(true);
+ theFactory.setXIncludeAware(false);
+ theFactory.setValidating(false);
+ }
return theFactory;
}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java
index 075eb44..99178e1 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java
@@ -16,6 +16,7 @@
import java.io.StringReader;
import javax.xml.parsers.*;
+import org.apache.xerces.jaxp.SAXParserImpl;
import org.eclipse.wst.xsl.core.XSLCore;
import org.eclipse.wst.xsl.core.internal.XSLCorePlugin;
import org.xml.sax.*;
@@ -72,9 +73,9 @@
* If the <code>XMLReader</code> does not support the lexical
* handler configuration option.
*/
- private final SAXParser createParser(SAXParserFactory parserFactory) throws ParserConfigurationException, SAXException, SAXNotRecognizedException, SAXNotSupportedException {
+ private final synchronized SAXParser createParser(SAXParserFactory parserFactory) throws ParserConfigurationException, SAXException, SAXNotRecognizedException, SAXNotSupportedException {
// Initialize the parser.
- final SAXParser parser = parserFactory.newSAXParser();
+ final SAXParserImpl parser = (SAXParserImpl)parserFactory.newSAXParser();
final XMLReader reader = parser.getXMLReader();
reader.setProperty("http://xml.org/sax/properties/lexical-handler", this); //$NON-NLS-1$