Whiteboard/PersistentKeyList
Goal:
Robust definition of a persistent key list that could be used for:
- Bookmarks
- Topic Tagging
- Study notes, comments and other annotations
- History navigation
- Application state restoration
Definitions:
(Please correct if you have a better definition)
Key: Unique string used to locate content in a file or data structure e.g. Topic, Reference, Date, Word or Strong's number
Reference: Key used to access verse content in a Bible module, usually in format: <book>\s<chapter>:<verse> e.g. "Gen 1:2"
Range (Ref.): Key used to access a contiguous set of verses usually of the format: <book>\s<chapter>:<verse>[\-[<book>\s]<chapter>:]<verse> e.g. "Gen 1:1-3" or "Gen 1:1-3:1"
Verse: Content retrieved from a Bible using a single Reference. e.g. "In the beginning..."
Passage: Content of a contiguous set of Bible verses using a Range as the Key. e.g. "In the beginning... ...God said it was good".
Bookmark: An N-tree hierarchical structure where nodes can be either a Topic or a Reference
VerseList: A list of References with a Topic as the Key