public static boolean isNCName(String str) { if (str == null) { return false; } else { int len = str.length(); switch (len) { case 0: return false; case 1: return NCName.isNCNameStart(str.charAt(0)); default: if (!NCName.isNCNameStart(str.charAt(0))) { return false; } for (int i = 1; i < len; i++) { if (!NCName.isNCNameTrail(str.charAt(i))) { return false; } } } return true; } }
public static boolean isNCName(String str) { if (str == null) { return false; } else { int len = str.length(); switch (len) { case 0: return false; case 1: return NCName.isNCNameStart(str.charAt(0)); default: if (!NCName.isNCNameStart(str.charAt(0))) { return false; } for (int i = 1; i < len; i++) { if (!NCName.isNCNameTrail(str.charAt(i))) { return false; } } } return true; } }
public static boolean isNCName(String str) { if (str == null) { return false; } else { int len = str.length(); switch (len) { case 0: return false; case 1: return NCName.isNCNameStart(str.charAt(0)); default: if (!NCName.isNCNameStart(str.charAt(0))) { return false; } for (int i = 1; i < len; i++) { if (!NCName.isNCNameTrail(str.charAt(i))) { return false; } } } return true; } }
public static String escapeName(String str) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if ((c & 0xFC00) == 0xD800) { char next = str.charAt(++i); appendUHexTo(sb, (c << 10) + next + SURROGATE_OFFSET); } else if (i == 0 && !isNCNameStart(c)) { appendUHexTo(sb, c); } else if (i != 0 && !isNCNameTrail(c)) { appendUHexTo(sb, c); } else { sb.append(c); } } return sb.toString().intern(); } // ]NOCPP]
public static String escapeName(String str) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if ((c & 0xFC00) == 0xD800) { char next = str.charAt(++i); appendUHexTo(sb, (c << 10) + next + SURROGATE_OFFSET); } else if (i == 0 && !isNCNameStart(c)) { appendUHexTo(sb, c); } else if (i != 0 && !isNCNameTrail(c)) { appendUHexTo(sb, c); } else { sb.append(c); } } return sb.toString().intern(); } // ]NOCPP]
public static String escapeName(String str) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if ((c & 0xFC00) == 0xD800) { char next = str.charAt(++i); appendUHexTo(sb, (c << 10) + next + SURROGATE_OFFSET); } else if (i == 0 && !isNCNameStart(c)) { appendUHexTo(sb, c); } else if (i != 0 && !isNCNameTrail(c)) { appendUHexTo(sb, c); } else { sb.append(c); } } return sb.toString().intern(); } // ]NOCPP]
default: if (isName && (nameBufferPos == 0) && (!(NCName.isNCNameStart(c)))) { fatal("Not a name start character, U+" + Integer.toHexString(c));