0

在 rails 中生成 book.epub 并在 epubcheck 工具中验证 book.epub。我遇到了很多错误,修复了所有错误,除了以下错误:

错误:/book.epub/section.xhtml(14,85):此处不允许属性“数据对齐”;预期属性“dir”、“id”、“lang”、“style”、“title”或“xml:lang”

错误:/book.epub/section.xhtml(15,8):此处不允许元素“br” ; 期望元素结束标签或元素“address”、“blockquote”、“del”、“div”、“dl”、“h1”、“h2”、“h3”、“h4”、“h5”、“h6” "、"hr"、"ins"、"noscript"、"ns:svg"、"ol"、"p"、"pre"、"script"、"table"

如果我在 sigil 编辑器中打开并保存文件,则与 div 或 br 相关的错误将得到解决。但我想在不在任何编辑器中打开它的情况下解决它。

下面的代码是xhtml的一部分:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   <title>File 1: H1</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <link href="stylesheet.css" type="text/css" rel="stylesheet"/>
   <link href="page_styles.css" type="text/css" rel="stylesheet"/>
  </head>
  <body class="publitory">
    <h1 id="File_1_5008715178345834">H1</h1>
    <h2 id="File_1_1188526892007714">H2</h2>
    <h3 id="File_1_4556759710045751">H3</h3>
    <h4 id="File_1_6171405939859093">H4</h4>
    <h2 id="File_1_410970362765287">H2</h2>
    <p> 
      <div style="margin: 0px auto; width: 35%;" data-align="Middle" class="image_content">
        <img src="bookf779ea3e8163a8345602bc3e0c2ce04d9bffb24d.jpeg" width="100%" alt="Book Content Book Content Book Content Book Content Book Content Book Content Book Content Book Content "/>      
        <div class="caption" style="clear:both;">Book Content Book Content Book Content Book Content Book Content Book Content Book Content Book Content</div>             
      </div>
    </p>
    <p>
      <br/>
    </p>
    <h3 id="File_1_3792181513523657">H3</h3>
  </body>
</html>

帮我解决这个问题。提前致谢。

4

1 回答 1

2

第二个错误似乎已解决,但仍不清楚问题是什么(<br/>并且<br></br>在 XHTML 中是等价的)。

第一个错误只是由data-align属性引起的,它在 XHTML 1.1 中无效。它似乎用于标记一个元素,该元素应通过 CSS 以某种方式与中间对齐。修复取决于 CSS 代码。您应该替换任何 CSS 规则进行对齐以使用不同的选择器。最自然的方法是给元素添加一个类:

  <div style="margin: 0px auto; width: 35%;" class="Middle image_content">

并用 selector 替换[data-align="Middle"]CSS 代码中的选择器.Middle

于 2014-03-27T11:15:49.337 回答