Project

Profile

Help

Bug #2951

Updated by Michael Kay over 7 years ago

Reported by Gerrit Imsieke on Saxon help list. 

 Test case analyze-string-096 added to XSLT 3.0 test suite. 

 <pre> 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
   xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0"> 

   <xsl:variable name="regex" as="xs:string" 
     select="'^(\p{Lu}{2}_\p{Lu}{3}_)?((\d{5})_)?(\d{5}).*$'" /> 
   <xsl:variable name="basename" as="xs:string" 
     select="'UV_STD_00000_39000_Test'" /> 

   <xsl:template name="main"> 
     <xsl:analyze-string select="$basename" regex="{$regex}"> 
       <xsl:matching-substring> 
         <xsl:message 
           select="for $i in (1 to 4) 
                   return concat($i, ':', regex-group($i))"/> 
       </xsl:matching-substring> 
     </xsl:analyze-string> 
   </xsl:template> 
 </xsl:stylesheet> 
 </pre> 

 Results are correct up to 9.6.0.7 and incorrect from 9.6.0.8.

Back