Sean Have a look at DocBook structure - it's a bt complex but that's the sort of thing that you want
The key concept is to have "container" objects that are related to itself so Book has Chapters has Verses each if these being a sub-class of container only the Verses have actual text SQL knows nothing about objects - but can work with objects concept is get a set of ID's using SQL and then open each objectID and scan the contained objects also another key concept is recursion to scan all the contained objects to any level finally each of the classes should have a render method that controls the rendering of itself and the contained objects Finally (part 2) you wil probably need to bitmap the words so you can then find all the elements that match a word - this is the way the NG archive works HTH Peter
