Project

Profile

Help

How to process input in streaming mode of used package?

Added by Martin Honnen about 8 years ago

When I have a package defining a streamable and public mode @<xsl:mode name="m1" on-no-match="shallow-copy" visibility="public" streamable="yes"/>@ as the default mode and solely use that package from the command line with Saxon 9.7.07J EE and the option @-t@ then Saxon indicates that it is "streaming" the input file.

However when I run a second stylesheet that uses the package then Saxon indicates that it is building a tree for the input. I wonder how I should set up the stylesheet or run Saxon so that the input is streamed. In general it does not seem to be clear from the spec what happens with the streamability of a mode declared in a used package.

The package is




	
	
	
	
		
			
			
		
	
	

the second stylesheet is



	
	
		
			
				
					
				
			
		
	
	

now when I run from the command line and use @-xsl:package.xsl;sheet.xsl@ the code is compiled and executed fine and gives me the result I want for the used input sample, only the @-t@ option indicates that a tree was built for the input whereas I would like to process the input in a streamed way (as it happens when I only run the package).

Even when I change the stylesheet to




		
	
	

then Saxon indicates that it is streaming the input. So it seems the @xsl:override@ turns the processing mode into non-streaming. Is that what is supposed to happen?

Input is




	
		
			foo 1
			
				
					foo 2
				
			
		
	


Please register to reply