Thus spake "Chris Little"> : > Like I proposed that we might do for Sword, he could consider building > indexes into the OSIS XML files. It would be relatively simple to build > an index that catalogues the start and end point of each identified > osisID, for example. This would mean you only had to read from the OSIS > file that portion you wanted to display. (This is a very simplified case > I realize.)
Why not cache the indexes rather than build them into the modules? That is, when you add an OSIS module to the program (be it sword-based or whatever) you add an index for the file to your internal database (based, e.g. on sqlite). This would have a number of advantaes: 1) It would be simple (from a programming perspective) to find a verse in multiple translations. 2) It would be blazingly fast to search. (sqlite is very, very fast.) 3) It would preserve a one-file download with a simple, XML-based format (OSIS) What you would do would be, the first time the module was opened, go through and create the index. On modern hardware, this need not take a terribly long time. This could be done in a background thread fairly easily. Patrick -- Patrick Narkinsky - Apprentice Pastor, Hope Community Church "I would rather feel contrition than know how to define it." - Thomas a Kempis _______________________________________________ sword-devel mailing list [EMAIL PROTECTED] http://www.crosswire.org/mailman/listinfo/sword-devel