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

Subject: RE: Re: [xsl] how to ask analyze-string for only one match?
From: cknell@xxxxxxxxxx
Date: Mon, 23 Jan 2006 17:08:02 -0500
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>
--
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     Roger I Martin PhD <hypernexdev@xxxxxxxxxxxxxxx>
Sent:     Mon, 23 Jan 2006 17:04:19 -0500
To:       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  Re: [xsl] how to ask analyze-string for only one match?

cknell@xxxxxxxxxx wrote:

So, are you saying that with these elements:

  currentX=<xsl:value-of select="regex-group(2)"/>f;
  currentY=<xsl:value-of select="regex-group(5)"/>f;

you wish to extract the two numbers to the right of 'M'?

Yes, and it extracts them. Then extracts the pair after the L's too and causes the currentX and currentY to be set again and again without the code in between resulting in the last available pair being the current x and y. But the path needs the commands M L z etc. to give meaning to the points.

Current Thread