2012-05-21 140 views
0

我从epubcheck得到了一些似乎没有道理的输出。我不明白这些错误消息的含义,并希望别人能够提供帮助。混淆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是说它需要。

回答

2

这是一个简单的XHTML验证错误。如果你看看你的HTML(我已经重新格式化了一下),你会发现你的<tr>元素包含文本和元素内容。这是不允许的。 <tr>的内容模型仅包含<th><td>,没有别的。

您需要在元素中包装'1'。

+0

谢谢。我不是HTML的专家,所以我不知道消息的含义。 – jlconlin

+0

没问题。我不喜欢epubcheck自己的输出。能够获得一个开始的上下文将是一件好事 –

+0

这条消息意味着,呃,'这里不允许文本;预期元素“td”或“th”'。我无法想象一个更清晰的信息。它甚至给了你关于有问题的线上的角色位置。对于上下文来说,设置你最喜欢的编辑器/ IDE来自动解析这些错误消息就像其他的编译/编译错误一样,并且直接跳转到有问题的文件/行是不难的。 – 2013-06-15 13:59:36