[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] how to ask analyze-string for only one match?


Subject: Re: [xsl] how to ask analyze-string for only one match?
From: Roger I Martin PhD <hypernexdev@xxxxxxxxxxxxxxx>
Date: Wed, 25 Jan 2006 13:17:12 -0500

Hi Charles,

The stylesheet is called svg2Java2D.xsl and is at
http://cvs.sourceforge.net/viewcvs.py/mathml-x/mathml-x/stylesheets/svg2Java2D.xsl?rev=1.1&view=markup
I don't have any holdups at the moment but optimization and better techniques are always appreciated.
The svg spec is at http://www.w3.org/TR/SVG11/
.
Use of the stylesheet is in a netbeans svg module multi xml view
http://cvs.sourceforge.net/viewcvs.py/mathml-x/mathml-x-nb-svg/src/org/netbeans/modules/svg/filesystem/SVGDataObject.java?view=markup


It produces Java2D based classes on the order of 1.2 to 2 times the original svg document size. Transforms, compiles and renders fast the first time. After the class is made and the svg is not altered, the speed to rendering is quick; exactly what the JVM is looking for:-)
Same thing for x3d to Java3D.


-Roger

cknell@xxxxxxxxxx wrote:

This stylesheet does what you asked. Of course, I can't see the rest of the stylesheet to see if there are any other issues, but this should be the seed you need.

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:strip-space elements="*" />


 <xsl:template match="/path">
   <xsl:analyze-string select="@d" regex="^M (\d+ )(\d+ )">
     <xsl:matching-substring>
       currentX=<xsl:value-of select="regex-group(1)"/>f;
       currentY=<xsl:value-of select="regex-group(2)"/>f;
     </xsl:matching-substring>
   </xsl:analyze-string>
 </xsl:template>

</xsl:stylesheet>


Current Thread
Keywords