CVE-2023-4218 (Java, published 2023-11-09T09:15Z)
Description: value: In Eclipse IDE versions < 2023-09 (4.29) some files with xml content are parsed vulnerable against all sorts of XXE attacks. The user just needs to open any evil project or update an open project with a vulnerable file (for example for review a foreign repository or patch).

Severity: nan (CVSS v3 base score: 5)
Weakness: CWE-611 \u2014 Improper Restriction of XML External Entity Reference
The product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.
Repository: https://github.com/eclipse-cdt/cdt
Files changed:
build/org.eclipse.cdt.autotools.core/META-INF/MANIFEST.MF
build/org.eclipse.cdt.autotools.core/src/org/eclipse/cdt/internal/autotools/core/configure/AutotoolsConfigurationManager.java
build/org.eclipse.cdt.autotools.tests/META-INF/MANIFEST.MF
build/org.eclipse.cdt.autotools.tests/src/org/eclipse/cdt/autotools/tests/UpdateConfigureTest.java
build/org.eclipse.cdt.autotools.ui.tests/META-INF/MANIFEST.MF
build/org.eclipse.cdt.autotools.ui.tests/src/org/eclipse/cdt/autotools/ui/tests/SetConfigurationParameterTest.java
build/org.eclipse.cdt.autotools.ui/META-INF/MANIFEST.MF
build/org.eclipse.cdt.autotools.ui/src/org/eclipse/cdt/internal/autotools/ui/text/hover/AutoconfTextHover.java
build/org.eclipse.cdt.make.core/META-INF/MANIFEST.MF
build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/ProjectTargets.java
build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DiscoveredScannerInfoStore.java
build/org.eclipse.cdt.managedbuilder.core/META-INF/MANIFEST.MF
build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java
build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject20.java
core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/XMLDumper.java
core/org.eclipse.cdt.core/META-INF/MANIFEST.MF
core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/LanguageMappingStore.java
core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java
core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionStorageManager.java
core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/xml/XmlProjectDescriptionStorage.java
core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/xml/XmlStorageElement.java
core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/UserDefinedVariableSupplier.java
core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/SharedDefaults.java
core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateDescriptor.java
core/org.eclipse.cdt.core/utils/org/eclipse/cdt/internal/core/XmlProcessorFactoryCdt.java
core/org.eclipse.cdt.core/utils/org/eclipse/cdt/internal/core/XmlUtil.java
core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/StorableEnvironmentLoader.java
core/org.eclipse.cdt.ui.tests/META-INF/MANIFEST.MF
core/org.eclipse.cdt.ui.tests/pom.xml
core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/templateengine/TestSharedDefaults.java
core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CHelpProviderManager.java
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/help/CHelpProvider.java
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/formatter/ProfileStore.java
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/settingswizards/ProjectSettingsExportStrategy.java
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/settingswizards/ProjectSettingsImportStrategy.java
debug/org.eclipse.cdt.debug.core/META-INF/MANIFEST.MF
debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/CDebugUtils.java
debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/breakpointactions/BreakpointActionManager.java
debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CDirectorySourceLocation.java
debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CProjectSourceLocation.java
debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLocator.java
debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/SourceUtils.java
debug/org.eclipse.cdt.debug.ui/META-INF/MANIFEST.MF
debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/breakpointactions/ExternalToolAction.java
debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/breakpointactions/LogAction.java
debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/breakpointactions/ResumeAction.java
debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/breakpointactions/ReverseDebugAction.java
debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/breakpointactions/SoundAction.java
debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/breakpointactions/SoundActionPage.java
debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/sourcelookup/OldDefaultSourceLocator.java
dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/META-INF/MANIFEST.MF
dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/utils/MementoUtils.java
dsf-gdb/org.eclipse.cdt.dsf.gdb/META-INF/MANIFEST.MF
dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/internal/tracepointactions/CollectAction.java
dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/internal/tracepointactions/EvaluateAction.java
dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/internal/tracepointactions/TracepointActionManager.java
dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/internal/tracepointactions/WhileSteppingAction.java
testsrunner/org.eclipse.cdt.testsrunner.boost/META-INF/MANIFEST.MF
testsrunner/org.eclipse.cdt.testsrunner.boost/src/org/eclipse/cdt/testsrunner/internal/boost/BoostTestsRunnerProvider.java
testsrunner/org.eclipse.cdt.testsrunner.qttest/META-INF/MANIFEST.MF
testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerProvider.java
Commit message: Refactor XML file handling


Vulnerable code:
Bundle-Version: 2.2.0.qualifier
 org.eclipse.cdt.core;bundle-version="6.5.0",
import javax.xml.parsers.DocumentBuilderFactory;
				DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
				DocumentBuilder db = dbf.newDocumentBuilder();
				e.printStackTrace();
Bundle-Version: 2.1.0.qualifier
 org.eclipse.cdt.core,
import javax.xml.parsers.DocumentBuilderFactory;
			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
			DocumentBuilder db = dbf.newDocumentBuilder();
Bundle-Version: 1.1.0.qualifier
 org.eclipse.cdt.core
import javax.xml.parsers.DocumentBuilderFactory;
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
		DocumentBuilder db = dbf.newDocumentBuilder();
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
		DocumentBuilder db = dbf.newDocumentBuilder();
Bundle-Version: 2.2.100.qualifier
 org.eclipse.cdt.core;bundle-version="5.1.0",
					DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
					DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
Bundle-Version: 7.6.200.qualifier
Require-Bundle: org.eclipse.cdt.core;bundle-version="[8.0.0,9.0.0)",
import javax.xml.parsers.DocumentBuilderFactory;

			Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(input);
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
				DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
Require-Bundle: org.eclipse.cdt.core;bundle-version="[8.0.0,9.0.0)",
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
				Transformer transformer = TransformerFactory.newInstance().newTransformer();
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
				Transformer transformer = TransformerFactory.newInstance().newTransformer();
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
		//				DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
		document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
   org.eclipse.cdt.ui",
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
			Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
			Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(input);
			return TransformerFactory.newInstance().newTransformer();
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
			doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
							m.put(type.id, new LinkedList<CProjectDescriptionStorageTypeProxy>());
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
				DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
				Transformer transformer = TransformerFactory.newInstance().newTransformer();
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
		fListeners = Collections.synchronizedSet(new HashSet<ICdtVariableChangeListener>());
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
import javax.xml.parsers.DocumentBuilderFactory;
			document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
			document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
			document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
			d = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
		TransformerFactory transFactory = TransformerFactory.newInstance();
			d = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
		TransformerFactory transFactory = TransformerFactory.newInstance();
import javax.xml.parsers.DocumentBuilderFactory;
			this.document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(descriptorURL.openStream());
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
		DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
Bundle-Version: 5.5.300.qualifier
 org.eclipse.cdt.core,
	<version>5.5.300-SNAPSHOT</version>
import javax.xml.parsers.DocumentBuilderFactory;

		Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
Require-Bundle: org.eclipse.cdt.core;bundle-version="[8.0.0,9.0.0)",
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
				DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
			DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
		} catch (ParserConfigurationException e) {
		} catch (SAXException e) {
		} catch (IOException e) {
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.TransformerFactory;
			final SAXParserFactory factory = SAXParserFactory.newInstance();
			final SAXParser parser = factory.newSAXParser();
			final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			final DocumentBuilder builder = factory.newDocumentBuilder();
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
import javax.xml.transform.TransformerFactory;
		SAXTransformerFactory factory = (SAXTransformerFactory) TransformerFactory.newInstance();
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
Bundle-Version: 8.8.100.qualifier
Require-Bundle: org.eclipse.cdt.core;bundle-version="[8.0.0,9.0.0)",
		TransformerFactory factory = TransformerFactory.newInstance();
import javax.xml.parsers.DocumentBuilderFactory;
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
import javax.xml.parsers.DocumentBuilderFactory;
			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
				DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
 org.eclipse.cdt.core;bundle-version="[8.0.0,9.0.0)",
import javax.xml.parsers.DocumentBuilderFactory;
			DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
			DocumentBuilder docBuilder = null;
				docBuilder = dfactory.newDocumentBuilder();
				TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
			DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
			DocumentBuilder docBuilder = null;
				docBuilder = dfactory.newDocumentBuilder();
				TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
import javax.xml.parsers.DocumentBuilderFactory;
				document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Bundle-Version: 1.3.100.qualifier
 org.eclipse.cdt.core,
import javax.xml.parsers.DocumentBuilderFactory;
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
 org.eclipse.cdt.core,
import javax.xml.parsers.DocumentBuilderFactory;
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
import javax.xml.parsers.DocumentBuilderFactory;
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
import javax.xml.parsers.DocumentBuilderFactory;
		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder docBuilder = null;
			docBuilder = dfactory.newDocumentBuilder();
			TransformerFactory factory = TransformerFactory.newInstance();
			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Bundle-Version: 7.2.0.qualifier
 org.eclipse.cdt.testsrunner;bundle-version="3.5.0"
import javax.xml.parsers.SAXParserFactory;
			SAXParserFactory spf = SAXParserFactory.newInstance();
			SAXParser sp = spf.newSAXParser();
Bundle-Version: 7.2.0.qualifier
 org.eclipse.cdt.testsrunner;bundle-version="3.5.0"
import javax.xml.parsers.SAXParserFactory;
			SAXParserFactory spf = SAXParserFactory.newInstance();
			SAXParser sp = spf.newSAXParser();

Fixed code:
Bundle-Version: 2.2.100.qualifier
 org.eclipse.cdt.core;bundle-version="8.3.0",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
import org.eclipse.core.runtime.Platform;
				DocumentBuilder db = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
				Platform.getLog(AutotoolsConfigurationManager.class)
						.error("Error while parsing .autotools file in project", e); //$NON-NLS-1$
Bundle-Version: 2.1.100.qualifier
 org.eclipse.cdt.core;bundle-version="8.3.0",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder db = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
Bundle-Version: 1.1.100.qualifier
 org.eclipse.cdt.core;bundle-version="8.3.0"
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
		DocumentBuilder db = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
		DocumentBuilder db = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
Bundle-Version: 2.2.200.qualifier
 org.eclipse.cdt.core;bundle-version="8.3.0",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
					DocumentBuilderFactory factory = XmlProcessorFactoryCdt
							.createDocumentBuilderFactoryIgnoringDOCTYPE();
						AutotoolsPlugin.log(saxEx);
					DocumentBuilderFactory factory = XmlProcessorFactoryCdt
							.createDocumentBuilderFactoryIgnoringDOCTYPE();
Bundle-Version: 7.6.300.qualifier
Require-Bundle: org.eclipse.cdt.core;bundle-version="[8.3.0,9.0.0)",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			Document document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().parse(input);
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
				DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
Require-Bundle: org.eclipse.cdt.core;bundle-version="[8.3.0,9.0.0)",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
				Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
						.newTransformer();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
				Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE().newTransformer();
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
		//				DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
		document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
   org.eclipse.cdt.ui,
   org.eclipse.cdt.autotools.core,
   org.eclipse.cdt.autotools.tests,
   org.eclipse.cdt.autotools.ui,
   org.eclipse.cdt.autotools.ui.tests,
   org.eclipse.cdt.core.tests,
   org.eclipse.cdt.debug.ui,
   org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui,
   org.eclipse.cdt.testsrunner.boost,
   org.eclipse.cdt.testsrunner.qttest",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			Document doc = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
			Document document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().parse(input);
			return XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE().newTransformer();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
import org.xml.sax.SAXException;
			doc = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
							m.put(type.id, new LinkedList<>());
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
				DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
				Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
						.newTransformer();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
		fListeners = Collections.synchronizedSet(new HashSet<>());
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE()
			document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE()
			document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE()
			d = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
		TransformerFactory transFactory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			d = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
		TransformerFactory transFactory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			this.document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE()
					.parse(descriptorURL.openStream());
/*******************************************************************************
 *  Copyright (c) 2023 Joerg Kubitz and others.
 *
 *  This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License 2.0
 *  which accompanies this distribution, and is available at
 *  https://www.eclipse.org/legal/epl-2.0/
 *
 *  SPDX-License-Identifier: EPL-2.0
 *******************************************************************************/
package org.eclipse.cdt.internal.core;

import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.TransformerFactory;

import org.xml.sax.SAXException;
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;

/**
 * XML processing which prohibits external entities.
 *
 * Copied from https://github.com/eclipse-jdt/eclipse.jdt.debug/blob/1d59af8a6a37f9cf8143d73d94e4c1c3555363d6/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/XmlProcessorFactoryJdtDebug.java
 *
 * @see <a href="https://rules.sonarsource.com/java/RSPEC-2755/">RSPEC-2755</a>
 */
public class XmlProcessorFactoryCdt {
	private XmlProcessorFactoryCdt() {
		// static Utility only
	}

	private static final DocumentBuilderFactory DOCUMENT_BUILDER_FACTORY_ERROR_ON_DOCTYPE = createDocumentBuilderFactoryWithErrorOnDOCTYPE();
	private static final DocumentBuilderFactory DOCUMENT_BUILDER_FACTORY_IGNORING_DOCTYPE = createDocumentBuilderFactoryIgnoringDOCTYPE();
	private static final SAXParserFactory SAX_FACTORY_ERROR_ON_DOCTYPE = createSAXFactoryWithErrorOnDOCTYPE(false);
	private static final SAXParserFactory SAX_FACTORY_ERROR_ON_DOCTYPE_NS = createSAXFactoryWithErrorOnDOCTYPE(true);
	private static final SAXParserFactory SAX_FACTORY_IGNORING_DOCTYPE = createSAXFactoryIgnoringDOCTYPE();

	/**
	 * Creates TransformerFactory which throws TransformerException when detecting external entities.
	 *
	 * @return javax.xml.transform.TransformerFactory
	 */
	public static TransformerFactory createTransformerFactoryWithErrorOnDOCTYPE() {
		TransformerFactory factory = TransformerFactory.newInstance();
		// prohibit the use of all protocols by external entities:
		factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, ""); //$NON-NLS-1$
		factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, ""); //$NON-NLS-1$
		return factory;
	}

	/**
	 * Creates DocumentBuilderFactory which throws SAXParseException when detecting external entities. It's magnitudes faster to call
	 * {@link #createDocumentBuilderWithErrorOnDOCTYPE()}.
	 *
	 * @return javax.xml.parsers.DocumentBuilderFactory
	 */
	public static synchronized DocumentBuilderFactory createDocumentBuilderFactoryWithErrorOnDOCTYPE() {
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		// completely disable DOCTYPE declaration:
		try {
			factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); //$NON-NLS-1$
		} catch (ParserConfigurationException e) {
			throw new RuntimeException(e.getMessage(), e);
		}
		return factory;
	}

	/**
	 * Creates DocumentBuilderFactory which ignores external entities. It's magnitudes faster to call {@link #createDocumentBuilderIgnoringDOCTYPE()}.
	 *
	 * @return javax.xml.parsers.DocumentBuilderFactory
	 */
	public static synchronized DocumentBuilderFactory createDocumentBuilderFactoryIgnoringDOCTYPE() {
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		try {
			// completely disable external entities declarations:
			factory.setFeature("http://xml.org/sax/features/external-general-entities", false); //$NON-NLS-1$
			factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); //$NON-NLS-1$
		} catch (ParserConfigurationException e) {
			throw new RuntimeException(e.getMessage(), e);
		}
		return factory;
	}

	/**
	 * Creates DocumentBuilder which throws SAXParseException when detecting external entities. The builder is not thread safe.
	 *
	 * @return javax.xml.parsers.DocumentBuilder
	 * @throws ParserConfigurationException
	 */
	public static DocumentBuilder createDocumentBuilderWithErrorOnDOCTYPE() throws ParserConfigurationException {
		return DOCUMENT_BUILDER_FACTORY_ERROR_ON_DOCTYPE.newDocumentBuilder();
	}

	/**
	 * Creates DocumentBuilder which ignores external entities. The builder is not thread safe.
	 *
	 * @return javax.xml.parsers.DocumentBuilder
	 * @throws ParserConfigurationException
	 */
	public static DocumentBuilder createDocumentBuilderIgnoringDOCTYPE() throws ParserConfigurationException {
		return DOCUMENT_BUILDER_FACTORY_IGNORING_DOCTYPE.newDocumentBuilder();
	}

	/**
	 * Creates DocumentBuilderFactory which throws SAXParseException when detecting external entities.
	 *
	 * @return javax.xml.parsers.DocumentBuilderFactory
	 */
	public static SAXParserFactory createSAXFactoryWithErrorOnDOCTYPE() {
		SAXParserFactory f = SAXParserFactory.newInstance();
		try {
			// force org.xml.sax.SAXParseException for any DOCTYPE:
			f.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); //$NON-NLS-1$
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		return f;
	}

	private static synchronized SAXParserFactory createSAXFactoryWithErrorOnDOCTYPE(boolean awareness) {
		SAXParserFactory f = SAXParserFactory.newInstance();
		f.setNamespaceAware(awareness);
		try {
			// force org.xml.sax.SAXParseException for any DOCTYPE:
			f.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); //$NON-NLS-1$
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		return f;
	}

	private static synchronized SAXParserFactory createSAXFactoryIgnoringDOCTYPE() {
		SAXParserFactory f = SAXParserFactory.newInstance();
		try {
			// ignore DOCTYPE:
			f.setFeature("http://xml.org/sax/features/external-general-entities", false); //$NON-NLS-1$
			f.setFeature("http://xml.org/sax/features/external-parameter-entities", false); //$NON-NLS-1$
			f.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); //$NON-NLS-1$
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		return f;
	}

	/**
	 * Creates SAXParser which throws SAXParseException when detecting external entities.
	 *
	 * @return javax.xml.parsers.SAXParser
	 */

	public static SAXParser createSAXParserWithErrorOnDOCTYPE() throws ParserConfigurationException, SAXException {
		return createSAXParserWithErrorOnDOCTYPE(false);
	}

	/**
	 * Creates SAXParser which throws SAXParseException when detecting external entities.
	 *
	 * @param namespaceAware
	 *            parameter for SAXParserFactory
	 *
	 * @return javax.xml.parsers.SAXParser
	 */
	public static SAXParser createSAXParserWithErrorOnDOCTYPE(boolean namespaceAware)
			throws ParserConfigurationException, SAXException {
		if (namespaceAware) {
			return SAX_FACTORY_ERROR_ON_DOCTYPE_NS.newSAXParser();
		}
		return SAX_FACTORY_ERROR_ON_DOCTYPE.newSAXParser();
	}

	/**
	 * Creates SAXParser which does not throw Exception when detecting external entities but ignores them.
	 *
	 * @return javax.xml.parsers.SAXParser
	 */
	public static SAXParser createSAXParserIgnoringDOCTYPE()
			throws ParserConfigurationException, SAXNotRecognizedException, SAXNotSupportedException, SAXException {
		SAXParser parser = SAX_FACTORY_IGNORING_DOCTYPE.newSAXParser();
		parser.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, ""); //$NON-NLS-1$
		parser.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, ""); //$NON-NLS-1$
		return parser;
	}
}
		DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
Bundle-Version: 5.5.400.qualifier
 org.eclipse.cdt.core;bundle-version="8.3.0",
	<version>5.5.400-SNAPSHOT</version>
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
		Document document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE()
Require-Bundle: org.eclipse.cdt.core;bundle-version="[8.3.0,9.0.0)",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
				DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
import org.eclipse.cdt.ui.CUIPlugin;
			DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
		} catch (Exception e) {
			CUIPlugin.log("Failed to load helpbook in " + pluginId, e); //$NON-NLS-1$
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			final SAXParser parser = XmlProcessorFactoryCdt.createSAXParserWithErrorOnDOCTYPE();
			final DocumentBuilder builder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			Transformer transformer = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE()
					.newTransformer();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
		SAXTransformerFactory factory = (SAXTransformerFactory) XmlProcessorFactoryCdt
				.createTransformerFactoryWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
		DocumentBuilderFactory factory = XmlProcessorFactoryCdt.createDocumentBuilderFactoryWithErrorOnDOCTYPE();
Bundle-Version: 8.8.200.qualifier
Require-Bundle: org.eclipse.cdt.core;bundle-version="[8.3.0,9.0.0)",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
		TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
				DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
 org.eclipse.cdt.core;bundle-version="[8.3.0,9.0.0)",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
				DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
				TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
				DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
				TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
		if (data == null || data.isBlank()) {
			// An empty string will cause a sax parser error below
			return;
		}

			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
				document = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE().newDocument();
			DocumentBuilder parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
Bundle-Version: 1.3.200.qualifier
 org.eclipse.cdt.core;bundle-version="8.3.0",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
 org.eclipse.cdt.core;bundle-version="8.3.0",
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			DocumentBuilder docBuilder = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
			TransformerFactory factory = XmlProcessorFactoryCdt.createTransformerFactoryWithErrorOnDOCTYPE();
			parser = XmlProcessorFactoryCdt.createDocumentBuilderWithErrorOnDOCTYPE();
Bundle-Version: 7.2.100.qualifier
 org.eclipse.cdt.testsrunner;bundle-version="3.5.0",
 org.eclipse.cdt.core;bundle-version="8.3.0"
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			SAXParser sp = XmlProcessorFactoryCdt.createSAXParserWithErrorOnDOCTYPE();
Bundle-Version: 7.2.100.qualifier
 org.eclipse.cdt.testsrunner;bundle-version="3.5.0",
 org.eclipse.cdt.core;bundle-version="8.3.0"
import org.eclipse.cdt.internal.core.XmlProcessorFactoryCdt;
			SAXParser sp = XmlProcessorFactoryCdt.createSAXParserWithErrorOnDOCTYPE();