merged 1.1 branch into head
[mir.git] / source / mir / util / xml / XMLSAXParserProvider.java
index 0e8a851..d47723c 100755 (executable)
-package mir.util.xml;\r
-\r
-import java.util.*;\r
-\r
-import org.xml.sax.InputSource;\r
-import org.xml.sax.SAXException;\r
-import org.xml.sax.Locator;\r
-import org.xml.sax.SAXParseException;\r
-import mir.util.ExceptionFunctions;\r
-\r
-/**\r
- *\r
- * <p>Title: </p>\r
- * <p>Description: </p>\r
- * <p>Copyright: Copyright (c) 2003</p>\r
- * <p>Company: </p>\r
- * @author not attributable\r
- * @version 1.0\r
- */\r
-class XMLSAXParserProvider implements XMLParserEngine.XMLParserProvider {\r
-  private boolean nameSpaceAware;\r
-\r
-  public XMLSAXParserProvider(boolean aNameSpaceAware) {\r
-    nameSpaceAware = aNameSpaceAware;\r
-  }\r
-\r
-  public void parse(java.io.Reader aReader, XMLParserEngine.XMLParserReceiver aReceiver) throws XMLParserExc, XMLParserFailure {\r
-    try {\r
-      javax.xml.parsers.SAXParserFactory parserFactory = javax.xml.parsers.SAXParserFactory.newInstance();\r
-\r
-      parserFactory.setNamespaceAware(true);\r
-      parserFactory.setValidating(true);\r
-      javax.xml.parsers.SAXParser parser = parserFactory.newSAXParser();\r
-\r
-      parser.parse(new InputSource(aReader), new SAXHandler(aReceiver));\r
-    }\r
-    catch (org.xml.sax.SAXException e) {\r
-      Throwable t = ExceptionFunctions.traceCauseException(e);\r
-\r
-      if (t instanceof XMLParserExc) {\r
-        throw (XMLParserExc) t;\r
-      }\r
-\r
-      if (t instanceof XMLParserFailure) {\r
-        throw (XMLParserFailure) t;\r
-      }\r
-\r
-      if (t instanceof SAXParseException) {\r
-        throw new XMLParserExc(t.getMessage());\r
-      }\r
-\r
-      throw new XMLParserFailure(t);\r
-    }\r
-    catch (Throwable t) {\r
-      throw new XMLParserFailure(t);\r
-    }\r
-  }\r
-\r
-  private class SAXHandler extends org.xml.sax.helpers.DefaultHandler {\r
-    private XMLParserEngine.XMLParserReceiver receiver;\r
-\r
-    public SAXHandler(XMLParserEngine.XMLParserReceiver aReceiver) throws XMLParserExc, XMLParserFailure {\r
-      super();\r
-\r
-      receiver = aReceiver;\r
-      receiver.startDocument();\r
-   }\r
-\r
-    public void setDocumentLocator(final Locator aLocator) {\r
-      receiver.setLocator(\r
-          new XMLParserEngine.XMLLocator() {\r
-            public int getLineNr() {\r
-              return aLocator.getLineNumber();\r
-            }\r
-\r
-            public int getColumnNr() {\r
-              return aLocator.getColumnNumber();\r
-            }\r
-          }\r
-      );\r
-    }\r
-\r
-    public void startElement(String aUri, String aLocalName, String aQualifiedName, org.xml.sax.Attributes anAttributes) throws org.xml.sax.SAXException {\r
-      try {\r
-        Map attributes = new java.util.HashMap();\r
-\r
-        XMLName tag;\r
-        if (nameSpaceAware) {\r
-          tag = new XMLName(aUri, XMLReaderTool.getPrefixFromQualifiedName(aQualifiedName), aLocalName);\r
-          for (int i=0; i<anAttributes.getLength(); i++)\r
-            attributes.put(\r
-                new XMLName(anAttributes.getURI(i),\r
-                            XMLReaderTool.getPrefixFromQualifiedName(anAttributes.getQName(i)),\r
-                            anAttributes.getLocalName(i)),\r
-                anAttributes.getValue(i));\r
-        }\r
-        else {\r
-          tag = new XMLName(aUri, XMLReaderTool.getPrefixFromQualifiedName(aQualifiedName),\r
-                      XMLReaderTool.getLocalNameFromQualifiedName(aQualifiedName));\r
-          for (int i=0; i<anAttributes.getLength(); i++)\r
-            attributes.put(\r
-                new XMLName(anAttributes.getURI(i),\r
-                           XMLReaderTool.getPrefixFromQualifiedName(anAttributes.getQName(i)),\r
-                           XMLReaderTool.getLocalNameFromQualifiedName(anAttributes.getQName(i))),\r
-                anAttributes.getValue(i));\r
-        }\r
-\r
-        receiver.startElement(tag, attributes);\r
-      }\r
-      catch (XMLParserExc e) {\r
-        throw new org.xml.sax.SAXParseException(e.getMessage(), null, e);\r
-      }\r
-      catch (Exception e) {\r
-        throw new SAXException(e);\r
-      }\r
-    }\r
-\r
-    public void endElement(String aUri, String aLocalName, String aQualifiedName) throws org.xml.sax.SAXException {\r
-      try\r
-      {\r
-        XMLName element = new XMLName(aUri, XMLReaderTool.getPrefixFromQualifiedName(aQualifiedName), aLocalName);\r
-\r
-        receiver.endElement(element);\r
-      }\r
-      catch (XMLParserExc e) {\r
-        throw new org.xml.sax.SAXParseException(e.getMessage(), null, e);\r
-      }\r
-      catch (Exception e) {\r
-        throw new org.xml.sax.SAXException(e);\r
-      }\r
-    }\r
-\r
-    public void endDocument() throws org.xml.sax.SAXException {\r
-      try\r
-      {\r
-        receiver.endDocument();\r
-      }\r
-      catch (XMLParserExc e) {\r
-        throw new org.xml.sax.SAXParseException(e.getMessage(), null, e);\r
-      }\r
-      catch (Exception e) {\r
-        throw new org.xml.sax.SAXException(e);\r
-      }\r
-    }\r
-\r
-    public void characters(char[] aBuffer, int aStart, int anEnd) throws org.xml.sax.SAXException {\r
-      try {\r
-        String text = new String(aBuffer, aStart, anEnd);\r
-\r
-        receiver.text(text);\r
-      }\r
-      catch (XMLParserExc e) {\r
-        throw new org.xml.sax.SAXParseException(e.getMessage(), null, e);\r
-      }\r
-      catch (Exception e) {\r
-        throw new org.xml.sax.SAXException(e);\r
-      }\r
-    }\r
-  }\r
-}\r
+package mir.util.xml;
+
+import java.util.Map;
+
+import mir.util.ExceptionRoutines;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+/**
+ *
+ * <p>Title: </p>
+ * <p>Description: </p>
+ * <p>Copyright: Copyright (c) 2003</p>
+ * <p>Company: </p>
+ * @author not attributable
+ * @version 1.0
+ */
+class XMLSAXParserProvider implements XMLParserEngine.XMLParserProvider {
+  private boolean nameSpaceAware;
+
+  public XMLSAXParserProvider(boolean aNameSpaceAware) {
+    nameSpaceAware = aNameSpaceAware;
+  }
+
+  public void parse(java.io.Reader aReader, XMLParserEngine.XMLParserReceiver aReceiver) throws XMLParserExc, XMLParserFailure {
+    try {
+      javax.xml.parsers.SAXParserFactory parserFactory = javax.xml.parsers.SAXParserFactory.newInstance();
+
+      parserFactory.setNamespaceAware(true);
+      parserFactory.setValidating(true);
+      javax.xml.parsers.SAXParser parser = parserFactory.newSAXParser();
+
+      parser.parse(new InputSource(aReader), new SAXHandler(aReceiver));
+    }
+    catch (org.xml.sax.SAXException e) {
+      Throwable t = ExceptionRoutines.traceCauseException(e);
+
+      if (t instanceof XMLParserExc) {
+        throw (XMLParserExc) t;
+      }
+
+      if (t instanceof XMLParserFailure) {
+        throw (XMLParserFailure) t;
+      }
+
+      if (t instanceof SAXParseException) {
+        throw new XMLParserExc(t.getMessage());
+      }
+
+      throw new XMLParserFailure(t);
+    }
+    catch (Throwable t) {
+      throw new XMLParserFailure(t);
+    }
+  }
+
+  private class SAXHandler extends org.xml.sax.helpers.DefaultHandler {
+    private XMLParserEngine.XMLParserReceiver receiver;
+
+    public SAXHandler(XMLParserEngine.XMLParserReceiver aReceiver) throws XMLParserExc, XMLParserFailure {
+      super();
+
+      receiver = aReceiver;
+      receiver.startDocument();
+   }
+
+    public void setDocumentLocator(final Locator aLocator) {
+      receiver.setLocator(
+          new XMLParserEngine.XMLLocator() {
+            public int getLineNr() {
+              return aLocator.getLineNumber();
+            }
+
+            public int getColumnNr() {
+              return aLocator.getColumnNumber();
+            }
+          }
+      );
+    }
+
+    public void startElement(String aUri, String aLocalName, String aQualifiedName, org.xml.sax.Attributes anAttributes) throws org.xml.sax.SAXException {
+      try {
+        Map attributes = new java.util.HashMap();
+
+        XMLName tag;
+        if (nameSpaceAware) {
+          tag = new XMLName(aUri, XMLReaderTool.getPrefixFromQualifiedName(aQualifiedName), aLocalName);
+          for (int i=0; i<anAttributes.getLength(); i++)
+            attributes.put(
+                new XMLName(anAttributes.getURI(i),
+                            XMLReaderTool.getPrefixFromQualifiedName(anAttributes.getQName(i)),
+                            anAttributes.getLocalName(i)),
+                anAttributes.getValue(i));
+        }
+        else {
+          tag = new XMLName(aUri, XMLReaderTool.getPrefixFromQualifiedName(aQualifiedName),
+                      XMLReaderTool.getLocalNameFromQualifiedName(aQualifiedName));
+          for (int i=0; i<anAttributes.getLength(); i++)
+            attributes.put(
+                new XMLName(anAttributes.getURI(i),
+                           XMLReaderTool.getPrefixFromQualifiedName(anAttributes.getQName(i)),
+                           XMLReaderTool.getLocalNameFromQualifiedName(anAttributes.getQName(i))),
+                anAttributes.getValue(i));
+        }
+
+        receiver.startElement(tag, attributes);
+      }
+      catch (XMLParserExc e) {
+        throw new org.xml.sax.SAXParseException(e.getMessage(), null, e);
+      }
+      catch (Exception e) {
+        throw new SAXException(e);
+      }
+    }
+
+    public void endElement(String aUri, String aLocalName, String aQualifiedName) throws org.xml.sax.SAXException {
+      try
+      {
+        XMLName element = new XMLName(aUri, XMLReaderTool.getPrefixFromQualifiedName(aQualifiedName), aLocalName);
+
+        receiver.endElement(element);
+      }
+      catch (XMLParserExc e) {
+        throw new org.xml.sax.SAXParseException(e.getMessage(), null, e);
+      }
+      catch (Exception e) {
+        throw new org.xml.sax.SAXException(e);
+      }
+    }
+
+    public void endDocument() throws org.xml.sax.SAXException {
+      try
+      {
+        receiver.endDocument();
+      }
+      catch (XMLParserExc e) {
+        throw new org.xml.sax.SAXParseException(e.getMessage(), null, e);
+      }
+      catch (Exception e) {
+        throw new org.xml.sax.SAXException(e);
+      }
+    }
+
+    public void characters(char[] aBuffer, int aStart, int anEnd) throws org.xml.sax.SAXException {
+      try {
+        String text = new String(aBuffer, aStart, anEnd);
+
+        receiver.text(text);
+      }
+      catch (XMLParserExc e) {
+        throw new org.xml.sax.SAXParseException(e.getMessage(), null, e);
+      }
+      catch (Exception e) {
+        throw new org.xml.sax.SAXException(e);
+      }
+    }
+  }
+}