在rails中生成book.epub并在epubcheck工具中验证book.epub。我遇到了很多错误,修正了除了以下错误之外的一切:
错误:/book.epub/section.xhtml(14,85):此处不允许使用属性“data-align”;预期属性“dir”,“id”,“lang”,“style”,“title”或“xml:lang”
错误:/book.epub/section.xhtml(15,8):此处不允许使用元素“br”;期望元素结束标记或元素“地址”,“blockquote”,“del”,“div”,“dl”,“h1”,“h2”,“h3”,“h4”,“h5”,“h6 “,”hr“,”ins“,”noscript“,”ns:svg“,”ol“,”p“,”pre“,”script“,”table“或”ul“(xmlns:ns =” http://www.w3.org/2000/svg“)
如果我在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>
帮我解决这个问题。提前谢谢。
答案 0 :(得分:2)
第二个错误似乎已经解决,但仍然不清楚问题是什么(<br/>
和<br></br>
在XHTML中是等效的。)
第一个错误只是由data-align
属性引起的,该属性在XHTML 1.1中无效。它似乎用于标记一个元素,它应该通过CSS以某种方式与中间对齐。修复程序取决于CSS代码。您应该替换对齐的任何CSS规则以使用不同的选择器。最自然的方法是在元素中添加一个类:
<div style="margin: 0px auto; width: 35%;" class="Middle image_content">
并通过选择器[data-align="Middle"]
替换CSS代码中的.Middle
选择器。