Subject: RE: [xsl] how to ask analyze-string for only one match? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 23 Jan 2006 21:01:07 -0000 |
One way to do this is to write your analyze-string to process all the matches, put the result in a sequence-valued variable, and select the first item in that resulting sequence. <xsl:variable name="s" as="xs:string*"> <xsl:analyze-string select="$d-path" regex="((\-?(\.|\d)+)(,| )+(\-?(\.|\d)+)){{1}}"> <xsl:matching-substring> <xsl:sequence select="."/> </xsl:matching-substring> </xsl:analyze-string> </xsl:variable> <xsl:analyze-string select="$s[1]"> regex="((\-?(\.|\d)+)(,| )+(\-?(\.|\d)+)){{1}}"> <xsl:matching-substring> currentX=<xsl:value-of select="regex-group(2)"/>f; currentY=<xsl:value-of select="regex-group(5)"/>f; </xsl:matching-substring> </xsl:analyze-string> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Roger I Martin PhD [mailto:hypernexdev@xxxxxxxxxxxxxxx] > Sent: 23 January 2006 20:52 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] how to ask analyze-string for only one match? > > I'm transforming svg. In particular path data noted by the d > attribute. > ----- > <path d="M 100 100 L 300 100 L 200 300 z" > fill="red" stroke="blue" stroke-width="3" /> > ---- > In this example there are 3 matches 100 100, 300 100 and 200 > 300. The > following gives me all 3 but I want it to stop after the > first match. > Added a {1} for group 1 but that doesn't stop the rematch > from occuring. > ----- > <xsl:template name="apply-absolute-point"> > <xsl:param name="d-path" select="''"/> > <xsl:analyze-string select="$d-path" > regex="((\-?(\.|\d)+)(,| )+(\-?(\.|\d)+)){{1}}"> > <xsl:matching-substring> > currentX=<xsl:value-of select="regex-group(2)"/>f; > currentY=<xsl:value-of select="regex-group(5)"/>f; > </xsl:matching-substring> > </xsl:analyze-string> > </xsl:template> > ----
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] how to ask analyze-string for, Roger I Martin PhD | Thread | RE: [xsl] how to ask analyze-string, cknell |
[xsl] how to ask analyze-string for, Roger I Martin PhD | Date | [xsl] Namespace Aliasing without xs, mazerunner |
Month |