|
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 |