OSDN Git Service

エラーハンドラカスタム化に対処。
authorOlyutorskii <olyutorskii@users.osdn.me>
Thu, 7 Oct 2010 10:40:19 +0000 (19:40 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Thu, 7 Oct 2010 10:40:19 +0000 (19:40 +0900)
src/main/java/jp/sourceforge/mikutoga/pmd/xml/PmdXmlResources.java

index b914575..191cd6c 100644 (file)
@@ -16,10 +16,11 @@ import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.validation.Schema;\r
 import javax.xml.validation.SchemaFactory;\r
 import jp.sourceforge.mikutoga.xml.XmlResourceResolver;\r
+import org.xml.sax.ErrorHandler;\r
 import org.xml.sax.SAXException;\r
 \r
 /**\r
- *\r
+ * XML各種リソースの定義。\r
  */\r
 public final class PmdXmlResources {\r
 \r
@@ -65,7 +66,14 @@ public final class PmdXmlResources {
         return;\r
     }\r
 \r
-    public static DocumentBuilder newBuilder()\r
+    /**\r
+     * ビルダの生成。\r
+     * @param handler エラーハンドラ\r
+     * @return ビルダ\r
+     * @throws SAXException パースエラー\r
+     * @throws ParserConfigurationException 構成エラー\r
+     */\r
+    public static DocumentBuilder newBuilder(ErrorHandler handler)\r
             throws SAXException, ParserConfigurationException {\r
         XmlResourceResolver resolver = new XmlResourceResolver();\r
         resolver.putURIMap(URI_SCHEMA_PMDXML, RES_SCHEMA_PMDXML);\r
@@ -74,6 +82,7 @@ public final class PmdXmlResources {
         SchemaFactory schemaFactory =\r
                 SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);\r
         schemaFactory.setResourceResolver(resolver);\r
+        schemaFactory.setErrorHandler(handler);\r
         Schema schema = schemaFactory.newSchema();\r
 \r
         DocumentBuilderFactory builderFactory =\r
@@ -88,6 +97,7 @@ public final class PmdXmlResources {
 \r
         DocumentBuilder builder = builderFactory.newDocumentBuilder();\r
         builder.setEntityResolver(resolver);\r
+        builder.setErrorHandler(handler);\r
 \r
         return builder;\r
     }\r