1.1 --- a/java/alt2xml/src/cz/frantovo/alt2xml/výstup/EchoContentHandler.java Tue Jan 03 14:47:22 2012 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,83 +0,0 @@
1.4 -package cz.frantovo.alt2xml.výstup;
1.5 -
1.6 -import javax.xml.stream.XMLStreamException;
1.7 -import javax.xml.stream.XMLStreamWriter;
1.8 -import org.xml.sax.Attributes;
1.9 -import org.xml.sax.SAXException;
1.10 -import org.xml.sax.helpers.DefaultHandler;
1.11 -
1.12 -/**
1.13 - * Slouží k převodu právě parsovaného XML zpět na XML.
1.14 - * Určen pro testování a ladění a pro použití s neobvyklými „XML“ parsery,
1.15 - * které nečtou XML ale jiný jazyk (např. JSON, INI atd.), ale používají stejné rozhraní (SAX).
1.16 - *
1.17 - * TODO: další typy uzlů a jmenné prostory.
1.18 - * @author fiki
1.19 - */
1.20 -public class EchoContentHandler extends DefaultHandler {
1.21 -
1.22 - private XMLStreamWriter w;
1.23 -
1.24 - /**
1.25 - * @param writer kam se bude vypisovat XML.
1.26 - */
1.27 - public EchoContentHandler(XMLStreamWriter writer) {
1.28 - w = writer;
1.29 - }
1.30 -
1.31 - @Override
1.32 - public void startDocument() throws SAXException {
1.33 - try {
1.34 - w.writeStartDocument();
1.35 - } catch (XMLStreamException e) {
1.36 - throw new SAXException(e);
1.37 - }
1.38 - }
1.39 -
1.40 - @Override
1.41 - public void endDocument() throws SAXException {
1.42 - try {
1.43 - w.writeEndDocument();
1.44 - w.close();
1.45 - } catch (XMLStreamException e) {
1.46 - throw new SAXException(e);
1.47 - }
1.48 - }
1.49 -
1.50 - @Override
1.51 - public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
1.52 - try {
1.53 - w.writeStartElement(qName);
1.54 -
1.55 - if (attributes != null) {
1.56 - for (int i = 0; i < attributes.getLength(); i++) {
1.57 - w.writeAttribute(attributes.getQName(i), attributes.getValue(i));
1.58 - }
1.59 - }
1.60 -
1.61 - w.flush();
1.62 - } catch (XMLStreamException e) {
1.63 - throw new SAXException(e);
1.64 - }
1.65 - }
1.66 -
1.67 - @Override
1.68 - public void endElement(String uri, String localName, String qName) throws SAXException {
1.69 - try {
1.70 - w.writeEndElement();
1.71 - w.flush();
1.72 - } catch (XMLStreamException e) {
1.73 - throw new SAXException(e);
1.74 - }
1.75 - }
1.76 -
1.77 - @Override
1.78 - public void characters(char[] ch, int start, int length) throws SAXException {
1.79 - try {
1.80 - w.writeCharacters(ch, start, length);
1.81 - w.flush();
1.82 - } catch (XMLStreamException e) {
1.83 - throw new SAXException(e);
1.84 - }
1.85 - }
1.86 -}