Handling XML errors

I’ve just installed some updated software that should increase the reliability of the web service. Unfortunately, while I was installing the software people using the service will have seen error messages in place of our records. The disruption should only have lasted a minute or two and everything should be working now.

The update allows us to better cope with errors in the records. In the past an XML error in one record in a page of results was causing users to see a “500 Internal Server Error” page rather than their records. Things are now better, though not perfect. We still cannot display the record with the errors, but the rest of the records are displayed and there should be no more Internal Server Error pages because of bad XML. Records with errors will now show as follows in the brief display:

An undisplayable record in the Brief display.

An un-displayable record in the Brief display.

As I mentioned in a previous post our database software does not natively support XML and it is occaisionally inserting line-breaks where it shouldn’t — such as in the middle of an XML Entity! Our next task is to modify our line breaking algorithm (so that the database doesn’t need to do it itself) and correct the the affected records.