Project

Profile

Help

Error "SXQP0001: No more input required" with xsl:break inside of xsl:iterate

Added by Martin Honnen over 9 years ago

Using Saxon-EE 9.6.0.4J I have tried to construct a sample using @xsl:iterate@ together with @xsl:break@, but I don't get any output, instead only the error "SXQP0001: No more input required".

Here are the samples, the XSLT is









  
    
      
      
    
    
      
    
  



the test sample is



  
    

foo bar foobar

foobar baz foo

baz bar foobaz

the output with @-t@ option is

Saxon-EE 9.6.0.4J from Saxonica
Java version 1.8.0_31
Using license serial number ...
Saxon evaluation license expires in 5 days
Generating byte code...
Stylesheet compilation time: 263.708821ms
Processing file:/C:/Users/user/Documents/xslt/test2015012901.xml
Using parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
Error
  SXQP0001: No more input required
No more input required

When I take out the @xsl:if@ with the @xsl:break@ Saxon is able to run the stylesheet so I think I have used @xsl:iterate@ correctly.


Replies (2)

RE: Error "SXQP0001: No more input required" with xsl:break inside of xsl:iterate - Added by Michael Kay over 9 years ago

Thanks for reporting it. The exception is one that Saxon uses internally to tell the XML parser to abort parsing, and it should then catch the exception, tidy up, keep calm, and carry on. Will investigate.

RE: Error "SXQP0001: No more input required" with xsl:break inside of xsl:iterate - Added by Michael Kay over 9 years ago

Saxon streaming code throws this exception to indicate to the parser that no more of the input is required; the exception should be caught on return from the parser. In fact the exception is being caught when streaming is initiated using xsl:stream, but not when initiated at the API level. I will raise a patch.

    (1-2/2)

    Please register to reply