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 * & 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; } } }