[Gestalt-users] New extension function
Status: Alpha
Brought to you by:
colin-adams
From: Colin P. A. <co...@co...> - 2006-07-14 16:27:22
|
Here is my current specification for a proposed new extension function, to be written this weekend. Comments welcome. gexslt:transformation This function allows you to run an XSLT transformation from within your current XSLT transformation. Syntax is: gexslt:transformation ($trans as xs:anyURI, $initial-context as node()?, $initial-template as xs:QName?, $initial-mode as xs:QName?, $parameters as item*, $flags as xs:boolean*) as item()+ or gexslt:transformation ($trans as xs:anyURI, $initial-context as node()?) as item()+ The two-argument form is equivalent to passing () for all remaining arguments. The meaning of the arguments is as follows: The URI of the transformation to be run An optional initial context node An optional initial template An optional initial mode The parameters list must consist of an even number of items. The odd numbered items must be of type xs:QName, which represent the name of a global stylesheet parameter. The following even-numbered item will be the value of that stylesheet parameter. The flags all default to false(). Trailing flags may be omitted, which means I can easily add further flags later. The meaning of the flags currently defined is as follows: No flags are defined at this stage. I have various stylesheet-caching control flags in mind. The result sequence has one of two forms: Exactly one xs:QName, representing an error code from the transformation One or moredocument-node(). The first document will be the implicit result document if one exists. Result documents can be serialized using the gexslt:serialize extension instruction. -- Colin Adams Preston Lancashire |