lexicalUnit = lexicalUnit.getNextLexicalUnit();
    protected void lexicalValue(LexicalUnit lexicalUnit) throws SAXException {        if (lexicalUnit != null) {            int lexicalUnitType = lexicalUnit.getLexicalUnitType();            switch (lexicalUnitType) {                case LexicalUnit.SAC_INTEGER:                    addAttribute(TYPE, "integer");                    textElement(VALUE, Integer.toString(lexicalUnit.getIntegerValue()));                    break;                case LexicalUnit.SAC_REAL:                case LexicalUnit.SAC_DIMENSION:                case LexicalUnit.SAC_EM:                case LexicalUnit.SAC_EX:                case LexicalUnit.SAC_PIXEL:                case LexicalUnit.SAC_INCH:                case LexicalUnit.SAC_CENTIMETER:                case LexicalUnit.SAC_MILLIMETER:                case LexicalUnit.SAC_POINT:                case LexicalUnit.SAC_PICA:                case LexicalUnit.SAC_PERCENTAGE:                case LexicalUnit.SAC_DEGREE:                case LexicalUnit.SAC_GRADIAN:                case LexicalUnit.SAC_RADIAN:                case LexicalUnit.SAC_MILLISECOND:                case LexicalUnit.SAC_SECOND:                case LexicalUnit.SAC_HERTZ:                case LexicalUnit.SAC_KILOHERTZ:                    addAttribute(TYPE, "float");                    textElement(VALUE, Float.toString(lexicalUnit.getFloatValue()));                    textElement(UNIT, lexicalUnit.getDimensionUnitText());                    break;                case LexicalUnit.SAC_URI:                case LexicalUnit.SAC_IDENT:                case LexicalUnit.SAC_STRING_VALUE:                case LexicalUnit.SAC_UNICODERANGE:                    addAttribute(TYPE, "string");                    textElement(VALUE, lexicalUnit.getStringValue());                    break;                case LexicalUnit.SAC_ATTR:                case LexicalUnit.SAC_COUNTER_FUNCTION:                case LexicalUnit.SAC_COUNTERS_FUNCTION:                case LexicalUnit.SAC_RECT_FUNCTION:                case LexicalUnit.SAC_FUNCTION:                case LexicalUnit.SAC_RGBCOLOR:                    addAttribute(NAME, lexicalUnit.getFunctionName());                    startElement(FUNCTION);                    LexicalUnit parameters = lexicalUnit.getParameters();                    while (parameters != null) {                        lexicalValue(parameters);                        parameters = parameters.getNextLexicalUnit();                    }                    endElement(FUNCTION);                    break;                case LexicalUnit.SAC_OPERATOR_COMMA:                    // Simple separator                    break;                case LexicalUnit.SAC_SUB_EXPRESSION:                default:                    textElement("unknown", Integer.toString(lexicalUnit.getLexicalUnitType()) + ": " + lexicalUnit.toString());            }        }    }