From: <bo...@us...> - 2008-03-03 16:27:02
|
Revision: 241 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=241&view=rev Author: bodewig Date: 2008-03-03 08:26:08 -0800 (Mon, 03 Mar 2008) Log Message: ----------- Make SAXParserFactory pluggable, issue 1903928 Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java trunk/xmlunit/src/user-guide/XMLUnit-Java.xml Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2008-03-03 16:04:35 UTC (rev 240) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2008-03-03 16:26:08 UTC (rev 241) @@ -1,6 +1,6 @@ /* ***************************************************************** -Copyright (c) 2001-2007, Jeff Martin, Tim Bacon +Copyright (c) 2001-2008, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -69,6 +69,7 @@ private static DocumentBuilderFactory controlBuilderFactory; private static DocumentBuilderFactory testBuilderFactory; private static TransformerFactory transformerFactory; + private static SAXParserFactory saxParserFactory; private static boolean ignoreWhitespace = false; private static URIResolver uriResolver = null; private static EntityResolver testEntityResolver = null; @@ -433,18 +434,35 @@ */ public static void setSAXParserFactory(String className) { System.setProperty("javax.xml.parsers.SAXParserFactory", className); + saxParserFactory = null; getSAXParserFactory(); } /** + * Override the SAX parser to use in tests. + * Currently only used by {@link Validator Validator class} + * @param factory + */ + public static void setSAXParserFactory(SAXParserFactory factory) { + saxParserFactory = factory; + } + + /** * Get the SAX parser to use in tests. - * @return the SAXParserFactory instance used by the {@link Validator Validator} - * to perform DTD validation + * + * <p>Unless an instance has been given via {@link + * setSAXParserFactory(SAXParserFactory) setSAXParserFactory} + * explicitly, the returned factory will be namespace aware.</p> + * + * @return the SAXParserFactory instance used by the {@link + * Validator Validator} to perform DTD validation */ public static SAXParserFactory getSAXParserFactory() { - SAXParserFactory newFactory = SAXParserFactory.newInstance(); - newFactory.setNamespaceAware(true); - return newFactory; + if (saxParserFactory == null) { + saxParserFactory = SAXParserFactory.newInstance(); + saxParserFactory.setNamespaceAware(true); + } + return saxParserFactory; } private static String getStripWhitespaceStylesheet() { Modified: trunk/xmlunit/src/user-guide/XMLUnit-Java.xml =================================================================== --- trunk/xmlunit/src/user-guide/XMLUnit-Java.xml 2008-03-03 16:04:35 UTC (rev 240) +++ trunk/xmlunit/src/user-guide/XMLUnit-Java.xml 2008-03-03 16:26:08 UTC (rev 241) @@ -3251,6 +3251,17 @@ </itemizedlist> </section> + <section id="New Features 1.2"> + <title>New Features</title> + + <itemizedlist> + <listitem>The <literal>SAXParserFactory</literal> used + by <literal>Validator</literal> can now be configured + completely. <ulink href="https://sourceforge.net/tracker/index.php?func=detail&aid=1903928&group_id=23187&atid=377771">Issue + 1903928</ulink>.</listitem> + </itemizedlist> + </section> + <section id="Bugfixes 1.2"> <title>Important Bug Fixes</title> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |