2015-12-03 6 views
0

МетаКопирование структуры XML-файл (вкл.) Каталоги с XSLT (2,0)

  • XSLT 2.0
  • XML (с вложенными ссылками на другие файлы XML) процессор
  • Saxon XSLT Editor
  • Oxygen

Я хочу написать таблицу стилей (XSLT 2.0), которая просто копирует всю файловую структуру (я использую корневой файл XML со связанными другими файлами в нем) и помещает результат (ы) в определенную папку назначения.

Как это сделать? Каким был бы лучший и эффективный способ сделать это?

ответ

1

Благодарим за описание вашего набора инструментов. Если возможно, вы должны просто сделать это, используя Ant Copy Task. Инструмент DITA Open Toolkit использует Ant и Oxygen XML, а также Ant.

2

Предполагая, что у вас есть веская причина для этого в XSLT (например, это часть более крупной задачи, или XSLT - ваш единственный язык программирования), вы должны взглянуть на файл-файл EXPath. Функция file:copy() копирует каталог.

http://expath.org/spec/file#fn.copy

Она доступна в Saxon-PE 9.6 или более поздней версии/выше.

2

Чтобы расширить ответ Xephon: вы можете создать скрипт Ant, который затем выполняет копирование. Если у вас есть Oxygen, у вас также есть плагин D4P net.sourceforge.dita4publishers.common.xslt, в котором есть код для генерации сценария копирования Ant, который используется преобразованием EPUB для управления копированием ресурсов из исходной области в Временная директория EPUB, из которой создается почтовый индекс EPUB.

В том же плагине есть модуль relpath_util.xsl, который предоставляет общие функции XSLT для работы с URL-адресами и путями файлов по-разному.

Решение Mike, очевидно, является самым легким, но зависит от расширений.