我有一些看起来基本上像这样的书的结构:
<chapter>
<verse>Eva said, <quote speaker="Eva">I'm not the one who's underestimating her cleverness.</verse>
<verse>Or maybe it's you I'm underestimating. Have you finally joined her side, sister?</quote></verse>
</chapter>
正如您所看到的,问题在于我的引号需要跨越多个经文。我该怎么处理?可能还有其他标签(不仅仅是引号标签)需要跨越经文,可能 - 尽管不太可能 - 甚至章节。
我将使用Go,Java,JavaScript等高级语言编写的某些应用程序解析XML。我完全可以控制它。
我使用的是不合适的标记语言吗?或者我是否错误地构造了经文和其他标签?
答案 0 :(得分:1)
好吧,它不会解析那个! 我能看到的两个选项,比你拥有的更有意义
<chapter>
<verse>Eva said, <quote speaker="Eva">I'm not the one who's underestimating her cleverness.</quote></verse>
<verse><quote speaker="Eva">Or maybe it's you I'm underestimating. Have you finally joined her side, sister?</quote></verse>
</chapter>
哦,我会说Eva之后的逗号是多余的
或
<voice speaker = default/>
<chapter>
<verse>Eva said, <voice speaker="Eva"/>I'm not the one who's underestimating her cleverness.</verse>
<verse>Or maybe it's you I'm underestimating. Have you finally joined her side, sister?<voice speaker = default /></verse>
</chapter>
答案 1 :(得分:1)
我认为最好采用docbook标准。大量的工作已经进入其架构,使其能够支持所有形式的印刷文档。
在您的情况下,您可以使用以下docbook xml元素之一:
Docbook用于记录高端项目,例如Linux Kernel和Ubuntu。然而,使用它可能是令人生畏的。
我更喜欢使用更简单的基于文本的标记语言(markdown,asciidoc)。这些工具可用于生成docbook。这给了我两全其美,使用简单和支持专业出版标准。
答案 2 :(得分:-2)
问题在于结构。您的XML无效。
我建议使用跨越整个文档的索引,而不是试图将引用元素与经文内联。这样,您可以将引用元素与verse元素分离。因此,例如,您可能有一个如下所示的引用:
<quote speaker="Eva" start=11 end=89/>
OR
<quote speaker="Eva" start=11 length=78/>
通过这种方式,您无需担心多个经文的引号。