Resolves an entity reference or character reference to its value. : EntityResolver « XML « Java






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

   
  








Related examples in the same category

1.implements EntityResolver
2.Getting the Value of an Entity Reference in a DOM Document
3.Resolving entities found in source XML during parsing
4.Intercepting All Accesses to External Entities During XML SAX Parsing
5.Preventing Expansion of Entity References While Parsing an XML File