3

我使用 Voodoopad 来创建我的帮助文档,如此所述。基本上我有一个运行脚本构建阶段,它告诉 Voodoopad 将我的文档导出为 html。Voodoopad 文档设置为在导出时运行 hiutil 以创建帮助索引。

在注意到我的许多帮助锚都不起作用后,我将其追溯到 hiutil。当我在从 Voodoopad 导出的 html 上运行 hiutil 时,我得到了一堆错误:

Zach-iMac:Desktop zach$ hiutil -a --create Help/ --file Help/Help.helpindex -1 -vvv
index.html -- Parse error: The operation couldn’t be completed. (NSXMLParserErrorDomain error 76.)
index.html -- Parse error: Error 76, Description: (null), Line: 14, Column: 8
index.html -- Finished parsing

每个文件都会重复这些错误。第 14 行第 8 列是 head 标签的结束。每个文件的第一部分基本相同:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="AppleTitle" content="VideoBuffet Help">
<meta name="AppleIcon" content="appicon16.png">
<title>Index</title>
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1138.23">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Lucida Grande'}
</style>
</head>
<body>

这个精确的 HTML 过去在 hiutil 中工作得很好。自从我上次运行它以来,我升级到了 Mountain Lion 和 Xcode 4.5。

有其他人在使用 hiutil,它对你有用吗?

4

2 回答 2

3

如果您在 HTML 文件的顶部使用此序言:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http ://www.w3.org/1999/xhtml">

并通过像http://validator.w3.org/#validate_by_upload+with_options这样的验证器运行您的 HTML

并修复所有问题,直到验证器返回成功,它应该与 hiutil 1.3 一起使用。无论如何,它对我有用。

另请参阅http://lists.apple.com/archives/apple-help-authoring/2012/Sep/msg00018.html

于 2012-11-09T14:14:29.647 回答
1

这不是一个正确的答案,但我的解决方法是使用 Lion (1.2) 附带的 hiutil 版本来构建我的帮助索引。

我对此不太满意,但现在可以了。如果有人有这个问题,并且想学习如何做,你可以阅读我的博客文章

更新:发布rdar://12326432

更新:我从 Apple 听说这是错误 #11981648 的副本(目前仍处于打开状态)。

于 2012-09-19T04:43:13.840 回答