Mega Code Archive

 
Categories / Java / XML
 

Resolves an entity reference or character reference to its value

/*  * Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2006.  *  * Licensed under the Aduna BSD-style license.  */ public class Utils {   /**    * Resolves an entity reference or character reference to its value.     *    * @param entName The 'name' of the reference. This is the string between    * &amp; and ;, e.g. amp, quot, #65 or #x41.    * @return The value of the supplied reference, or the reference itself    * if it could not be resolved.    */   public static String resolveEntity(String entName) {     if (entName.startsWith("#")) {       // character reference       StringBuilder sb = new StringBuilder();       if (entName.charAt(1) == 'x') {         // Hex-notation         sb.append((char)Integer.parseInt(entName.substring(2), 16));       }       else {         // Dec-notation         sb.append((char)Integer.parseInt(entName.substring(1)));       }       return sb.toString();     }     else if (entName.equals("apos")) {       return "'";     }     else if (entName.equals("quot")) {       return "\"";     }     else if (entName.equals("gt")) {       return ">";     }     else if (entName.equals("lt")) {       return "<";     }     else if (entName.equals("amp")) {       return "&";     }     else {       return entName;     }   } }