-package mir.util.xml.html;\r
-\r
-import java.io.IOException;\r
-import java.util.HashMap;\r
-import java.util.Iterator;\r
-import java.util.Map;\r
-\r
-import mir.util.xml.XMLParserEngine;\r
-import mir.util.xml.XMLParserExc;\r
-import mir.util.xml.XMLParserFailure;\r
-import mir.util.xml.XMLReaderTool;\r
-import mir.util.xml.XMLName;\r
-\r
-/**\r
- */\r
-\r
-public class XMLHTMLParserProvider implements XMLParserEngine.XMLParserProvider {\r
- public XMLHTMLParserProvider() {\r
- }\r
-\r
- public void parse(java.io.Reader aReader, final XMLParserEngine.XMLParserReceiver aReceiver) throws XMLParserExc, XMLParserFailure {\r
- HTMLParser parser = new HTMLParser();\r
-\r
- try {\r
- aReceiver.startDocument();\r
-\r
- parser.parse(aReader, new HTMLParser.ParserReceiver() {\r
- public void dtd(String aDTD) throws HTMLParserExc {\r
- try {\r
- aReceiver.extra(aDTD);\r
- }\r
- catch (XMLParserExc t) {\r
- throw new HTMLParserFailure(t);\r
- }\r
- }\r
-\r
- public void openTag(String aTag, Map anAttributes) {\r
- Map attributes = new HashMap();\r
- Iterator i = anAttributes.entrySet().iterator();\r
-\r
- while (i.hasNext()) {\r
- Map.Entry entry = (Map.Entry) i.next();\r
- XMLName key = XMLReaderTool.getXMLNameForQualifiedName((String) entry.getKey());\r
- String value = (String) entry.getValue();\r
- if (value==null)\r
- value = key.getLocalName();\r
-\r
- attributes.put(key, value);\r
- }\r
-\r
- try {\r
- aReceiver.startElement(XMLReaderTool.getXMLNameForQualifiedName(aTag), attributes);\r
- }\r
- catch (XMLParserExc e) {\r
- throw new HTMLParserFailure(e);\r
- }\r
- }\r
-\r
- public void closeTag(String aTag) {\r
- try {\r
- aReceiver.endElement(XMLReaderTool.getXMLNameForQualifiedName(aTag));\r
- }\r
- catch (XMLParserExc e) {\r
- throw new HTMLParserFailure(e);\r
- }\r
- }\r
-\r
- public void comment(String aData) {\r
- try {\r
- aReceiver.extra("<!--"+aData+"-->");\r
- }\r
- catch (XMLParserExc e) {\r
- throw new HTMLParserFailure(e);\r
- }\r
- }\r
-\r
- public void cdata(String aData) {\r
- try {\r
- aReceiver.text(aData);\r
- }\r
- catch (XMLParserExc e) {\r
- throw new HTMLParserFailure(e);\r
- }\r
- }\r
- });\r
-\r
- aReceiver.endDocument();\r
- }\r
- catch (IOException e) {\r
- throw new XMLParserFailure(e);\r
- }\r
- catch (HTMLParserExc e) {\r
- throw new XMLParserFailure(e);\r
- }\r
- }\r
-}\r
+package mir.util.xml.html;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import mir.util.xml.XMLName;
+import mir.util.xml.XMLParserEngine;
+import mir.util.xml.XMLParserExc;
+import mir.util.xml.XMLParserFailure;
+import mir.util.xml.XMLReaderTool;
+
+/**
+ */
+
+public class XMLHTMLParserProvider implements XMLParserEngine.XMLParserProvider {
+ public XMLHTMLParserProvider() {
+ }
+
+ public void parse(java.io.Reader aReader, final XMLParserEngine.XMLParserReceiver aReceiver) throws XMLParserExc, XMLParserFailure {
+ HTMLParser parser = new HTMLParser();
+
+ try {
+ aReceiver.startDocument();
+
+ parser.parse(aReader, new HTMLParser.ParserReceiver() {
+ public void dtd(String aDTD) throws HTMLParserExc {
+ try {
+ aReceiver.extra(aDTD);
+ }
+ catch (XMLParserExc t) {
+ throw new HTMLParserFailure(t);
+ }
+ }
+
+ public void openTag(String aTag, Map anAttributes) {
+ Map attributes = new HashMap();
+ Iterator i = anAttributes.entrySet().iterator();
+
+ while (i.hasNext()) {
+ Map.Entry entry = (Map.Entry) i.next();
+ XMLName key = XMLReaderTool.getXMLNameForQualifiedName((String) entry.getKey());
+ String value = (String) entry.getValue();
+ if (value==null)
+ value = key.getLocalName();
+
+ attributes.put(key, value);
+ }
+
+ try {
+ aReceiver.startElement(XMLReaderTool.getXMLNameForQualifiedName(aTag), attributes);
+ }
+ catch (XMLParserExc e) {
+ throw new HTMLParserFailure(e);
+ }
+ }
+
+ public void closeTag(String aTag) {
+ try {
+ aReceiver.endElement(XMLReaderTool.getXMLNameForQualifiedName(aTag));
+ }
+ catch (XMLParserExc e) {
+ throw new HTMLParserFailure(e);
+ }
+ }
+
+ public void comment(String aData) {
+ try {
+ aReceiver.extra("<!--"+aData+"-->");
+ }
+ catch (XMLParserExc e) {
+ throw new HTMLParserFailure(e);
+ }
+ }
+
+ public void cdata(String aData) {
+ try {
+ aReceiver.text(aData);
+ }
+ catch (XMLParserExc e) {
+ throw new HTMLParserFailure(e);
+ }
+ }
+ });
+
+ aReceiver.endDocument();
+ }
+ catch (IOException e) {
+ throw new XMLParserFailure(e);
+ }
+ catch (HTMLParserExc e) {
+ throw new XMLParserFailure(e);
+ }
+ }
+}