# Issues

## Entity resolution, location information and SYSTEM ids.

Several problems with the architecture of the Gobo XML parser, involving the resolution of external entities, the provision of base URIs, and location information for errors, will cause me problems. Franck is working on this.

## Numbers

A basic XSLT processor must support xs:decimal, xs:integer and xs:double. The first two require at least 18 digits of precision (but should be unlimited. The latter is the IEEE double-precision type. DOUBLE should support this, though the compilers lack routines such as is_nan, for instance.

Need is_nan() for DOUBLE

LAST_POSTION_FINDER, LAST(), COUNT() etc. all use INTEGER right now. Change to MA_DECIMAL

## Exception policy

Any exception thrown is a bug in the library, or a user failing to meet a pre-condition on an interface feature.

## Static typing festure

Is this supported? Yes.

## Style

I am trying to be more consitent with my coding style. In addition to the Gobo guidelines, I name all parameters an local variables by prefixing with the indefinite article, except for booleans and plurals, plus a few notable exceptions (such as other).

In addition, I am trying to stick to a fixed order for features:

- {NONE} -- Initialization
- Access
- Events
- Measurement
- Comparison
- Status report
- Status setting
- Cursor Movement
- Parsers
- Creation (i.e. factory routines
- Optimization
- Evaluation
- Matching
- Element change
- Removal
- Resizing
- Conversion
- Duplication
- Basic operations
- Output
- Restricted (features exported to other classes)
- Local (features exported only to this class)
- {NONE} -- Implementation

## TODO

The following need looking at at some time:

- Investigate need for set_location. This may depend upon Entity resolution, location information and SYSTEM ids.
- Review commenting style - this has been done to some extent.
- Review unsafe string features (done?).
- Change loops to use external cursors (ongoing - done?)
- Make use of UT_URI for base URI etc.
- CAST_EXPRESSION needs fixing; CASTABLE, TREAT and constructor functions need implementing and testing.
- Better XML parser messages wanted (i.e. line and column positions, etc.)
- Review test suite.
- How to get dynamic error messages out of declare_variable and (?can't remember?)?
- Implement and use SHARED_EMPTY_ITERATOR
- Review assignment attempts
- Compacting the tree/tiny tree
- Need to implement a LOCATOR for COMPUTED_EXPRESSIONs
- Review numerics after next working draft issued (i.e. now!).

## Changes

This section should be ignored. It consists solely of my notes with which to form the comments for the next Git check-in operation.

    	Completed compile.
    	Removed compile_to_eiffel_option.