blob: 9d0026c245d0a54af9b945b6eaca3abd93fbfe53 [file] [log] [blame]
package org.intellij.plugins.xsltDebugger.rt.engine.local.xalan;
import org.apache.xml.serializer.DOMSerializer;
import org.apache.xml.serializer.NamespaceMappings;
import org.apache.xml.serializer.SerializationHandler;
import org.intellij.plugins.xsltDebugger.rt.engine.local.LocalDebugger;
import org.w3c.dom.Node;
import org.xml.sax.*;
import javax.xml.transform.SourceLocator;
import javax.xml.transform.Transformer;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
import java.util.Properties;
import java.util.Vector;
class TracingSerializationHandler implements SerializationHandler {
private final LocalDebugger myDebugger;
private final SerializationHandler mySerializationHandler;
public TracingSerializationHandler(LocalDebugger debugger, SerializationHandler handler) {
myDebugger = debugger;
mySerializationHandler = handler;
// final URL location = SerializationHandler.class.getProtectionDomain().getCodeSource().getLocation();
// System.out.println("location = " + location);
}
private static String calcPrefix(String qname) {
return qname.indexOf(':') == -1 ? "" : qname.split(":")[0];
}
public void setContentHandler(ContentHandler ch) {
mySerializationHandler.setContentHandler(ch);
}
public void close() {
mySerializationHandler.close();
}
public void serialize(Node node) throws IOException {
mySerializationHandler.serialize(node);
}
public boolean setEscaping(boolean escape) throws SAXException {
return mySerializationHandler.setEscaping(escape);
}
public void setIndentAmount(int spaces) {
mySerializationHandler.setIndentAmount(spaces);
}
public void setTransformer(Transformer transformer) {
mySerializationHandler.setTransformer(transformer);
}
public Transformer getTransformer() {
return mySerializationHandler.getTransformer();
}
public void setNamespaceMappings(NamespaceMappings mappings) {
mySerializationHandler.setNamespaceMappings(mappings);
}
public void flushPending() throws SAXException {
mySerializationHandler.flushPending();
}
public void setDTDEntityExpansion(boolean expand) {
mySerializationHandler.setDTDEntityExpansion(expand);
}
public void addAttribute(String uri, String localName, String rawName, String type, String value, boolean XSLAttribute)
throws SAXException {
myDebugger.getEventQueue().attribute(calcPrefix(rawName), localName, uri, value);
mySerializationHandler.addAttribute(uri, localName, rawName, type, value, XSLAttribute);
}
public void addAttribute(String uri, String localName, String rawName, String type, String value) throws SAXException {
myDebugger.getEventQueue().attribute("", localName, uri, value);
mySerializationHandler.addAttribute(uri, localName, rawName, type, value);
}
public void addAttributes(Attributes atts) throws SAXException {
mySerializationHandler.addAttributes(atts);
}
public void addAttribute(String qName, String value) {
mySerializationHandler.addAttribute(qName, value);
}
public void characters(String chars) throws SAXException {
mySerializationHandler.characters(chars);
}
public void characters(Node node) throws SAXException {
mySerializationHandler.characters(node);
}
public void endElement(String elemName) throws SAXException {
mySerializationHandler.endElement(elemName);
}
public void startElement(String uri, String localName, String qName) throws SAXException {
myDebugger.getEventQueue().startElement(calcPrefix(qName), localName, uri);
mySerializationHandler.startElement(uri, localName, qName);
}
public void startElement(String qName) throws SAXException {
mySerializationHandler.startElement(qName);
}
public void namespaceAfterStartElement(String uri, String prefix) throws SAXException {
mySerializationHandler.namespaceAfterStartElement(uri, prefix);
}
public boolean startPrefixMapping(String prefix, String uri, boolean shouldFlush) throws SAXException {
return mySerializationHandler.startPrefixMapping(prefix, uri, shouldFlush);
}
public void entityReference(String entityName) throws SAXException {
mySerializationHandler.entityReference(entityName);
}
public NamespaceMappings getNamespaceMappings() {
return mySerializationHandler.getNamespaceMappings();
}
public String getPrefix(String uri) {
return mySerializationHandler.getPrefix(uri);
}
public String getNamespaceURI(String name, boolean isElement) {
return mySerializationHandler.getNamespaceURI(name, isElement);
}
public String getNamespaceURIFromPrefix(String prefix) {
return mySerializationHandler.getNamespaceURIFromPrefix(prefix);
}
public void setSourceLocator(SourceLocator locator) {
mySerializationHandler.setSourceLocator(locator);
}
public void addUniqueAttribute(String qName, String value, int flags) throws SAXException {
mySerializationHandler.addUniqueAttribute(qName, value, flags);
}
public void addXSLAttribute(String qName, String value, String uri) {
mySerializationHandler.addXSLAttribute(qName, value, uri);
}
public void setDocumentLocator(Locator locator) {
mySerializationHandler.setDocumentLocator(locator);
}
public void startDocument() throws SAXException {
mySerializationHandler.startDocument();
}
public void endDocument() throws SAXException {
mySerializationHandler.endDocument();
}
public void startPrefixMapping(String prefix, String uri) throws SAXException {
mySerializationHandler.startPrefixMapping(prefix, uri);
}
public void endPrefixMapping(String prefix) throws SAXException {
mySerializationHandler.endPrefixMapping(prefix);
}
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
mySerializationHandler.startElement(uri, localName, qName, atts);
}
public void endElement(String uri, String localName, String qName) throws SAXException {
mySerializationHandler.endElement(uri, localName, qName);
}
public void characters(char[] ch, int start, int length) throws SAXException {
mySerializationHandler.characters(ch, start, length);
}
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
mySerializationHandler.ignorableWhitespace(ch, start, length);
}
public void processingInstruction(String target, String data) throws SAXException {
mySerializationHandler.processingInstruction(target, data);
}
public void skippedEntity(String name) throws SAXException {
mySerializationHandler.skippedEntity(name);
}
public void comment(String comment) throws SAXException {
mySerializationHandler.comment(comment);
}
public void startDTD(String name, String publicId, String systemId) throws SAXException {
mySerializationHandler.startDTD(name, publicId, systemId);
}
public void endDTD() throws SAXException {
mySerializationHandler.endDTD();
}
public void startEntity(String name) throws SAXException {
mySerializationHandler.startEntity(name);
}
public void endEntity(String name) throws SAXException {
mySerializationHandler.endEntity(name);
}
public void startCDATA() throws SAXException {
mySerializationHandler.startCDATA();
}
public void endCDATA() throws SAXException {
mySerializationHandler.endCDATA();
}
public void comment(char[] ch, int start, int length) throws SAXException {
mySerializationHandler.comment(ch, start, length);
}
public String getDoctypePublic() {
return mySerializationHandler.getDoctypePublic();
}
public String getDoctypeSystem() {
return mySerializationHandler.getDoctypeSystem();
}
public String getEncoding() {
return mySerializationHandler.getEncoding();
}
public boolean getIndent() {
return mySerializationHandler.getIndent();
}
public int getIndentAmount() {
return mySerializationHandler.getIndentAmount();
}
public String getMediaType() {
return mySerializationHandler.getMediaType();
}
public boolean getOmitXMLDeclaration() {
return mySerializationHandler.getOmitXMLDeclaration();
}
public String getStandalone() {
return mySerializationHandler.getStandalone();
}
public String getVersion() {
return mySerializationHandler.getVersion();
}
public void setCdataSectionElements(Vector URI_and_localNames) {
mySerializationHandler.setCdataSectionElements(URI_and_localNames);
}
public void setDoctype(String system, String pub) {
mySerializationHandler.setDoctype(system, pub);
}
public void setDoctypePublic(String doctype) {
mySerializationHandler.setDoctypePublic(doctype);
}
public void setDoctypeSystem(String doctype) {
mySerializationHandler.setDoctypeSystem(doctype);
}
public void setEncoding(String encoding) {
mySerializationHandler.setEncoding(encoding);
}
public void setIndent(boolean indent) {
mySerializationHandler.setIndent(indent);
}
public void setMediaType(String mediatype) {
mySerializationHandler.setMediaType(mediatype);
}
public void setOmitXMLDeclaration(boolean b) {
mySerializationHandler.setOmitXMLDeclaration(b);
}
public void setStandalone(String standalone) {
mySerializationHandler.setStandalone(standalone);
}
public void setVersion(String version) {
mySerializationHandler.setVersion(version);
}
public String getOutputProperty(String name) {
return mySerializationHandler.getOutputProperty(name);
}
public String getOutputPropertyDefault(String name) {
return mySerializationHandler.getOutputPropertyDefault(name);
}
public void setOutputProperty(String name, String val) {
mySerializationHandler.setOutputProperty(name, val);
}
public void setOutputPropertyDefault(String name, String val) {
mySerializationHandler.setOutputPropertyDefault(name, val);
}
public void elementDecl(String name, String model) throws SAXException {
mySerializationHandler.elementDecl(name, model);
}
public void attributeDecl(String eName, String aName, String type, String mode, String value) throws SAXException {
mySerializationHandler.attributeDecl(eName, aName, type, mode, value);
}
public void internalEntityDecl(String name, String value) throws SAXException {
mySerializationHandler.internalEntityDecl(name, value);
}
public void externalEntityDecl(String name, String publicId, String systemId) throws SAXException {
mySerializationHandler.externalEntityDecl(name, publicId, systemId);
}
public void notationDecl(String name, String publicId, String systemId) throws SAXException {
mySerializationHandler.notationDecl(name, publicId, systemId);
}
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException {
mySerializationHandler.unparsedEntityDecl(name, publicId, systemId, notationName);
}
public void warning(SAXParseException exception) throws SAXException {
mySerializationHandler.warning(exception);
}
public void error(SAXParseException exception) throws SAXException {
mySerializationHandler.error(exception);
}
public void fatalError(SAXParseException exception) throws SAXException {
mySerializationHandler.fatalError(exception);
}
public void setOutputStream(OutputStream output) {
mySerializationHandler.setOutputStream(output);
}
public OutputStream getOutputStream() {
return mySerializationHandler.getOutputStream();
}
public void setWriter(Writer writer) {
mySerializationHandler.setWriter(writer);
}
public Writer getWriter() {
return mySerializationHandler.getWriter();
}
public void setOutputFormat(Properties format) {
mySerializationHandler.setOutputFormat(format);
}
public Properties getOutputFormat() {
return mySerializationHandler.getOutputFormat();
}
public ContentHandler asContentHandler() throws IOException {
return mySerializationHandler.asContentHandler();
}
public DOMSerializer asDOMSerializer() throws IOException {
return mySerializationHandler.asDOMSerializer();
}
public boolean reset() {
return mySerializationHandler.reset();
}
public Object asDOM3Serializer() throws IOException {
return mySerializationHandler.asDOM3Serializer();
}
}