/** * Check to see if a string is a valid NCName according to [4] * from the XML Namespaces 1.0 Recommendation * * @param ncName string to check * @return true if name is a valid NCName */ public static boolean isValidNCName(String ncName) { if (ncName.length() == 0) return false; char ch = ncName.charAt(0); if( isNCNameStart(ch) == false) return false; for (int i = 1; i < ncName.length(); i++ ) { ch = ncName.charAt(i); if( isNCName( ch ) == false ){ return false; } } return true; } // isValidNCName(String):boolean
/** * Check to see if a string is a valid Nmtoken according to [7] * in the XML 1.1 Recommendation * * @param nmtoken string to check * @return true if nmtoken is a valid Nmtoken */ public static boolean isXML11ValidNmtoken(String nmtoken) { int length = nmtoken.length(); if (length == 0) return false; for (int i = 0; i < length; ++i ) { char ch = nmtoken.charAt(i); if( !isXML11Name(ch) ) { if ( ++i < length && isXML11NameHighSurrogate(ch) ) { char ch2 = nmtoken.charAt(i); if ( !XMLChar.isLowSurrogate(ch2) || !isXML11Name(XMLChar.supplemental(ch, ch2)) ) { return false; } } else { return false; } } } return true; } // isXML11ValidName(String):boolean
/** * Check to see if a string is a valid Name according to [5] * in the XML 1.0 Recommendation * * @param name string to check * @return true if name is a valid Name */ public static boolean isValidName(String name) { if (name.length() == 0) return false; char ch = name.charAt(0); if( isNameStart(ch) == false) return false; for (int i = 1; i < name.length(); i++ ) { ch = name.charAt(i); if( isName( ch ) == false ){ return false; } } return true; } // isValidName(String):boolean
/** * Returns true if the specified character is invalid. * * @param c The character to check. */ public static boolean isInvalid(int c) { return !isValid(c); } // isInvalid(int):boolean
/** * Check to see if a string is a valid Nmtoken according to [7] * in the XML 1.0 Recommendation * * @param nmtoken string to check * @return true if nmtoken is a valid Nmtoken */ public static boolean isValidNmtoken(String nmtoken) { if (nmtoken.length() == 0) return false; for (int i = 0; i < nmtoken.length(); i++ ) { char ch = nmtoken.charAt(i); if( ! isName( ch ) ){ return false; } } return true; } // isValidName(String):boolean
/** * Simple check to determine if qname is legal. If it returns false * then <param>str</param> is illegal; if it returns true then * <param>str</param> is legal. */ public static boolean isValidQName(String str) { final int colon = str.indexOf(':'); if (colon == 0 || colon == str.length() - 1) { return false; } if (colon > 0) { final String prefix = str.substring(0,colon); final String localPart = str.substring(colon+1); return isValidNCName(prefix) && isValidNCName(localPart); } else { return isValidNCName(str); } }
/** * Returns true if the specified character is a valid NCName * character as defined by production [5] in Namespaces in XML * recommendation. * * @param c The character to check. */ public static boolean isNCName(int c) { return org.apache.xml.utils.XMLChar.isNCName(c); }
/** * Returns whether the given character is a low surrogate * * @param c The character to check. */ public static boolean isLowSurrogate(int c) { return org.apache.xml.utils.XMLChar.isLowSurrogate(c); }
/** * Returns true the supplemental character corresponding to the given * surrogates. * * @param h The high surrogate. * @param l The low surrogate. */ public static int supplemental(char h, char l) { return org.apache.xml.utils.XMLChar.supplemental(h,l); }
/** * Returns true if the specified character is a valid NCName start * character as defined by production [4] in Namespaces in XML * recommendation. * * @param c The character to check. */ public static boolean isNCNameStart(int c) { return org.apache.xml.utils.XMLChar.isNCNameStart(c); }
/** * Returns true if the specified character is a valid name start * character as defined by production [5] in the XML 1.0 * specification. * * @param c The character to check. */ public static boolean isNameStart(int c) { return org.apache.xml.utils.XMLChar.isNameStart(c); }
/** * Returns true if the specified character is invalid. * * @param c The character to check. */ public static boolean isInvalid(int c) { return !isValid(c); } // isInvalid(int):boolean
/** * Check to see if a string is a valid Nmtoken according to [7] * in the XML 1.0 Recommendation * * @param nmtoken string to check * @return true if nmtoken is a valid Nmtoken */ public static boolean isValidNmtoken(String nmtoken) { if (nmtoken.length() == 0) return false; for (int i = 0; i < nmtoken.length(); i++ ) { char ch = nmtoken.charAt(i); if( ! isName( ch ) ){ return false; } } return true; } // isValidName(String):boolean
/** * Simple check to determine if qname is legal. If it returns false * then <param>str</param> is illegal; if it returns true then * <param>str</param> is legal. */ public static boolean isValidQName(String str) { final int colon = str.indexOf(':'); if (colon == 0 || colon == str.length() - 1) { return false; } if (colon > 0) { final String prefix = str.substring(0,colon); final String localPart = str.substring(colon+1); return isValidNCName(prefix) && isValidNCName(localPart); } else { return isValidNCName(str); } }
protected static Collection<String> getVariableNames(String xquery) { Collection<String> variableNames = new LinkedHashSet<String>(); for (int index = xquery.indexOf("$"); index != -1; index = xquery.indexOf("$")) { StringBuilder variableName = new StringBuilder(); index++; while(index < xquery.length() && XMLChar.isNCName(xquery.charAt(index))) { variableName.append(xquery.charAt(index++)); } variableNames.add(variableName.toString()); xquery = xquery.substring(index); } return variableNames; }
/** * Check to see if a string is a valid Nmtoken according to [7] * in the XML 1.1 Recommendation * * @param nmtoken string to check * @return true if nmtoken is a valid Nmtoken */ public static boolean isXML11ValidNmtoken(String nmtoken) { int length = nmtoken.length(); if (length == 0) return false; for (int i = 0; i < length; ++i ) { char ch = nmtoken.charAt(i); if( !isXML11Name(ch) ) { if ( ++i < length && isXML11NameHighSurrogate(ch) ) { char ch2 = nmtoken.charAt(i); if ( !XMLChar.isLowSurrogate(ch2) || !isXML11Name(XMLChar.supplemental(ch, ch2)) ) { return false; } } else { return false; } } } return true; } // isXML11ValidName(String):boolean
/** * Check to see if a string is a valid NCName according to [4] * from the XML Namespaces 1.0 Recommendation * * @param ncName string to check * @return true if name is a valid NCName */ public static boolean isValidNCName(String ncName) { if (ncName.length() == 0) return false; char ch = ncName.charAt(0); if( isNCNameStart(ch) == false) return false; for (int i = 1; i < ncName.length(); i++ ) { ch = ncName.charAt(i); if( isNCName( ch ) == false ){ return false; } } return true; } // isValidNCName(String):boolean
/** * Check to see if a string is a valid Name according to [5] * in the XML 1.0 Recommendation * * @param name string to check * @return true if name is a valid Name */ public static boolean isValidName(String name) { if (name.length() == 0) return false; char ch = name.charAt(0); if( isNameStart(ch) == false) return false; for (int i = 1; i < name.length(); i++ ) { ch = name.charAt(i); if( isName( ch ) == false ){ return false; } } return true; } // isValidName(String):boolean
/** * Returns true if the specified character is invalid. * * @param c The character to check. */ public static boolean isInvalid(int c) { return !isValid(c); } // isInvalid(int):boolean
/** * Returns true if the specified character is a valid name * character as defined by production [4] in the XML 1.0 * specification. * * @param c The character to check. */ public static boolean isName(int c) { return org.apache.xml.utils.XMLChar.isName(c); }