ToC в xslfo с одной и той же темой несколько раз Выдает ошибку

StackOverflow https://stackoverflow.com//questions/21017864

Вопрос

С наступающим Новым годом!

Моя карта dita состоит из вложенных карт с разделами в ней.Если тема встречается в нескольких вложенных картах dita, то в оглавлении есть номер страницы и ссылка, указывающая на то, когда тема впервые встречается в документе.

Это из-за идентификатора темы.При создании номера страницы (и ссылки) в оглавлении он получает идентификатор.Тема встречается дважды, но, как я понял, с одним и тем же идентификатором.Таким образом, при создании ссылки она связана с первым случаем.

Я буду очень признателен вам за помощь.

Это было полезно?

Решение

Какую версию Open Toolkit вы используете?Такое поведение определенно является ошибкой в том смысле, что после того, как обработка PDF создала "объединенную" версию карты и тем, повторяющимся копиям темы должны быть присвоены уникальные идентификаторы - в процессе генерации PDF есть довольно много кода для управления присвоением уникальных идентификаторов темам (я знаю, потому что я просто нарушил некоторые из них в настройке, над которой я сейчас работаю).

Версия 1.8 - последняя стабильная версия, версия 1.6.3 - самая старая версия, которую я бы счел полезной для использования (в старых версиях будут либо ошибки, исправленные в 1.6.3, либо отсутствует хорошая поддержка функций DITA 1.2).

Обратите внимание, что если вы сгенерируете HTML из этой же карты, вы заметите аналогичное поведение, а именно, что все ссылки на тему в сгенерированном HTML ToC будут указывать на один файл - это ожидаемое поведение HTML, но имеет смысл, поскольку каждая тема генерирует отдельный HTML-файл.

Однако вы можете использовать атрибут @copy-to для ссылок на разные разделы темы, чтобы присвоить теме уникальные эффективные имена файлов для каждой ссылки (как если бы вы создали буквальные копии темы, а затем ссылались на эти копии).Это определенно должно решить вашу проблему, но не должно быть необходимым, если все, что вам нужно, - это поведение, которое вы ожидали от PDF, которое должно просто работать.

Ваше здоровье,

Элиот

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top