IntelliJ中AsciiDoc插件转DOCX报错,转PDF正常如何解决?
解决IntelliJ AsciiDoc插件转DOCX时的XML标签不匹配错误
问题现象与错误信息
AsciiDoc文件通过IntelliJ官方插件转PDF正常,但转DOCX时触发如下错误:
Error creating DOCX from AsciiDoc file Invalid XML: 177:100 (6599)-177:110 (6609): Expected end element for: Name {nameLocalName = "emphasis", nameNamespace = Just "http://docbook.org/ns/docbook", namePrefix = Nothing}, but received: EventEndElement (Name {nameLocalName = "literal", nameNamespace = Just "http://docbook.org/ns/docbook", namePrefix = Nothing})
核心原因
错误指向XML结构不匹配:DocBook生成过程中,emphasis(对应AsciiDoc的*斜体标记)的结束标签被错误替换成了literal(对应AsciiDoc的+或`代码标记),本质是AsciiDoc文件中存在格式标签交叉嵌套的问题。PDF渲染引擎对这类错误容错性强,而DOCX转换依赖严格的XML结构校验,因此触发报错。
解决步骤
- 定位到.adoc文件的第177行,检查斜体(
*)和代码/字面量(+/`)的嵌套逻辑- 常见错误示例:
*斜体部分+代码部分*+或`*斜体代码`*,这类交叉嵌套会导致标签闭合混乱
- 常见错误示例:
- 修正为完全嵌套格式:
- 正确示例:
*包含+代码+的斜体文本*或`*代码内的斜体*`
- 正确示例:
- 若修正后仍报错,检查177行前后5-10行范围,排查是否存在其他类似交叉嵌套的格式标记
内容的提问来源于stack exchange,提问作者Awatansa Vishwakarma
相关产品推荐
相关产品推荐

