This paper describes a system called CINDI for cataloguing, searching, and annotating electronic documents in a digital library, the library being distributed over a computer communication network. A document is catalogued both on its syntactic and semantic content. This makes later searching for the document easier and more precise. On accessing a document, one can write annotations on the document, Such annotations can be read by people who access the document later. Graphical user interfaces are provided for each of cataloguing, searching, and annotating. The user of CINDI is helped by an expert system that mimics the expertise of professional librarians.