public static String getLocation(Context context) { StringBuilder sb = new StringBuilder(); StaticContext staticContext = context.getStaticContext(); if(staticContext != null) { String systemId = staticContext.getSystemId(); if(systemId != null && systemId.length() > 0) { sb.append(systemId).append(":").append(staticContext.getLineNumber()); } } NodeInfo current = context.getCurrentNodeInfo(); if(current != null) { String systemId = current.getSystemId(); if(systemId != null && systemId.length() > 0) { if(sb.length() > 0) { sb.append("|"); } sb.append(systemId).append(":").append(current.getLineNumber()); } } return sb.toString(); }
@Override public void enter(NodeInfo node, Context arg1) { XSLTraceStep step = new XSLTraceStep(); step.start = System.nanoTime(); step.startInsNo = instructionCount; step.systemId = node.getSystemId(); step.lineNumber = node.getLineNumber(); step.displayName = node.getDisplayName(); if(currentStep != null) { step.parent = currentStep; if(currentStep.children == null) { currentStep.children = new ArrayList<>(); } currentStep.children.add(step); } currentStep = step; instructionCount++; }
public void enterSource(NodeHandler handler, Context context) { //Format: callback|systemid|path|line|mode try { NodeInfo node = context.getContextNodeInfo(); if(format==Format.VERBOSE) { writer.write(currentIndent); writer.write("["); writer.write(getShortSystemId(node)+"|"); writer.write(node.getLineNumber()+"|"); writer.write(Navigator.getPath(node)+"|"); String mode=getShortMode(context); writer.write((mode==null?"":mode)+"|\n"); currentIndent+=indent; } else { writer.write("["); writer.write(getShortSystemId(node)+"|"); writer.write(node.getLineNumber()+"|"); writer.write(getShortPath(Navigator.getPath(node))+"|"); String mode=getShortMode(context); writer.write((mode==null?"":mode)+"|\n"); } } catch(IOException x) { LOG.error("Can't write trace.",x); } }
public static String getLocation(Context context) { StringBuilder sb = new StringBuilder(); NodeInfo currentNode = context.getCurrentNodeInfo(); if(currentNode != null) { sb.append(currentNode.getSystemId() + ":" + currentNode.getParent().getParent().getLineNumber()); } StaticContext staticContext = context.getStaticContext(); sb.append(" "+staticContext.getSystemId()+ ":"+staticContext.getLineNumber()); return sb.toString(); }
public void enter(NodeInfo node, Context context) { //Format: callback|systemid|line|path|mode try { if (node.getNodeType()==NodeInfo.ELEMENT) { if(format==Format.VERBOSE) { writer.write(currentIndent); writer.write("("); writer.write(getShortSystemId(node)+"|"); writer.write(node.getLineNumber()+"|"); writer.write(Navigator.getPath(node)+"|"); String mode=getShortMode(context); writer.write((mode==null?"":mode)+"|\n"); currentIndent+=indent; } else { writer.write("("); writer.write(getShortSystemId(node)+"|"); writer.write(node.getLineNumber()+"|"); writer.write(getShortPath(Navigator.getPath(node))+"|"); String mode=getShortMode(context); writer.write((mode==null?"":mode)+"|\n"); } } } catch(IOException x) { LOG.error("Can't write trace.",x); } }
public void fatalError(TransformerException e) throws TransformerException { if(traceListener != null) { NodeInfo nodeInfo = traceListener.getContextNodeInfo(); nodeInfo = traceListener.getCurrentNodeInfo(); if(nodeInfo != null && nodeInfo.getSystemId() != null && !nodeInfo.getSystemId().isEmpty()) { XMLSourceLocator xmlLocator = new XMLSourceLocator(nodeInfo.getSystemId(), nodeInfo.getLineNumber()); XSLSourceLocator xslLocator = new XSLSourceLocator(e.getLocator(), xmlLocator); e.setLocator(xslLocator); } } super.fatalError(e); }