Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.xalan.serialize
Class CharInfo

    java.lang.Object
      |
      +--org.apache.xalan.serialize.CharInfo

public class CharInfo
extends java.lang.Object

This class provides services that tell if a character should have special treatement, such as entity reference substitution or normalization of a newline character. It also provides character to entity reference lookup. DEVELOPERS: See Known Issue in the constructor.

Field Summary
`static java.lang.String` | `HTML_ENTITIES_RESOURCE` The name of the HTML entities file.
`static char` | `S_CARRIAGERETURN` The carriage return character, which the parser should always normalize.
`static char` | `S_LINEFEED` The linefeed character, which the parser should always normalize.
`static java.lang.String` | `XML_ENTITIES_RESOURCE` The name of the XML entities file.

Constructor Summary
`CharInfo(java.lang.String entitiesResource)` Constructor that reads in a resource file that describes the mapping of characters to entity references.

Method Summary
`java.lang.String` | `getEntityNameForChar(char value)` Resolve a character to an entity reference name.
`boolean` | `isSpecial(char value)` Tell if the character argument should have special treatment.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### HTML_ENTITIES_RESOURCE

    public static java.lang.String HTML_ENTITIES_RESOURCE

  The name of the HTML entities file. If specified, the file will be resource loaded with the default class loader.

### XML_ENTITIES_RESOURCE

    public static java.lang.String XML_ENTITIES_RESOURCE

  The name of the XML entities file. If specified, the file will be resource loaded with the default class loader.

### S_LINEFEED

    public static char S_LINEFEED

  The linefeed character, which the parser should always normalize.

### S_CARRIAGERETURN

    public static char S_CARRIAGERETURN

  The carriage return character, which the parser should always normalize.

Constructor Detail

### CharInfo

    public CharInfo(java.lang.String entitiesResource)

  Constructor that reads in a resource file that describes the mapping of characters to entity references. Resource files must be encoded in UTF-8 and have a format like:

       # First char # is a comment
       Entity numericValue
       quot 34
       amp 38

  (Note: Why don't we just switch to .properties files? Oct-01 -sc)
  Parameters:
    `entitiesResource` - Name of entities resource file that should be loaded, which describes that mapping of characters to entity references.

Method Detail

### getEntityNameForChar

    public java.lang.String getEntityNameForChar(char value)

  Resolve a character to an entity reference name. This is reusing a stored key object, in an effort to avoid heap activity. Unfortunately, that introduces a threading risk. Simplest fix for now is to make it a synchronized method, or to give up the reuse; I see very little performance difference between them. Long-term solution would be to replace the hashtable with a sparse array keyed directly from the character's integer value; see DTM's string pool for a related solution.
  Parameters:
    `value` - character value that should be resolved to a name.
  Returns:
    name of character entity, or null if not found.

### isSpecial

    public boolean isSpecial(char value)

  Tell if the character argument should have special treatment.
  Parameters:
    `value` - character value.
  Returns:
    true if the character should have any special treatment.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 Apache XML Project. All Rights Reserved.