All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ibm.commons.xml.XMLChar Maven / Gradle / Ivy

The newest version!
/*
 * © Copyright IBM Corp. 2012
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at:
 * 
 * http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
 * implied. See the License for the specific language governing 
 * permissions and limitations under the License.
 */

package com.ibm.commons.xml;


/**
 * XML Character utilities.
 * This class is similar to the one available in Apache Xerces.
 */
public class XMLChar {
    
    /**
     * Returns true if the specified character is a supplemental character.
     *
     * @param c The character to check.
     */
    public static boolean isSupplemental(int c) {
        return org.apache.xml.utils.XMLChar.isSupplemental(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 the high surrogate of a supplemental character
     *
     * @param c The supplemental character to "split".
     */
    public static char highSurrogate(int c) {
        return org.apache.xml.utils.XMLChar.highSurrogate(c);
    }

    /**
     * Returns the low surrogate of a supplemental character
     *
     * @param c The supplemental character to "split".
     */
    public static char lowSurrogate(int c) {
        return org.apache.xml.utils.XMLChar.lowSurrogate(c);
    }

    /**
     * Returns whether the given character is a high surrogate
     *
     * @param c The character to check.
     */
    public static boolean isHighSurrogate(int c) {
        return org.apache.xml.utils.XMLChar.isHighSurrogate(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 if the specified character is valid. This method
     * also checks the surrogate character range from 0x10000 to 0x10FFFF.
     * 

* If the program chooses to apply the mask directly to the * CHARS array, then they are responsible for checking * the surrogate character range. * * @param c The character to check. */ public static boolean isValid(int c) { return org.apache.xml.utils.XMLChar.isValid(c); } /** * Returns true if the specified character is invalid. * * @param c The character to check. */ public static boolean isInvalid(int c) { return org.apache.xml.utils.XMLChar.isInvalid(c); } /** * Returns true if the specified character can be considered content. * * @param c The character to check. */ public static boolean isContent(int c) { return org.apache.xml.utils.XMLChar.isContent(c); } /** * Returns true if the specified character can be considered markup. * Markup characters include '<', '&', and '%'. * * @param c The character to check. */ public static boolean isMarkup(int c) { return org.apache.xml.utils.XMLChar.isMarkup(c); } /** * Returns true if the specified character is a space character * as defined by production [3] in the XML 1.0 specification. * * @param c The character to check. */ public static boolean isSpace(int c) { return org.apache.xml.utils.XMLChar.isSpace(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 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); } /** * 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 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 true if the specified character is a valid Pubid * character as defined by production [13] in the XML 1.0 * specification. * * @param c The character to check. */ public static boolean isPubid(int c) { return org.apache.xml.utils.XMLChar.isPubid(c); } /** * 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) { return org.apache.xml.utils.XMLChar.isValidName(name); } /** * Check to see if a string is a valid NCName according to [4] * from the XML Namespaces 1.0 Recommendation * * @param name string to check * @return true if name is a valid NCName */ public static boolean isValidNCName(String ncName) { return org.apache.xml.utils.XMLChar.isValidNCName(ncName); } /** * 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) { return org.apache.xml.utils.XMLChar.isValidNmtoken(nmtoken); } /** * Returns true if the encoding name is a valid IANA encoding. * This method does not verify that there is a decoder available * for this encoding, only that the characters are valid for an * IANA encoding name. * * @param ianaEncoding The IANA encoding name. */ public static boolean isValidIANAEncoding(String ianaEncoding) { return org.apache.xml.utils.XMLChar.isValidIANAEncoding(ianaEncoding); } /** * Returns true if the encoding name is a valid Java encoding. * This method does not verify that there is a decoder available * for this encoding, only that the characters are valid for an * Java encoding name. * * @param javaEncoding The Java encoding name. */ public static boolean isValidJavaEncoding(String javaEncoding) { return org.apache.xml.utils.XMLChar.isValidJavaEncoding(javaEncoding); } /** * Simple check to determine if qname is legal. If it returns false * then str is illegal; if it returns true then * str is legal. */ // Currently Linux JDK doesn't feature this // public static boolean isValidQName(String str) { // return org.apache.xml.utils.XMLChar.isValidQName(str); // } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy