xsl:with-param
Used to define an actual parameter to a template: within an xsl:call-template, xsl:apply-templates, xsl:apply-imports, or xsl:next-match element. Also used to define parameters to an iteration (using xsl:next-iteration) or to a dynamic invocation of an XPath expression (using xsl:evaluate).
Content: sequence-constructor
Permitted parent elements: 
         xsl:apply-templates
         ; xsl:apply-imports
         ; xsl:call-template
         ; xsl:evaluate
         ; xsl:next-match
         ; xsl:next-iteration
      
Attributes
| 
 | 
 | The name of the parameter. | 
| 
 | 
 | The value of the parameter may be defined
                    either by a  | 
| 
 | 
 | Defines the required type of the parameter. The supplied value of the parameter will be converted to this type if required. | 
| 
 | 
 | Used only when passing parameters to
                    templates. The attribute  | 
| 
 | 
 | Allows additional type information to be supplied using Saxon extension syntax. For details see saxon:as. | 
Saxon availability
Available in XSLT 1.0 and later versions. Available in all Saxon editions. Available for all platforms.
Details
For an example, see xsl:template.
The parameter has no effect unless the called template includes a matching
                        xsl:param element. But when using
                        xsl:call-template, it is an error to specify a parameter that
                    isn't declared in the target template, or to omit a parameter that's described
                    in the target template with required="yes".