From 2b95663880a33eee72071b41702d0ec7f2fd37b4 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Thu, 12 Jun 2014 18:33:28 +0200 Subject: [PATCH] Separate exercise sax HTML creation --- Doc/Etest/SaxHtmlCreate/Exercise/.gitignore | 5 ++ Doc/Etest/SaxHtmlCreate/Exercise/memo.xml | 8 ++ Doc/Etest/SaxHtmlCreate/Exercise/pom.xml | 38 ++++++++ .../mi/sda1/saxhtml}/Driver.java | 4 +- .../mi/sda1/saxhtml}/Memo2Html.java | 15 ++-- .../mi/sda1/saxhtml/Memo2HtmlHandler.java | 42 +++++++++ .../mi/sda1/saxhtml}/MyErrorHandler.java | 2 +- .../mi/sda1/saxhtml/package-info.java | 4 + Doc/Etest/SaxHtmlCreate/Solution/.gitignore | 5 ++ Doc/Etest/SaxHtmlCreate/Solution/memo.xml | 8 ++ Doc/Etest/SaxHtmlCreate/Solution/pom.xml | 38 ++++++++ .../hdm_stuttgart/mi/sda1/saxhtml/Driver.java | 15 ++++ .../mi/sda1/saxhtml/Memo2Html.java | 40 +++++++++ .../mi/sda1/saxhtml/Memo2HtmlHandler.java | 88 +++++++++++++++++++ .../mi/sda1/saxhtml/MyErrorHandler.java | 25 ++++++ .../mi/sda1/saxhtml/package-info.java | 4 + ws/eclipse/Jdbc/.gitignore | 1 + .../sax/htmlcreate/HtmlCreateHandler.java | 56 ------------ .../java/sax/htmlcreate/Memo2HtmlHandler.java | 18 ---- 19 files changed, 332 insertions(+), 84 deletions(-) create mode 100644 Doc/Etest/SaxHtmlCreate/Exercise/.gitignore create mode 100644 Doc/Etest/SaxHtmlCreate/Exercise/memo.xml create mode 100644 Doc/Etest/SaxHtmlCreate/Exercise/pom.xml rename {ws/eclipse/Jdbc/src/main/java/sax/htmlcreate => Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml}/Driver.java (76%) rename {ws/eclipse/Jdbc/src/main/java/sax/htmlcreate => Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml}/Memo2Html.java (82%) create mode 100644 Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2HtmlHandler.java rename {ws/eclipse/Jdbc/src/main/java/sax/htmlcreate => Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml}/MyErrorHandler.java (95%) create mode 100644 Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/package-info.java create mode 100644 Doc/Etest/SaxHtmlCreate/Solution/.gitignore create mode 100644 Doc/Etest/SaxHtmlCreate/Solution/memo.xml create mode 100644 Doc/Etest/SaxHtmlCreate/Solution/pom.xml create mode 100644 Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Driver.java create mode 100644 Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2Html.java create mode 100644 Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2HtmlHandler.java create mode 100644 Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/MyErrorHandler.java create mode 100644 Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/package-info.java delete mode 100644 ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/HtmlCreateHandler.java delete mode 100644 ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Memo2HtmlHandler.java diff --git a/Doc/Etest/SaxHtmlCreate/Exercise/.gitignore b/Doc/Etest/SaxHtmlCreate/Exercise/.gitignore new file mode 100644 index 000000000..f7619e395 --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Exercise/.gitignore @@ -0,0 +1,5 @@ +/bin +/target +/.settings +/.classpath +/.project diff --git a/Doc/Etest/SaxHtmlCreate/Exercise/memo.xml b/Doc/Etest/SaxHtmlCreate/Exercise/memo.xml new file mode 100644 index 000000000..c23e42abe --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Exercise/memo.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<memo> + <from>M. Goik</from> + <to>B. King</to> + <to>A. June</to> + <subject>Best whishessss</subject> + <content>Hi all, congratulations to your splendid party</content> +</memo> \ No newline at end of file diff --git a/Doc/Etest/SaxHtmlCreate/Exercise/pom.xml b/Doc/Etest/SaxHtmlCreate/Exercise/pom.xml new file mode 100644 index 000000000..dd77e0590 --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Exercise/pom.xml @@ -0,0 +1,38 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>de.hdm_stuttgart.mi.sda1.saxhtml</groupId> + <artifactId>saxhtml</artifactId> + <version>1.0</version> + <build> + <sourceDirectory>src</sourceDirectory> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.1</version> + <configuration> + <source>1.7</source> + <target>1.7</target> + </configuration> + </plugin> + </plugins> + </build> + <dependencies> + <dependency> + <groupId>org.jdom</groupId> + <artifactId>jdom2</artifactId> + <version>2.0.5</version> + </dependency> + <dependency> + <groupId>jaxen</groupId> + <artifactId>jaxen</artifactId> + <version>1.1.4</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.11</version> + <scope>test</scope> + </dependency> + </dependencies> +</project> diff --git a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Driver.java b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Driver.java similarity index 76% rename from ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Driver.java rename to Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Driver.java index dcb0046e2..43de23503 100644 --- a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Driver.java +++ b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Driver.java @@ -1,4 +1,4 @@ -package sax.htmlcreate; +package de.hdm_stuttgart.mi.sda1.saxhtml; /** Driver */ public class Driver { @@ -6,7 +6,7 @@ public class Driver { public static void main(String argv[]) { try{ Memo2Html xmlStats = new Memo2Html(); - xmlStats.parse("Input/Memo/wellformed.xml"); + xmlStats.parse("memo.xml"); } catch (Exception e){ e.printStackTrace(System.err); diff --git a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Memo2Html.java b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2Html.java similarity index 82% rename from ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Memo2Html.java rename to Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2Html.java index f1c87a33d..009255e28 100644 --- a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Memo2Html.java +++ b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2Html.java @@ -1,4 +1,4 @@ -package sax.htmlcreate; +package de.hdm_stuttgart.mi.sda1.saxhtml; import java.io.IOException; @@ -9,8 +9,13 @@ import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; -/** Parser, content- and errorhandler assembly */ +/** Parser, content- and error handler assembly */ public class Memo2Html { + + private final XMLReader xmlReader; + private final Memo2HtmlHandler eventHandler = new Memo2HtmlHandler(); + private final MyErrorHandler errorHandler = new MyErrorHandler(); + /** * @throws SAXException Parsing may fail. * @throws ParserConfigurationException Unable to instantiate parser. @@ -23,7 +28,7 @@ public class Memo2Html { xmlReader.setContentHandler(eventHandler); xmlReader.setErrorHandler(errorHandler); } - /** @see sax.stat.v1.ElementCount + /** Parse an existing memo instance and create HTML output. * @param uri The resource to be parsed * @throws IOException Access related problems * @throws SAXException Parsing may fail @@ -32,8 +37,4 @@ public class Memo2Html { throws IOException, SAXException{ xmlReader.parse(uri); } - - private final XMLReader xmlReader; - private final HtmlCreateHandler eventHandler = new HtmlCreateHandler(); - private final MyErrorHandler errorHandler = new MyErrorHandler(); } \ No newline at end of file diff --git a/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2HtmlHandler.java b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2HtmlHandler.java new file mode 100644 index 000000000..f51da34ee --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2HtmlHandler.java @@ -0,0 +1,42 @@ +package de.hdm_stuttgart.mi.sda1.saxhtml; + +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * Turning <memo> documents to html + * + */ +public class Memo2HtmlHandler extends DefaultHandler { + + boolean printElementContent = false; + + @Override public void startDocument() throws SAXException { + System.out.println("Opening document, change me to become a HTML producer"); + } + + @Override + public void startElement(String uri, String localName, String tagName, + Attributes attributes) throws SAXException { + System.out.println("Opening element " + tagName + " , change me to become a HTML producer"); + } + + @Override + public void characters(char[] ch, int start, int length) throws SAXException { + final String elementContent = new String(ch, start, length).trim(); + if (!elementContent.equals("")) { // avoid white space + System.out.println("Charcter content '" + elementContent + "', change me to become a HTML producer"); + } + } + + @Override + public void endElement(String uri, String localName, String tagName) + throws SAXException { + System.out.println("Closing element " + tagName + " , change me to become a HTML producer"); + } + + @Override public void endDocument() throws SAXException { + System.out.println("closing document, change me to become a HTML producer"); + } +} \ No newline at end of file diff --git a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/MyErrorHandler.java b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/MyErrorHandler.java similarity index 95% rename from ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/MyErrorHandler.java rename to Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/MyErrorHandler.java index a59b34fbc..95389354d 100644 --- a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/MyErrorHandler.java +++ b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/MyErrorHandler.java @@ -1,4 +1,4 @@ -package sax.htmlcreate; +package de.hdm_stuttgart.mi.sda1.saxhtml; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; diff --git a/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/package-info.java b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/package-info.java new file mode 100644 index 000000000..388d76a62 --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Exercise/src/de/hdm_stuttgart/mi/sda1/saxhtml/package-info.java @@ -0,0 +1,4 @@ +/** + * Create HTML output from XML data sources + */ +package de.hdm_stuttgart.mi.sda1.saxhtml; \ No newline at end of file diff --git a/Doc/Etest/SaxHtmlCreate/Solution/.gitignore b/Doc/Etest/SaxHtmlCreate/Solution/.gitignore new file mode 100644 index 000000000..f7619e395 --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Solution/.gitignore @@ -0,0 +1,5 @@ +/bin +/target +/.settings +/.classpath +/.project diff --git a/Doc/Etest/SaxHtmlCreate/Solution/memo.xml b/Doc/Etest/SaxHtmlCreate/Solution/memo.xml new file mode 100644 index 000000000..c23e42abe --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Solution/memo.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<memo> + <from>M. Goik</from> + <to>B. King</to> + <to>A. June</to> + <subject>Best whishessss</subject> + <content>Hi all, congratulations to your splendid party</content> +</memo> \ No newline at end of file diff --git a/Doc/Etest/SaxHtmlCreate/Solution/pom.xml b/Doc/Etest/SaxHtmlCreate/Solution/pom.xml new file mode 100644 index 000000000..ad9664686 --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Solution/pom.xml @@ -0,0 +1,38 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>de.hdm_stuttgart.mi.sda1.saxhtml</groupId> + <artifactId>saxhtml_solution</artifactId> + <version>1.0</version> + <build> + <sourceDirectory>src</sourceDirectory> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.1</version> + <configuration> + <source>1.7</source> + <target>1.7</target> + </configuration> + </plugin> + </plugins> + </build> + <dependencies> + <dependency> + <groupId>org.jdom</groupId> + <artifactId>jdom2</artifactId> + <version>2.0.5</version> + </dependency> + <dependency> + <groupId>jaxen</groupId> + <artifactId>jaxen</artifactId> + <version>1.1.4</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.11</version> + <scope>test</scope> + </dependency> + </dependencies> +</project> diff --git a/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Driver.java b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Driver.java new file mode 100644 index 000000000..43de23503 --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Driver.java @@ -0,0 +1,15 @@ +package de.hdm_stuttgart.mi.sda1.saxhtml; + +/** Driver */ +public class Driver { + /** @param argv unused */ + public static void main(String argv[]) { + try{ + Memo2Html xmlStats = new Memo2Html(); + xmlStats.parse("memo.xml"); + + } catch (Exception e){ + e.printStackTrace(System.err); + } + } +} \ No newline at end of file diff --git a/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2Html.java b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2Html.java new file mode 100644 index 000000000..009255e28 --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2Html.java @@ -0,0 +1,40 @@ +package de.hdm_stuttgart.mi.sda1.saxhtml; + +import java.io.IOException; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; + +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; + +/** Parser, content- and error handler assembly */ +public class Memo2Html { + + private final XMLReader xmlReader; + private final Memo2HtmlHandler eventHandler = new Memo2HtmlHandler(); + private final MyErrorHandler errorHandler = new MyErrorHandler(); + + /** + * @throws SAXException Parsing may fail. + * @throws ParserConfigurationException Unable to instantiate parser. + */ + public Memo2Html() + throws SAXException, ParserConfigurationException{ + final SAXParserFactory saxPf = SAXParserFactory.newInstance(); + final SAXParser saxParser = saxPf.newSAXParser(); + xmlReader = saxParser.getXMLReader(); + xmlReader.setContentHandler(eventHandler); + xmlReader.setErrorHandler(errorHandler); + } + /** Parse an existing memo instance and create HTML output. + * @param uri The resource to be parsed + * @throws IOException Access related problems + * @throws SAXException Parsing may fail + */ + public void parse(final String uri) + throws IOException, SAXException{ + xmlReader.parse(uri); + } +} \ No newline at end of file diff --git a/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2HtmlHandler.java b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2HtmlHandler.java new file mode 100644 index 000000000..057c93ccf --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/Memo2HtmlHandler.java @@ -0,0 +1,88 @@ +package de.hdm_stuttgart.mi.sda1.saxhtml; + +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * Turning <memo> documents to HTML + * + */ +public class Memo2HtmlHandler extends DefaultHandler { + + boolean printElementContent = false; + + @Override public void startDocument() throws SAXException { + // Create HTML head + print("<html xmlns='http://www.w3.org/1999/xhtml'>\n" + + " <head><title>A Memo</title></head>\n" + + " <body>\n"); // <from> content follows ... + } + + @Override + public void startElement(String uri, String localName, String tagName, + Attributes attributes) throws SAXException { + switch(tagName) { + case "from": + print(" <dl>\n" + + " <dt>Sender:</dt>\n" + + " <dd>"); + printElementContent = true; + break; + + case "to": + print(" <li>"); + printElementContent = true; + break; + + case "subject": + case "content": + case "memo": + break; + + default: + print("unexpected element '" + tagName + "'"); + } + } + + @Override + public void characters(char[] ch, int start, int length) throws SAXException { + if (printElementContent) { + print(new String(ch, start, length).trim()); + } + } + + @Override + public void endElement(String uri, String localName, String tagName) + throws SAXException { + switch(tagName) { + + case "from": + print("</dd>\n" + + " <dt>Recipients:</dt>\n" + + " <dd>\n" + + " <ul>\n"); + printElementContent = false; + break; + + case "to": + print("</li>\n"); + printElementContent = false; + break; + + case "subject": + print(" </ul>\n" // Ending list of recipients + + " </dd>\n" + + " </dl>\n"); + break; + } + } + + @Override public void endDocument() throws SAXException { + print(" </body>\n" + + "</html>\n"); + } + + // Shortcut System.out.print + private void print(final String s) { System.out.print(s);} +} \ No newline at end of file diff --git a/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/MyErrorHandler.java b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/MyErrorHandler.java new file mode 100644 index 000000000..95389354d --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/MyErrorHandler.java @@ -0,0 +1,25 @@ +package de.hdm_stuttgart.mi.sda1.saxhtml; + +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; +import org.xml.sax.ErrorHandler; + +/** Handle parsing errors */ +public class MyErrorHandler implements ErrorHandler { + /** @see ErrorHandler#warning(SAXParseException) */ + public void warning(SAXParseException e) { + System.err.println("[Warning]" + getLocationString(e)); + } + /** @see ErrorHandler#error(SAXParseException) */ + public void error(SAXParseException e) { + System.err.println("[Error]" + getLocationString(e)); + } + /** @see ErrorHandler#fatalError(SAXParseException) */ + public void fatalError(SAXParseException e) throws SAXException{ + System.err.println("[Fatal Error]" + getLocationString(e)); + } + private String getLocationString(SAXParseException e) { + return " line " + e.getLineNumber() + + ", column " + e.getColumnNumber()+ ":" + e.getMessage(); + } +} \ No newline at end of file diff --git a/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/package-info.java b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/package-info.java new file mode 100644 index 000000000..388d76a62 --- /dev/null +++ b/Doc/Etest/SaxHtmlCreate/Solution/src/de/hdm_stuttgart/mi/sda1/saxhtml/package-info.java @@ -0,0 +1,4 @@ +/** + * Create HTML output from XML data sources + */ +package de.hdm_stuttgart.mi.sda1.saxhtml; \ No newline at end of file diff --git a/ws/eclipse/Jdbc/.gitignore b/ws/eclipse/Jdbc/.gitignore index 77ffd11b0..c650a1dc6 100644 --- a/ws/eclipse/Jdbc/.gitignore +++ b/ws/eclipse/Jdbc/.gitignore @@ -1,3 +1,4 @@ /target /.classpath /.settings +/.project diff --git a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/HtmlCreateHandler.java b/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/HtmlCreateHandler.java deleted file mode 100644 index be0685e30..000000000 --- a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/HtmlCreateHandler.java +++ /dev/null @@ -1,56 +0,0 @@ -package sax.htmlcreate; - -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - -public class HtmlCreateHandler extends DefaultHandler { - - String currentElement;// Save name currently visited element - - @Override public void startDocument() throws SAXException { - print("<html xmlns='http://www.w3.org/1999/xhtml'>\n" - + " <head><title>A Memo</title></head>\n" - + " <body>\n" - + " <dl>\n" - + " <dt>Sender:</dt>"); // <from> content follows ... - } - - @Override - public void startElement(String uri, String localName, String qName, - Attributes attributes) throws SAXException { - currentElement = qName; - } - - @Override - public void characters(char[] ch, int start, int length) throws SAXException { - final String content = new String(ch, start, length).trim(); - if (0 < content.length()) { - switch(currentElement) { - case "from": print(" <dd>" + content + "</dd>\n" - + " <dt>Recipients:</dt>\n" - + " <dd>\n" - + " <ul>"); - break; - case "to": print(" <li>" + content + "</li>"); - break; - case "subject": print(" </ul>\n" - + " </dd>\n" - + " </dl>"); - break; - case "content": - break; - - default: print("unexpected content:" + content); - } - } - } - - @Override public void endDocument() throws SAXException { - print(" </body>\n" - +"</html>\n"); - } - - // Shortcut System.out.println - private void print(final String s) { System.out.println(s);} -} \ No newline at end of file diff --git a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Memo2HtmlHandler.java b/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Memo2HtmlHandler.java deleted file mode 100644 index a9005a6a0..000000000 --- a/ws/eclipse/Jdbc/src/main/java/sax/htmlcreate/Memo2HtmlHandler.java +++ /dev/null @@ -1,18 +0,0 @@ -package sax.htmlcreate; - -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - -public class Memo2HtmlHandler extends DefaultHandler { - - @Override public void startDocument() throws SAXException {} - - @Override public void endDocument() throws SAXException {} - - @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {} - - @Override public void endElement(String uri, String localName, String qName) throws SAXException {} - - @Override public void characters(char[] ch, int start, int length) throws SAXException {} -} -- GitLab