Subject: [xsl] length limitations on string input to xsl:analyze-string From: Heidi L Preston <hpreston@xxxxxxxxxxxxxxx> Date: Fri, 24 Feb 2006 15:19:09 -0500 |
I am having difficulty using xsl:analyze-string with some lengthy input (800+ chars). Is this a known limitation of analyze-string? I saw recently that the regular expression itself is limited to about 30 characters, and I may be pushing the limits with this regular expression, but it does handle inputs of under 800 chars ok. If I simplify the regular expression (which I can't really do without losing semantics required for analysis), I notice the allowable string length does increase, but it is still not handling the inputs I need to deal with. The error message, occurring on the for-each in the following code, is: "SXLM0001: Too many nested apply-templates calls. The stylesheet is probably looping. Transformation failed: Run-time errors were reported" implying recursion, which isn't really the case. My test input only has one <type>. The xsl: <xsl:template match="/"> <output> <xsl:for-each select="container/*"> <xsl:apply-templates select="." mode="parse_express"/> </xsl:for-each> </output> </xsl:template> <xsl:template match="type" mode="parse"> <xsl:param name="string" as="xs:string" select="normalize-space(.)" /> <type> <xsl:variable name="regular_expression" select="'([a-z][a-z0-9_]*)'" /> <xsl:analyze-string select="$string" flags="i" regex="^{$regular_expression}\s?=\s?([^;]+)\s?;\s?(.*)$"> <xsl:matching-substring> <xsl:message> ANALYZED STRING SUCCESSFULLY </xsl:message> <!-- Deal with regex-groups --> </xsl:matching-substring> <xsl:non-matching-substring> <xsl:message> Error: IN NON-MATCHING SUBSTRING </xsl:message> </xsl:non-matching-substring> </xsl:analyze-string> </type> </xsl:template> My input is in the following format: <container> <type> managed_design_object = SELECT ( adjacent_stratum_surface_definition , adjacent_stratum_surface_embedded_component_surface_definition , alias_identification , alternate_select_product , <!-- ...... limit seems to be about 814 characters. The input I need to handle is much greater --> ) ; </type> </container> Any suggestions, short of tokenizing the string the old fashioned way? Thanks. *************************************************************************** Heidi Preston Electric Boat Corporation 75 Eastern Point Road Groton, CT 06340 (860) 433-8649
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] <ANNOUNCE>Building XML Workfl, Stylus Studio | Thread | RE: [xsl] length limitations on str, Michael Kay |
[xsl] <ANNOUNCE>Building XML Workfl, Stylus Studio | Date | [xsl] numbering output and other ne, Terry Ofner |
Month |