【问题标题】:Confusing output from epubcheck令人困惑的 epubcheck 输出
【发布时间】:2012-05-21 13:41:18
【问题描述】:

我从 epubcheck 获得了一些似乎没有意义的输出。我不明白错误消息的含义,希望其他人能提供帮助。

epubcheck 的输出是:

Epubcheck Version 3.0b4

Validating against EPUB version 2.0
ERROR: /path/to/my/book.epub/sub_html_file.html(134,117): text not allowed here; expected element "td" or "th"

然后还有数百条其他消息。有问题的文件的第 134 行看起来像

<hr class="calibre29"/>
<table border="0" cellpadding="0" cellspacing="0" class="calibre53">
   <tr class="calibre56"> 1
     <td class="calibre55" valign="top">
      <p class="calibre30"><span class="calibre21"><strong class="calibre8">Person(s)</strong></span></p>
      </td>

让我感到困惑的是,该行的第 117 位以td 开头,这就是epubcheck 所说的要求。

【问题讨论】:

    标签: xhtml epub


    【解决方案1】:

    这是一个简单的 XHTML 验证错误。如果您查看您的 HTML(我已经稍微重新格式化了它),您会看到您的 &lt;tr&gt; 元素包含文本以及元素内容。这是不允许的。 &lt;tr&gt; 的内容模型仅包含 &lt;th&gt;&lt;td&gt;,没有其他内容。

    您需要将“1”包装在一个元素中。

    【讨论】:

    • 谢谢。我不是 HTML 专家,所以我不知道该消息的含义。
    • 没问题。我自己不是 epubcheck 输出的忠实粉丝。能够获得开始的上下文会很好
    • 该消息的意思是,呃,'此处不允许输入文字;预期元素“td”或“th”'。我无法想象更清晰的信息。它甚至为您提供了相关行中的角色位置。就上下文而言,设置您最喜欢的编辑器/IDE 以像任何其他构建/编译错误一样自动解析这些错误消息并直接跳转到有问题的文件/行并不难。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 2013-07-20
    • 1970-01-01
    • 2018-05-21
    • 2010-12-23
    • 2014-09-23
    • 2016-12-10
    相关资源
    最近更新 更多