Hallo zusammen ich bin noch Anfänger in Ant und habe die Schleifen noch nicht so ganz verinnerlicht.
Ich möchte folgendes machen:
Ich bekomme in einem Verzeichniss einige XMLs und möchte diese mittels XSL transformieren.
Die XSL ist soweit schon fertig und funktioniert auch, für eine Datei.
Nun soll das ganze automatisch laufen und für alle XML-im Verzeichniss ausgeführt werden.
Ich habe im Inet auch schon fast ein gutes Beispiel gefunden:
Allerdings ist mir noch Schleierhaft was die RegExpression auf sich hat.
Anscheinend wird der Parameter mit @{file} angesprochen, also habe ich mir folgendes gedacht.
Das hat bisher für eine bestimmte Datei (OrgOrder.xml) funktioniert:
sollte nun für mehrere Datein ca. so funktionieren:
Sieht jemand wieso das ganze nicht funktionieren kann?
Grüße und Danke für jeden Hinweis und jede Antwort.
Ich möchte folgendes machen:
Ich bekomme in einem Verzeichniss einige XMLs und möchte diese mittels XSL transformieren.
Die XSL ist soweit schon fertig und funktioniert auch, für eine Datei.
Nun soll das ganze automatisch laufen und für alle XML-im Verzeichniss ausgeführt werden.
Ich habe im Inet auch schon fast ein gutes Beispiel gefunden:
Code:
<for param="file">
<path>
<fileset dir="${test.dir}/mains" includes="*.cpp"/>
</path>
<sequential>
<propertyregex override="yes"
property="program" input="@{file}"
regexp=".*/([^\.]*)\.cpp" replace="\1"/>
<mkdir dir="${obj.dir}/${program}"/>
<mkdir dir="${build.bin.dir}"/>
<cc link="executable" objdir="${obj.dir}/${program}"
outfile="${build.bin.dir}/${program}">
<compiler refid="compiler.options"/>
<fileset file="@{file}"/>
<linker refid="linker-libs"/>
</cc>
</sequential>
</for>
Allerdings ist mir noch Schleierhaft was die RegExpression auf sich hat.
Anscheinend wird der Parameter mit @{file} angesprochen, also habe ich mir folgendes gedacht.
Das hat bisher für eine bestimmte Datei (OrgOrder.xml) funktioniert:
Code:
<target name="transformjob">
<xslt in="./OrgOrder.xml"
out="./MyOutput.xml"
style="./transformorder.xsl">
</xslt>
</target>
sollte nun für mehrere Datein ca. so funktionieren:
Code:
<target name="transformjob">
<for param="file">
<path>
<fileset dir="${test.dir}/mains" includes="*.xml
</path>
<sequential>
<xslt in="./@{file}"
out="./@{file}-transformed"
style="./transformorder.xsl">
</xslt>
</sequential>
</for>
</target>
Grüße und Danke für jeden Hinweis und jede Antwort.
Zuletzt bearbeitet: