Project

Profile

Help

Bug #3211

Updated by Michael Kay over 4 years ago

Some combination of nesting and non-capturing groups is the cause.    Test case attached -- just run it with empty input. 

 

 The 7th branch is the problem, simplifying it in a variety of ways makes the problem go away. 


 


 For testing purposes, you can pass in simplified patterns and/or formulae from the command line, so e.g. this, with one fewer non-capturing group, works: 


 ~~~ 
 


 > saxon97 test.xsl pat='("[^"]*")|(\{[^}]+})|(,)|([^=\-+*/();:,.$<>^!]+(?:\.[^=\-+*/();:,.$<>^!]+)*\()|([)])|(^=|\()|((?:(?:'\''[^'\'']+'\'')))|(\$?[A-Z]+\$?[0-9]+)|([a-zA-Z_\\][a-zA-Z0-9._]*)|(.)' 
 ~~~ 
 

Back