jlibs.xml.sax.AnsiHandler Maven / Gradle / Ivy
/**
* Copyright 2015 Santhosh Kumar Tekuri
*
* The JLibs authors license this file to you 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 jlibs.xml.sax;
import jlibs.core.lang.Ansi;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* @author Santhosh Kumar T
*/
public class AnsiHandler extends DefaultHandler{
private static final Ansi TOKENS = new Ansi(Ansi.Attribute.NORMAL, Ansi.Color.CYAN, null);
private static final Ansi ELEMENT = new Ansi(Ansi.Attribute.NORMAL, Ansi.Color.YELLOW, null);
private static final Ansi ATTR_NAME = new Ansi(Ansi.Attribute.NORMAL, Ansi.Color.GREEN, null);
private static final Ansi ATTR_VALUE = new Ansi(Ansi.Attribute.NORMAL, Ansi.Color.MAGENTA, null);
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException{
TOKENS.out("<");
ELEMENT.out(qName);
for(int i=0; i");
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException{
TOKENS.out("");
ELEMENT.out(qName);
TOKENS.out(">");
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException{
System.out.print(new String(ch, start, length));
}
@Override
public void endDocument() throws SAXException{
System.out.println();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy