2015-11-27 2 views
1

Я использую задачу ANT Saxon для применения XSLT к XML. Ниже целевого ANT я создал:Ссылка XSLT из jar с использованием Saxon ANT task

<target name="applyXSLT"> 
    <xslt in="${srcXML}" basedir="in/xml" destdir="out/xml" style="${basedir}/src/main/templates/xslt/stylesheet.xslt"> 
     <factory name="net.sf.saxon.TransformerFactoryImpl"/> 
     <classpath refid="master-classpath" /> 
     <!-- All necessary varibles have been defined before --> 
    </xslt> 
</target> 

Он отлично работает, когда XSLT находится в указанной папке внутри проекта. Но теперь мне нужно упаковать XSLT в качестве части банки, чтобы иметь возможность распространять код стороннему клиенту. Я jar'd XSLT, но теперь не могу ссылаться на него (даже после удаления {basedir}/). Есть ли другой способ ссылки на XSLT, которые являются частью фляги при использовании Saxon?

ответ

0

Вы пробовали формат URL

jar:///some/dir/!path/within/jar/stylesheet.xsl 

Saxon признает это, но я понятия не имею, если Ant проходит его до конца.

В противном случае, я думаю, вам придется распаковать JAR сначала во временную директорию, а затем выполнить трансформацию оттуда.

+0

Прошел маршрут по распаковке JAR, и это сработало. Спасибо за Ваш ответ! –