[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Convert paramter to a sequence
>>>>> "Michael" == Michael Kay <mike@xxxxxxxxxxxx> writes: >> > Pass the parameter as the Xpath value "(1, 2, 3)". >> >> If the system allows xpath expressions to be specified >> externally. Unless I've missed something, saxon (for example) >> only allows (on the command line) parameters to be specified by >> a string value or be specified as a document node by passing in >> a file name/uri. Michael> Yes. Some products allow you to specify an XPath Michael> expression as the parameter value. With Saxon you always Michael> pass a value, not an expression. I too always pass a value, not an expression. But I get round this for passing XPath parameter expressions from the command line by converting them to a value first. I do this by: 1) Saving the static context of the xsl:tranform/stylesheet element of the principal stylesheet module in the executable stylesheet. I can then use this to parse the parameter into a parsed XPath expression. 2) I create a dynamic context based on the initial context node and evaluate the expression using that context. 3) The resulting value is then set as the parameter. The sharp-eyed amongst you will notice that there is no initial context node if only an initial template is requested. In this case I disallow XPath expression strings as parameters. But in fact passing (1,2,3) as a parameter is quite likely to be of great use in just such a scenario. So one day I intend to remove this limitation. It should be fairly easy - I just have no time right now. I think Saxon could easily be adapted to use such a scheme. -- Colin Adams Preston Lancashire
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|