This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch DOXIA-716
in repository https://gitbox.apache.org/repos/asf/maven-doxia.git

commit ce01ba043e784e1293805782ca258e40aba8c218
Author: Michael Osipov <micha...@apache.org>
AuthorDate: Sat Dec 30 13:45:36 2023 +0100

    Reuse XmlValidator
---
 .../maven/doxia/xsd/AbstractXmlValidator.java      | 23 ++++++----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

diff --git 
a/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java 
b/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
index 05e82f04..4da6182b 100644
--- 
a/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
+++ 
b/doxia-core/src/test/java/org/apache/maven/doxia/xsd/AbstractXmlValidator.java
@@ -19,17 +19,15 @@
 package org.apache.maven.doxia.xsd;
 
 import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
 
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 
+import org.apache.maven.doxia.util.XmlValidator;
 import org.codehaus.plexus.testing.PlexusTest;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
@@ -161,20 +159,11 @@ public abstract class AbstractXmlValidator {
     private XMLReader getXMLReader() {
         if (xmlReader == null) {
             try {
-                SAXParserFactory parserFactory = 
SAXParserFactory.newInstance();
-                parserFactory.setNamespaceAware(true);
-                SAXParser parser = parserFactory.newSAXParser();
-                // If both DTD and XSD are provided, force XSD
-                parser.setProperty(
-                        
"http://java.sun.com/xml/jaxp/properties/schemaLanguage";, 
"http://www.w3.org/2001/XMLSchema";);
-                // Always force language-neutral exception messages for 
MessagesErrorHandler
-                parser.setProperty("http://apache.org/xml/properties/locale";, 
Locale.ROOT);
-                xmlReader = parser.getXMLReader();
-                xmlReader.setFeature("http://xml.org/sax/features/validation";, 
validate);
-                
xmlReader.setFeature("http://apache.org/xml/features/validation/dynamic";, 
validate);
-                
xmlReader.setFeature("http://apache.org/xml/features/validation/schema";, 
validate);
-                xmlReader.setErrorHandler(new MessagesErrorHandler());
-                xmlReader.setEntityResolver(getEntityResolver());
+                XmlValidator validator = new XmlValidator();
+                validator.setValidate(validate);
+                validator.setDefaultHandler(new MessagesErrorHandler());
+                validator.setEntityResolver(getEntityResolver());
+                xmlReader = validator.getXmlReader();
             } catch (SAXNotRecognizedException e) {
                 fail("SAXNotRecognizedException: " + e.getMessage());
             } catch (SAXNotSupportedException e) {

Reply via email to