I think I have figured out how to use the ion library and I'm investigating the kdf sqlite file now. And I have 4 questions so far:
- How fragment ids are created? Only section rows start from "c0", others start from a random id like the first anchor id is "a1B9".
- How eidbucket_* rows are created?
- The section rows always have an non-exists kfx_id field, for example here is the text ion data of the "c0" row in the fragments table:
Code:
$ion_1_0
section::{
section_name: kfx_id::"c0",
page_templates: [
structure::{
kfx_id: kfx_id::"i3",
story_name: kfx_id::"l4",
fixed_width: 1400,
fixed_height: 2100,
layout: scale_fit,
float: center,
type: container
}
]
}
the "i3" fragment id doesn't exist
- The meaning of the numbers in section_position_id_map, for example, the "c117-spm" row:
Code:
$ion_1_0
section_position_id_map::{
section_name: kfx_id::"c117",
contains: [
[
1,
kfx_id::"i11A"
],
[
2,
kfx_id::"i11E"
],
[
3,
kfx_id::"i11C"
],
I'm not sure what's 1, 2, 3.
I have attached the epub and the kdf files, I added a text ion table "text_fragments" to the db file. The book is downloaded from
https://standardebooks.org.