2015-10-01 4 views
0

Я где-то читал, что условный импорт в xsl-fo невозможен. Хотя у меня есть небольшая надежда, что это что-то еще и может быть разрешено.Изменить conref во время обработки xsl-fo

Моя проблема заключается в том, что у меня есть что-то подобное, что в одном из моих Дита файла:

<row> 
    <entry align="right">Intended Purpose</entry> 
    <entry ><p conref="intendedpurpose.dita#intendedpurpose/statement" ></p></entry> 
</row> 

Мой вопрос, я могу как-то изменить conref в XSL-FO, а также добавить переменную в файл Дита я хотите загрузить? Я имею в виду что-то подобное

intendedpurpose{version}.dita 

Мне просто интересно, если это возможно.

ответ

1

Вам необходимо преобразовать ваш DITA XML в словарный запас FO для вашего процессора FO, чтобы иметь возможность использовать его.

Вы можете предварительно обработать свой XML-файл DITA, чтобы добавить номер версии в intendedpurpose.dita и аналогичные имена файлов перед запуском вашей обычной обработки DITA, или вы можете настроить обработку DITA-to-FO, чтобы выполнить поиск по правому праву справа файл, но это определенно то, что вы сделали бы, прежде чем у вас будет файл FO для подачи на процессор FO.

0

Было бы гораздо лучше использовать conkeyref и направить ключ, определенный в файле темы. Выполнение так поздно связывает цель так, чтобы разрешение возникало во время обработки, а не для создания. Это изменяет свой пункт элемент в

<p conkeyref="purpose/intendedpurpose"/> 

На карте, вы бы тогда иметь topicref, что указывает на теме, которая содержит целевой пункт. Это выглядело бы примерно так:

<topicref keys="purpose" href="intendedpurpose_v3.dita"> 

В теме, на которой делается ссылка, содержится параграф с назначением @id.