Subject: RE: Refactoring parsing code with XSLT 2.0
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 13 May 2005 09:15:20 +0100
|
<xsl:analyze-string select="$in" regex="^(\d*(\.\d*)(in|cm|pt|em|px)$">
<xsl:matching-substring>
<measure><xsl:value-of select="regex-group(1)"/></measure>
<units><xsl:value-of select="regex-group(3)"/></units>
</xsl:matching-substring>
<xsl:non-matching-substring>
<value><xsl:value-of select="."/></value>
</xsl:non-matching-substring>
</xsl:analyze-string>
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Micah Dubinko [mailto:micah@xxxxxxxxxxxx]
> Sent: 13 May 2005 03:31
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Refactoring parsing code with XSLT 2.0
>
> I know how I would do this in XSLT 1.0, and it's not very pretty. Is
> there an elegant way in XPath/XSLT 2.0 to do this?
>
> I have a variable with a string value like "3.48in" or "1pt"
> or "4" or
> "#123456" etc. Of the values that contain units, the first 2 of this
> particular list, I want to separate out the value from the
> units. I can
> include a list of possible unit values, say ("in", "cm", "pt", "em",
> "px") or whatever.
>
> I've done XSLT 1.0 for a long time, and am just now getting
> into 2.0, so
> go easy on me. :) I'll post any interesting things I discover
> in my blog
> http://dubinko.info/blog
>
> Thanks,
>
> .micah
>
> --
> Available for consulting. XForms, web forms, information overload.
> Micah Dubinko mailto:micah@xxxxxxxxxxxx
> Brain Attic, L.L.C. http://brainattic.info
> Yahoo IM: mdubinko +1 623 298 5172
> Learn XForms today: http://xformsinstitute.com
| Current Thread |
|
Michael Kay - 13 May 2005 08:16:00 -0000 <=
|
|