首页 > 解决方案 > 解析属性“ibooks:readaloud”的前缀“ibooks”时出错

问题描述

我正在尝试验证以下 html:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:epub="http://www.idpf.org/2007/ops" epub:prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/">
    <head>
        <title>Moby-Dick</title>
        <link rel="stylesheet" href="css/stylesheet.css" type="text/css"/>
        <meta charset="utf-8"/>
        <meta name="viewport" content="width=1024, height=600"/>
    </head>
    <body>
        <p ibooks:readaloud="startstop">Read Aloud</p>
    </body>
</html>

但我得到了错误:

Validating using EPUB version 3.0.1 rules.
FATAL(RSC-016): ./30/moby-dick-mo.epub/OPS/chapter_001.xhtml(11,41): Fatal Error while parsing file 'The prefix "ibooks" for attribute "ibooks:readaloud" associated with an element type "p" is not bound.'.
ERROR(RSC-005): ./30/moby-dick-mo.epub/OPS/chapter_001.xhtml(-1,-1): Error while parsing file 'The prefix "ibooks" for attribute "ibooks:readaloud" associated with an element type "p" is not bound.'.

我究竟做错了什么?

标签: htmlxmlepubibooksepub3

解决方案


必须声明 XML 名称空间前缀才能使 XML 文档具有良好的名称空间格式。您对ibooks命名空间前缀的声明被破坏了。要修复它,请更改

epub:prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/"

xmlns:ibooks="http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/"

推荐阅读