aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLReader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLReader.java')
-rw-r--r--src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLReader.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLReader.java b/src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLReader.java
new file mode 100644
index 0000000..e8dc595
--- /dev/null
+++ b/src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLReader.java
@@ -0,0 +1,93 @@
+/*
+ * reserved comment block
+ * DO NOT REMOVE OR ALTER!
+ */
+// ResolvingXMLReader.java - An XMLReader that performs catalog resolution
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation or its licensors,
+ * as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.sun.org.apache.xml.internal.resolver.tools;
+
+import org.xml.sax.*;
+
+import javax.xml.parsers.*;
+
+import com.sun.org.apache.xml.internal.resolver.*;
+
+/**
+ * A SAX XMLReader that performs catalog-based entity resolution.
+ *
+ * <p>This class implements a SAX XMLReader that performs entity resolution
+ * using the CatalogResolver. The actual, underlying parser is obtained
+ * from a SAXParserFactory.</p>
+ * </p>
+ *
+ * @see CatalogResolver
+ * @see org.xml.sax.XMLReader
+ *
+ * @author Norman Walsh
+ * <a href="mailto:Norman.Walsh@Sun.COM">Norman.Walsh@Sun.COM</a>
+ *
+ */
+public class ResolvingXMLReader extends ResolvingXMLFilter {
+ /** Make the parser Namespace aware? */
+ public static boolean namespaceAware = true;
+
+ /** Make the parser validating? */
+ public static boolean validating = false;
+
+ /**
+ * Construct a new reader from the JAXP factory.
+ *
+ * <p>In order to do its job, a ResolvingXMLReader must in fact be
+ * a filter. So the only difference between this code and the filter
+ * code is that the constructor builds a new reader.</p>
+ */
+ public ResolvingXMLReader() {
+ super();
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ spf.setNamespaceAware(namespaceAware);
+ spf.setValidating(validating);
+ try {
+ SAXParser parser = spf.newSAXParser();
+ setParent(parser.getXMLReader());
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Construct a new reader from the JAXP factory.
+ *
+ * <p>In order to do its job, a ResolvingXMLReader must in fact be
+ * a filter. So the only difference between this code and the filter
+ * code is that the constructor builds a new reader.</p>
+ */
+ public ResolvingXMLReader(CatalogManager manager) {
+ super(manager);
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ spf.setNamespaceAware(namespaceAware);
+ spf.setValidating(validating);
+ try {
+ SAXParser parser = spf.newSAXParser();
+ setParent(parser.getXMLReader());
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+}