Некоторые из моих таблиц стилей немного большие, и некоторые их части повторяются. Я хотел бы использовать XInclude для них, что позволит мне отделить их от всей таблицы стилей. Я не могу использовать xsl:import
или xsl:include
, потому что мне нужно ввести их в определенное место для создания закладок и активных ссылок (для XSL-FO).XInclude в стилях XSLT (eXist-db)
Если я использую:
<xi:include href="/db/apps/tested-bunny/resources/xsl-fo/common/bookmark-tree.xml/>
... файл .fo
производства действительно включает в себя часть. Однако эта часть непереводится, что означает, что она есть как есть в источнике. Таким образом, процессор XSL-FO игнорирует его, а результат в формате pdf - без закладок.
Что касается отделенная части, я сохранил его как обычный файл XML с двумя пространствами имен, объявленных в корневом элементе:
<fo:bookmark-tree xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:if test="$head-level ge '1'">
...
Если я пытаюсь включить один и тот же фрагмент кода в виде XSL таблицы стилей, это одно и то же: оно вводится правильно, но оно не добавляет его функциональности ко всей таблице стилей, оно все еще не переведено.
Есть ли какая-либо конкретная практика или ограничение, о которых я не знаю? Как это сделать правильно?