Dita-OT: уценка до escape-строки / символа HTML (особенно в скобках) - PullRequest
0 голосов
/ 24 августа 2018

Что-то меня озадачило на лучшую половину рабочего дня: что на самом деле происходит во время преобразования уценки в HTML в Dita, когда я пытаюсь сохранить скобки нетронутыми.

В частности, это моя оригинальная уценка:

1. Value[:, :]

Который должен быть написан как есть в HTML. Однако, глядя на элемент HTML, созданный Dita:

<li class="li">
 <p class="p">
   Value
   <span class="xref"></span>
 </p>
</li>

Ожидаемый результат:

<li class="li">
 <p class="p">
   Value[:, :]
 </p>
</li>

Что означает, что скобки интерпретируются как внешние ссылки (?)


Я выполняю преобразование уценки в HTML в dita CLI версии 3.1.2 (windows 10) с помощью следующей команды:

dita --input=root.ditamap --output=./output --format=html5

Файл root.ditamap просто содержит одну тему, которая является моим файлом уценки.


Сначала я попробовал следующее:

1) Использование \ для экранирования строки приводит к: 1. Value\[:, :\]

2) использование html-сущности вместо скобок (&#91; и &#93;) приводит к: 1. Value:, :

3) использование UTF-кода вместо скобок (&#x005B; и &#x005D;) приводит к: 1. Value:, :

Затем я попытался добавить дополнительные скобки, и это сработало!

4) Сработавшая уценка: 1. Value[[]:, :[]] выдало ожидаемый результат 1. Value[:, :]


Мой вопрос (ы):

1) Какая из трех частей отвечает за это поведение: Markdown, Dita или HTML? (под этим поведением я подразумеваю интерпретацию скобок таким образом, чтобы они исчезали при первоначальном преобразовании).

2) Есть ли "лучший" / "универсальный" способ экранирования строк в уценке -> html от dita? (Под лучшим способом я подразумеваю что-то, что оставляет исходную строку разметки, означающую то же самое, а под универсальной я подразумеваю что-то, что может быть применено ко всем строкам, а не только к скобкам) ​​

По крайней мере, я надеюсь, что мои выводы будут кому-то полезны, хотя я понимаю, что мой вариант использования очень специфичен. :)

...