Что мне не хватает с arg.resources и "перекрестной доставкой" (перекрестная карта, перекрестная книга и т. Д. c.) В OT 3.5.1? - PullRequest
0 голосов
/ 20 июня 2020

У меня есть следующее:

  • Две карты DITA, bkmap_a.ditamap и bkmap_b.ditamap . Они равноправны.
  • Каждый из них содержит topicref () к своему собственному topi c в подкаталоге - bk_a / bkatopi c .dita и bk_b /bkbtopic.dita.
  • Каждый topi c имеет ключевую ссылку на topi другой карты c.
  • Отдельная карта, resources.map , который содержит maprefs для каждой ditamap. Это одноранговый узел для bkmapa.ditamap и bkmapb.ditamap , но не обязательно должен быть.
Список этих файлов приведен ниже.

Я ожидаю, что ссылка на xref keyref в каждом topi c должна быть преобразована в другую через maprefs в resources.map.

Согласно сообщению на https://github.com/dita-ot/dita-ot/pull/3412 (автор: jelovirt 17 ноября 2019 г.), новая функция args.resources в DITA-OT 3.5 может быть способной разрешать эти mapref. Я использовал следующий вызов DITA-OT 3.5.1, но не смог разрешить эти maprefs в HTML5 выводе.

dita -f html5 -r resources.ditamap -i bkmap_a.ditamap

Я надеюсь, что OT разрешит mapref в bkatopi c .dita, поймет, что ему также нужно обработать bk_map_b.ditamap, и выдаст HTML вывод с содержанием обеих тем и рабочие связи между ними, со структурой вроде этой:

out/
  index.html
  bk_a/
    bktopica.html
  bk_b/
    bktopicb.html

Код начинается ...


bkmap_a.ditamap

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE bookmap
  PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd">
<bookmap >
    <title>book a map </title>
    <frontmatter>
    <!-- commented out in favor of resources.map
  <mapref href="bkmap_b.ditamap" format="ditamap" keyscope="bkb_keyscope"
    navtitle="map b mapref to bkmap_a" scope="peer" processing-role="resource-only"/>
    -->
    </frontmatter>
    <chapter href="bk_a/bkatopic.dita" navtitle="chapter ref to bka topic"  keys="bka_keys_in_mapa_chapref"/>
</bookmap>

bkmap_b.ditamap

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE bookmap
  PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd">
<bookmap >
  <title>book b map </title> 
    <frontmatter>
    <!-- commented out in favor of resources.map
  <mapref href="bkmap_a.ditamap" format="ditamap" keyscope="bka_keyscope"
    navtitle="map a mapref to bkmap_b" scope="peer" processing-role="resource-only"/>
    -->
    </frontmatter>
    <chapter href="bk_b/bkbtopic.dita" navtitle="chapter ref to bkb topic" keys="bkb_keys_in_mapb_chapref" class="- map/topicref bookmap/chapter "/>
</bookmap>

bkatopi c .dita (входит в подкаталог bk_a)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic
  PUBLIC "-//OASIS//DTD DITA 1.2 Topic//EN" "topic.dtd">
<topic  id="bkatopicid1">
    <title>topic one in book a</title>    
    <body>
        <p>this is a paragraph in book a topic one</p>
       <p>this should be a cross-bookmap keyref to the book b topic <xref keyref="bkb_keyscope.bkb_keys_in_mapb_chapref"
                >text within the xref</xref> to topic in
            book b. keyref is keyref="bkb_keyscope.bkb_keys_in_mapb_chapref"</p>
    </body>
</topic>

bkbtopi c .dita (входит в подкаталог bk_b)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic
  PUBLIC "-//OASIS//DTD DITA 1.2 Topic//EN" "topic.dtd">
<topic  id="bkbtopicid1">
    <title>topic one in book b</title>    
    <body>
        <p>this is a paragraph in book b topic one</p>
        <p>this should be a cross-bookmap keyref to the topic in book a: <xref keyref="bka_keyscope.bka_keys_in_mapa_chapref">manually entered xref text</xref> to topic
            in book a. Keyref is keyref="bka_keyscope.bka_keys_in_mapa_chapref"</p>
     </body>
</topic>

ресурсы. Карта

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map
  PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
  <map processing-role="resource-only" keyscope="resources_scope">
    <mapref href="bkmap_a.ditamap" format="ditamap" keyscope="resource_bka_keyscope"
    navtitle="resources map mapref to bkmap_a" scope="peer" processing-role="resource-only">
    <topicmeta>
      <navtitle>resources map mapref to bkmap_a</navtitle>
      <linktext>resources map mapref to bkmap_a</linktext>
    </topicmeta>
  </mapref>
    <mapref href="bkmap_b.ditamap" format="ditamap" keyscope="resource_bkb_keyscope"
    navtitle="resources map mapref to bkmap_b" scope="peer" processing-role="resource-only">
    <topicmeta>
      <navtitle>resources map mapref to bkmap_b</navtitle>
      <linktext>resources map mapref to bkmap_b</linktext>
    </topicmeta>
  </mapref>   
</map>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...