如何让 DITA catalog.xml 在 VS Code 中工作?

How can I make DITA catalog.xml work in VS Code?

我正在使用 VS Code 和“XML Red Hat 的语言支持”。我指的是 DITA OT 目录 dita-ot-3.3.3\catalog-dita.xml 中的目录文件。我的 DITA 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "http://docs.oasis-open.org/dita/v1.1/OS/dtd/task.dtd">
<task>
    <title>Running the converter</title>
    <steps>
        <step>
            <cmd>Run the following command:</cmd>
        </step>
    </steps>
</task>

但我收到如下错误:

Element type "task" must be declared.xml(MSG_ELEMENT_NOT_DECLARED)

所以它正在读取一些东西,但它不能正常工作。我使用了错误的目录文件吗?我的文件声明有误吗?

旁白:我有 Oxygen XML 编辑器,如果我需要高级功能,我可以使用它。我希望在编码时使用 VS Code 进行偶尔的小编辑,而无需启动 Oxygen。

编辑 settings.json 以使用目录文件针对 DTD 进行验证,如下所示:

您必须分别设置“xml.catalogs”、“xml.javahome”、“xml.validation.resolveExternalEntities”。

然后就可以得到验证成功的结果:

顺便说一下,您的 DITA 文件最初对 DITA DTD 无效。