/** * @deprecated As of 1.4.9, use {@link #XomDriver()} and overload {@link #createBuilder()} instead */ public XomDriver(Builder builder) { this(builder, new XmlFriendlyNameCoder()); }
/** * {@inheritDoc} */ public String decodeAttribute(String attributeName) { return decodeName(attributeName); }
/** * Unescapes name re-enstating '$' and '_' when replacement strings are found * * @param name the name of attribute or node * @return The String with unescaped name * @deprecated As of 1.4, use {@link XmlFriendlyNameCoder} instead */ public String unescapeName(String name) { return super.decodeNode(name); }
private static boolean isXmlNameChar(int cp) { if (isXmlNameStartChar(cp)) { return true; } return isInNameCharBounds(cp, XML_NAME_CHAR_EXTRA_BOUNDS); }
} else if (c == '_') { result.append(escapeCharReplacement); } else if ((i == 0 && !isXmlNameStartChar(c)) || (i > 0 && !isXmlNameChar(c))) { result.append(hexPrefix); if (c < 16) result.append("000");
/** * {@inheritDoc} */ public String encodeAttribute(String name) { return encodeName(name); }
/** * Construct a new XmlFriendlyNameCoder with custom replacement strings for dollar, the * escape character and the prefix for hexadecimal encoding of invalid characters in XML * names. * * @param dollarReplacement * @param escapeCharReplacement * @since 1.4 */ public XmlFriendlyNameCoder( String dollarReplacement, String escapeCharReplacement, String hexPrefix) { this.dollarReplacement = dollarReplacement; this.escapeCharReplacement = escapeCharReplacement; this.hexPrefix = hexPrefix; readResolve(); }
/** * Escapes name substituting '$' and '_' with replacement strings * * @param name the name of attribute or node * @return The String with the escaped name * @deprecated As of 1.4, use {@link XmlFriendlyNameCoder} instead */ public String escapeName(String name) { return super.encodeNode(name); }
private static boolean isXmlNameStartChar(int cp) { return isInNameCharBounds(cp, XML_NAME_START_CHAR_BOUNDS); }
private static boolean isXmlNameChar(final int cp) { if (isXmlNameStartChar(cp)) { return true; } return isInNameCharBounds(cp, XML_NAME_CHAR_EXTRA_BOUNDS); }
} else if (c == '_') { result.append(escapeCharReplacement); } else if (i == 0 && !isXmlNameStartChar(c) || i > 0 && !isXmlNameChar(c)) { result.append(hexPrefix); if (c < 16) {
/** * {@inheritDoc} */ public String encodeNode(String name) { return encodeName(name); }
public Object clone() { try { XmlFriendlyNameCoder coder = (XmlFriendlyNameCoder)super.clone(); coder.readResolve(); return coder; } catch (CloneNotSupportedException e) { throw new ObjectAccessException("Cannot clone XmlFriendlyNameCoder", e); } }
/** * Escapes name substituting '$' and '_' with replacement strings * * @param name the name of attribute or node * @return The String with the escaped name * @deprecated As of 1.4, use {@link XmlFriendlyNameCoder} instead */ public String escapeName(String name) { return super.encodeNode(name); }
private static boolean isXmlNameStartChar(final int cp) { return isInNameCharBounds(cp, XML_NAME_START_CHAR_BOUNDS); }
/** * Construct a KXml2Driver. * * @since 1.4 */ public KXml2Driver() { super(new XmlFriendlyNameCoder()); }
private static boolean isXmlNameChar(int cp) { if (isXmlNameStartChar(cp)) { return true; } return isInNameCharBounds(cp, XML_NAME_CHAR_EXTRA_BOUNDS); }
} else if (c == '_') { result.append(escapeCharReplacement); } else if ((i == 0 && !isXmlNameStartChar(c)) || (i > 0 && !isXmlNameChar(c))) { result.append(hexPrefix); if (c < 16) result.append("000");
/** * {@inheritDoc} */ public String encodeNode(String name) { return encodeName(name); }
/** * {@inheritDoc} */ public String decodeNode(String elementName) { return decodeName(elementName); }