如何在XML中为书籍构建和标记对话?

时间:2013-12-20 22:30:25

标签: xml structure markup

我有一些看起来基本上像这样的书的结构:

<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。我完全可以控制它。

我使用的是不合适的标记语言吗?或者我是否错误地构造了经文和其他标签?

3 个答案:

答案 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 KernelUbuntu。然而,使用它可能是令人生畏的。

我更喜欢使用更简单的基于文本的标记语言(markdownasciidoc)。这些工具可用于生成docbook。这给了我两全其美,使用简单和支持专业出版标准。

答案 2 :(得分:-2)

问题在于结构。您的XML无效。

我建议使用跨越整个文档的索引,而不是试图将引用元素与经文内联。这样,您可以将引用元素与verse元素分离。因此,例如,您可能有一个如下所示的引用:

<quote speaker="Eva" start=11 end=89/>

OR

<quote speaker="Eva" start=11 length=78/>

通过这种方式,您无需担心多个经文的引号。

相关问题