Hintergrund#
Es gibt zwar einige Plugins für XML und auch XSLT in Maven, die allerdings komplex zu konfigurieren und für bestimmte Anwendungszwecke gestaltet sind. Ziel war die Entwicklung eines Maven-Plugins, das eine XML-Datei mit Hilfe eines XSLT-Stylesheets transformiert und das Ergebnis in den Target-Folder des Projekts schreibt.Anwendung#
Das Plugin wird konfiguriert und kann an die Project-Execution gebunden werden. Dabei wird das Maven-Eclipse-Plugin unterstützt, sodass es der Eclipse-Lifecycle abgebildet wird. In der Sektion Configuration kann ein outputPath auftauchen, der dann als Resource-Folder hinzugefügt wird. Ansonsten können Transformations angegeben werden, die jeweils Datei-Referenzen für stylesheet, source und target enthalten.Beispiel#
Folgendes Beispiel generiert aus einer Taglib eine XSD-Datei mit Hilfe eines XSL-Stylesheets:<plugin> <groupId>com.intersult</groupId> <artifactId>xslt-maven-plugin</artifactId> <version>1.0-SNAPSHOT</version> <executions> <execution> <goals> <goal>transform</goal> </goals> <configuration> <outputPath>${project.build.directory}/generated-resources/xsd</outputPath> <transforms> <transform> <stylesheet>${basedir}/src/main/xml/taglib-to-xsd.xsl</stylesheet> <source>${basedir}/src/main/resources/META-INF/jsf-ext.taglib.xml</source> <target>${project.build.directory}/generated-resources/xsd/META-INF/jsf-ext.taglib.xsd</target> </transform> </transforms> </configuration> </execution> </executions> </plugin>