0

有人可以帮助可怜的开发人员升级到 Dita 1.3 :)

我需要使 dita-ot 与我给出的较新版本的 xml 一起工作(下面的示例)。我需要在图书馆里调整一些东西,但我不知道从哪里开始。例如,我已经替换了有问题的位 - //FOOBAR/

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE concept PUBLIC "-//FOOBAR//DTD DITA Concept//EN" "file:///D:/InfoShare/Web/Author/ASP/DocTypes/dita-sdl/1.3/dtd/technicalContent/dtd/sdlConcept.dtd">
<?ish ishref="GUID-874B737D-F63A-48C3-887A-571C38D5ED5A" version="1" lang="en-us"?>
<concept xml:lang="en-us" id="xs_help_me_contextually_please" rev="for Desktop" product="Foobar product">
   <title id="GUID-F92ED443-BE97-44C7-AB36-726B2A76ECF9">New DITA declaration topic without any new elements</title>
   <shortdesc id="GUID-8D7A677D-6782-4A65-96B4-F7F4B3CB5CCD">
      <ph>Short description of the topic.</ph>
   </shortdesc>
   <prolog>
      <metadata>
         <category>
            Content area
            <keyword>Templates</keyword>
         </category>
         <keywords>
            <indexterm id="GUID-32379B47-E4F9-4E00-A8A7-383584241D88">indexterm</indexterm>
         </keywords>
      </metadata>
   </prolog>
   <conbody>
      <p id="GUID-A2466389-DC06-4052-A0EE-8684F3C3D7D3">
         <ph>Text here.</ph>
      </p>
   </conbody>
</concept>

如果我将 FOOBAR 更改为 OASIS,那么它似乎可以工作 - 至少它不会给出任何错误。我正在运行的命令是:

dita -i=/app/dita/in/foobar.ditamap -f=xhtml -o=/app/dita/out

它给出的错误:

[gen-list] [DOTJ079E][ERROR] File 'file:/app/dita/in/xs_help_me_contextually_please.xml' could not be loaded. Ensure that grammar files for this document type are referenced and installed properly. Cannot load file: /D:/InfoShare/Web/Author/ASP/DocTypes/dita-sdl/1.3/dtd/technicalContent/dtd/sdlConcept.dtd (No such file or directory)
[move-meta] I/O error reported by XML parser processing file:/tmp/temp20191106165059386/in/xs_help_me_contextually_please.xml: /tmp/temp20191106165059386/in/xs_help_me_contextually_please.xml (No such file or directory)
[move-meta] file:/app/dita/in/foobar.ditamap:3:327: [DOTX026W][WARN]: Unable to retrieve linktext from target: 'xs_help_me_contextually_please.xml'. Using navigation title as fallback. 

此外,我应该在图书馆的某处添加技术内容/dtd/sdlConcept.dtd(我也得到了),但不确定在哪里。试图把它放在 plugins/org.oasis-open.dita.v1_3 并认为它可以工作,但是当删除文件并在源 xml 中有 //OAOSIS/ 时,它也没有给出任何错误。

如果路径是 file:///D:/InfoShare/Web/Author/ASP/Doc... 在发生导入的系统(Docker 容器)中不存在,这一切如何工作。它只是信息性的吗?

对这一切感到非常困惑。

先感谢您!

4

1 回答 1

3

鉴于您提供的内容很难帮助您,但我可以添加一些澄清信息:

  1. 您正在使用的是(或已存储)在 SDL CCMS 中的 DITA 源。根据 SDL 产品的使用年限,它有不同的名称:Trisoft、SDL Live Content、SDL Tridion Docs。
  2. DITA 1.3 向后兼容所有以前的 DITA 版本,因此您不必调整任何 DITA 源文件。但是——如果 DITA 源使用不同的 DTD——就像存储在 SDL 产品中的任何内容一样,您将需要这些 DTD,因为它们与 DITA-OT 附带的 OASIS DTD 不同。

希望这有所帮助; 您在 Yahoo! 的 dita-users 列表上发帖可能会更好

最好的,克里斯

于 2019-11-06T21:13:46.410 回答