/** * Returns all namespace keys and values. Should be only called for element nodes. * * @param pre pre value * @return key and value ids */ public final Atts ns(final int pre) { final Atts as = new Atts(); if (nsFlag(pre)) { final int[] nsp = nspaces.get(pre, this); for (int n = 0; n < nsp.length; n += 2) as.add(nspaces.prefix(nsp[n]), nspaces.uri(nsp[n + 1])); } return as; }
/** * Prints the node structure for debugging purposes. * * @param tb token builder * @param level level * @param ns namespace reference * @param start start pre value * @param end end pre value */ private void print( final TokenBuilder tb, final int level, final Namespaces ns, final int start, final int end) { if (pr >= start && pr <= end) { tb.add(NL); for (int i = 0; i < level; ++i) tb.add(" "); tb.add(toString() + ' '); for (int i = 0; i < values.length; i += 2) { tb.add("xmlns"); final byte[] p = ns.prefix(values[i]); if (p.length != 0) tb.add(':'); tb.add(p).add("=\"").add(ns.uri(values[i + 1])).add("\" "); } } for (int c = 0; c < sz; ++c) children[c].print(tb, level + 1, ns, start, end); }