And using a macrodef with ant, it's easy to generate n svg files.


 <!-- ================================================= -->
<!--   Macro definition to run xslt 2, n times-->
<!--  ================================================== -->

<macrodef name="call-xslt2" backtrace="true">
   <attribute name="source"/>
   <attribute name="output"/>
   <sequential>
      <java classname="${xslt2_processor}"
        fork="yes"
        dir="${basedir}"
        failonerror="true">

    <classpath refid="xslt2.processor.classpath" />
<jvmarg line="-Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration"/> <jvmarg line="-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/> <jvmarg line="-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
    <arg value="-l"/>
    <arg value="-o"/>
    <arg value="@{output}"/>
    <arg line="-x org.apache.xml.resolver.tools.ResolvingXMLReader"/>
    <arg line="-y org.apache.xml.resolver.tools.ResolvingXMLReader"/>
    <arg line="-r org.apache.xml.resolver.tools.CatalogResolver "/>
    <arg line="${basedir}/@{source} ${use_xygr2svg_xsl} " />
  </java>
      </sequential>
</macrodef>


<!--  -->
 <!-- Process XML through to SVG  -->
 <!--  -->
 <target name="genSVG">
   <echo>Generate SVG from 4 XML files.</echo>


<!-- Now run the xslt script to generate the SVG, using http://code.google.com/p/graph2svg/ -->
   <!-- Currently there are 4 separate xml source files.
        aprilbm.xml
        maybm.xml
        junebm.xml
        julybm.xml
        
   -->
   <!-- For each one, the docbook source needs to accommodate it
        
        as in

<mediaobject>
  <imageobject>
    <imagedata fileref="graphics/xxx.1.svg" format="SVG"
    contentwidth="150mm"/>
    </imageobject>
    <textobject>
    <phrase>Alt text description</phrase></textobject>
    <caption><para>Graph title</para></caption>
    </mediaobject>
</mediaobject>
 -->

   <!-- Call up the macro as needed-->
   <echo>Generate aprilbm.svg</echo>
   <call-xslt2
       source="aprilbm.xml"
       output="aprilbm.svg"/>

   <echo>Generate maybm.svg</echo>
   <call-xslt2
       source="maybm.xml"
       output="maybm.svg"/>


   <echo>Generate junebm.svg</echo>
   <call-xslt2
       source="junebm.xml"
       output="junebm.svg"/>


   <echo>Generate julybm.svg</echo>
   <call-xslt2
       source="julybm.xml"
       output="julybm.svg"/>


 </target>


Nice solution!




regards

--
Dave Pawson
XSLT XSL-FO FAQ.
http://www.dpawson.co.uk

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to