int thisFingerprint = namePool.getFingerprint(nameCode); int foBlockFingerprint = namePool.getFingerprint(foURI, "block"); int htmlPreFingerprint = namePool.getFingerprint("", "pre"); int htmlDivFingerprint = namePool.getFingerprint("", "div"); int xhtmlPreFingerprint = namePool.getFingerprint(xhURI, "pre"); int xhtmlDivFingerprint = namePool.getFingerprint(xhURI, "div");
@Override public int allocateNamespaceCode(int namecode) { Integer code = nameToNamespaceCodes.get(namecode); if(code == null) { code = super.allocateNamespaceCode(namecode); nameToNamespaceCodes.putIfAbsent(namecode, code); } return code; }
@Override public short allocateCodeForURI(String uri) { Short code = uriCodes.get(uri); if(code == null) { code = super.allocateCodeForURI(uri); uriCodes.putIfAbsent(uri, code); } return code; }
public static NodeEnumeration tokenize(Context context, String str, String pattern) throws XPathException { try { Builder builder = context.getController().makeBuilder(); NamePool pool = context.getController().getNamePool(); builder.setNamePool(pool); builder.startDocument(); int name = pool.allocate("", "", "token"); AttributeCollection emptyAtts = new AttributeCollection(pool); String[] tokens = str.split(pattern); for(String token: tokens) { builder.startElement(name, emptyAtts, new int[0], 0); builder.characters(token.toCharArray(), 0, token.length()); builder.endElement(name); } builder.endDocument(); DocumentInfo doc = builder.getCurrentDocument(); return doc.getEnumeration(Axis.CHILD, AnyNodeTest.getInstance()); } catch (Exception err) { ExtensionFunctionUtils.setExtensionFunctionError(err); throw new XPathException(err); } }
private static void blockToSaxon6Node(Block b, Builder builder, NamePool pool, Config config) throws Exception { if (b.isStyled()) { AttributeCollection emptyAtts = new AttributeCollection(pool); int elemId = pool.allocate(config.prefix, config.uri, ((StyledBlock) b).getStyle()); builder.startElement(elemId, emptyAtts, new int[0], 0); builder.characters(b.getText().toCharArray(), 0, b.getText() .length()); builder.endElement(elemId); } else { builder.characters(b.getText().toCharArray(), 0, b.getText() .length()); } }
public void endSpan(Emitter rtf) throws TransformerException { if (!foStylesheet && namePool != null) { if (xhStylesheet) { uri = xhURI; } int spanName = namePool.allocate("", uri, "span"); rtf.endElement(spanName); } }
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 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 leave(NodeInfo node, Context context) { //Format: callback try { if (node.getNodeType()==NodeInfo.ELEMENT) { if(format==Format.VERBOSE) { currentIndent=currentIndent.substring(0,currentIndent.length()-indent.length()); writer.write(currentIndent); writer.write(")\n"); } else { writer.write(")\n"); } } } catch(IOException x) { LOG.error("Can't write trace.",x); } }
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 String getSystemId() { NodeInfo info=context.getContextNodeInfo(); return info.getSystemId(); }
public String getDocumentElementName() { NodeInfo info=context.getContextNodeInfo(); return ((Document)info.getDocumentRoot()).getDocumentElement().getNodeName(); }
@Override public int allocate(String prefix, short uriCode, String localName) { CacheKey key = new CacheKey(prefix, uriCode, localName); Integer code = nameCodes.get(key); if(code == null) { code = super.allocate(prefix, uriCode, localName); nameCodes.putIfAbsent(key, code); } return code; }
/** <p>Constructor for the UnwrapLinksEmitter.</p> * * @param namePool The name pool to use for constructing elements and attributes. * @param foStylesheet Is this an FO stylesheet? */ public UnwrapLinksEmitter(Controller controller, NamePool namePool, boolean foStylesheet) { super(controller,namePool); elementStack = new Stack(); this.foStylesheet = foStylesheet; htmlAFingerprint = namePool.getFingerprint("", "a"); xhtmlAFingerprint = namePool.getFingerprint(xhURI, "a"); }
@Override public int allocateNamespaceCode(String prefix, String uri) { CacheKey key = new CacheKey(prefix, uri); Integer code = namespaceCodes.get(key); if(code == null) { code = super.allocateNamespaceCode(prefix, uri); namespaceCodes.putIfAbsent(key, code); } return code; }
private String getShortSystemId(NodeInfo node) { String systemId=node.getSystemId(); if(format==Format.VERBOSE) { int ind=systemId.lastIndexOf('/'); if(ind>0) systemId=systemId.substring(ind+1); } else { Integer value=namePool.get(systemId); if(value==null) { value=namePool.size(); namePool.put(systemId, value); } systemId=value.toString(); } return systemId; }
public void startSpan(Emitter rtf, String id) throws TransformerException { if (!foStylesheet && namePool != null) { if(xhStylesheet) { uri = xhURI; } int spanName = namePool.allocate("", uri, "span"); AttributeCollection spanAttr = new AttributeCollection(namePool); int namespaces[] = new int[1]; spanAttr.addAttribute("", uri, "class", "CDATA", "co"); spanAttr.addAttribute("", uri, "id", "CDATA", id); rtf.startElement(spanName, spanAttr, namespaces, 0); } }
int thisFingerprint = namePool.getFingerprint(nameCode); int foBlockFingerprint = namePool.getFingerprint(foURI, "block"); int htmlPreFingerprint = namePool.getFingerprint("", "pre"); int htmlDivFingerprint = namePool.getFingerprint("", "div"); int xhtmlPreFingerprint = namePool.getFingerprint(xhURI, "pre"); int xhtmlDivFingerprint = namePool.getFingerprint(xhURI, "div");
throws TransformerException { int thisFingerprint = namePool.getFingerprint(nameCode); int colFingerprint = namePool.getFingerprint("", "col"); int XHTMLcolFingerprint = namePool.getFingerprint(xhtmlURI, "col"); int foColFingerprint = namePool.getFingerprint(foURI, "table-column");
throws TransformerException { int thisFingerprint = namePool.getFingerprint(nameCode); int colFingerprint = namePool.getFingerprint("", "col"); int XHTMLcolFingerprint = namePool.getFingerprint(xhtmlURI, "col"); int foColFingerprint = namePool.getFingerprint(foURI, "table-column"); int widthFingerprint = namePool.getFingerprint("", "width"); } else if (thisFingerprint == foColFingerprint) { AttributeCollection attr = new AttributeCollection(namePool, attributes); int widthFingerprint = namePool.getFingerprint("", "column-width");