Во-первых, я должен сказать, что я новичок с точки зрения XSLT.
Хотя точный контекст может быть не столь актуален (и может быть слишком запутанным), я предоставлю его ниже.У меня есть цепное преобразование, которое выглядит так:
Input.xml
- это входной файл для этого преобразования, которое выполняется с использованием transform.xsl
.Результат этого преобразования output.xml
.transform.xml
содержит классический пользовательский элемент xsl:function
:
xsl:function name="my:f"
xsl:sequence select=".. xpath .."
xsl:function
Результатом шага 1 (output.xml
) для шага 2 является новый трансформатор (transform2.xsl
), который будет использовать какой-то другой ввод XML (скажем, input2.xml
).
Что я хотел бы сделать, это полностью скопировать xsl:function
узел (присутствует в transform.xsl
на шаге 1) до output.xml
, чтобы его можно было использовать на шаге 2. В этом случае не требуется никаких обновлений / изменений для xsl:function
при копировании (просто простая копия узла)).Обратите внимание, что я не хочу копировать xsl:function
только при наличии заданного элемента ввода (из input.xml
).Но, скорее, я хочу копировать его всегда, независимо от того, что является input.xml
.
Теперь я знаю, что это можно сделать, имея отдельный файл, содержащий мой xsl:function
, а затем используя xsl:import
чтобы включить этот файл из обоих преобразований (transform.xml
и transform2.xml
).
Но я хотел бы знать, есть ли другие способы сделать это (... без отдельного файла, в котором объявлена функция/ определено)?
Заранее спасибо,
М.