spine
spine是EPUB OPF文件中的元素,通过itemref元素按线性阅读顺序引用manifest中的资源ID,是定义书籍阅读顺序的权威来源。
时间轴 (近 90 天)
在EPUB的OPF文件中,manifest按ID列出所有资源条目,而spine按阅读顺序列出这些ID。
EPUB的目录文件(toc.ncx或EPUB3的nav文档)可能与spine顺序不一致,不能等同于书籍的线性结构。
解析spine是确定EPUB阅读顺序的正确方法:对每个itemref,将其ID解析到manifest中的条目,然后读取对应文件;如果spine条目指向非XHTML资源,应优雅地跳过。
EPUB的spine条目中linear="no"属性表示该文档属于辅助内容,线性阅读时可跳过。
逐段翻译太慢且丢失上下文,实际流水线是按spine顺序提取全书所有段落,每50段一批发送给LLM,返回后按相同顺序映射回各XHTML文件的对应元素。
OPF文件中manifest列出书中的每一个文件,spine是一组有序的itemref元素按声明顺序排列规定阅读次序
正确解析流程为:读container.xml定位opf,解析manifest建立id到href的映射,按spine的itemref声明顺序遍历转换
EPUB 3额外引入了Navigation Document(nav.xhtml)作为人类可读的目录,但spine仍然是程序解析阅读顺序的权威来源
全部知识事实 (8)
在EPUB的OPF文件中,manifest按ID列出所有资源条目,而spine按阅读顺序列出这些ID。
50%待验证EPUB的目录文件(toc.ncx或EPUB3的nav文档)可能与spine顺序不一致,不能等同于书籍的线性结构。
50%待验证解析spine是确定EPUB阅读顺序的正确方法:对每个itemref,将其ID解析到manifest中的条目,然后读取对应文件;如果spine条目指向非XHTML资源,应优雅地跳过。
50%待验证EPUB的spine条目中linear="no"属性表示该文档属于辅助内容,线性阅读时可跳过。
50%待验证逐段翻译太慢且丢失上下文,实际流水线是按spine顺序提取全书所有段落,每50段一批发送给LLM,返回后按相同顺序映射回各XHTML文件的对应元素。
50%待验证OPF文件中manifest列出书中的每一个文件,spine是一组有序的itemref元素按声明顺序排列规定阅读次序
50%待验证正确解析流程为:读container.xml定位opf,解析manifest建立id到href的映射,按spine的itemref声明顺序遍历转换
50%待验证EPUB 3额外引入了Navigation Document(nav.xhtml)作为人类可读的目录,但spine仍然是程序解析阅读顺序的权威来源
50%