Как импортировать этот Дита 1,3 XML? - PullRequest
0 голосов
/ 06 ноября 2019

Может ли кто-нибудь помочь бедному разработчику с обновлением до 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 и подумал, что это работает, но при удалении файла и наличии // OAOSIS / в исходном xml, он также не выдал никакой ошибки.

Как все это может работать, если путь к файлу: /// D: / InfoShare / Web / Author / ASP / Doc ... который не существует в системе, где происходит импорт (контейнер Docker). Это просто информация?

Очень запутался во всем этом.

Заранее спасибо!

1 Ответ

3 голосов
/ 07 ноября 2019

Трудно помочь вам, учитывая то, что вы предоставили, но я могу добавить некоторые уточняющие сведения:

  1. Вы работаете с источником DITA, который либо есть (либо был сохранен) в CCL SDL,В зависимости от возраста продукта SDL у него разные названия: Trisoft, SDL Live Content, SDL Tridion Docs.
  2. DITA 1.3 обратно совместима со всеми предыдущими версиями DITA, поэтому вам не нужно настраивать какие-либо DITAисходные файлы. Но - если в источнике DITA используются разные DTD - как и любой контент, хранящийся в продукте SDL, вам понадобятся эти DTD, поскольку они отличаются от DTD OASIS, поставляемых с DITA-OT.

Надеюсь, это немного поможет;Вам также может повезти, если вы разместите в списке пользователей dita на Yahoo!

Best, Kris

...