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

RE: [xsl] Refactoring parsing code with XSLT 2.0


Subject: RE: [xsl] 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: [xsl] 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
Keywords