RE: XML fragment as a param ?
>>>>>>"Fraser" == Fraser Goffin <goffinf@xxxxxxxxxxx> writes: > Fraser> Is it possible to pass in an XML fragment as a param and then > Fraser> access nodes > Fraser> in the fragment as well as those in the main source instance > > Michael>Yes. The way you pass the value depends of course on your > processor > API. > > Michael, not sure what you mean, I'm using Xerces/Xalan if that helps ? > I'm not certain how Xalan handles this, but the general technique is: get your XSLT processor, configured with your stylesheet and input XML document; get your XML fragment (probably by selecting a node from a DOMDocument, or if it's text, by having it parsed into a DOMDocument); add it as a parameter to the processor (MSXML uses "addParameter"; Xalan's processor class will have a similar method); access it via the parameter in your stylesheet. In pseudocode: processor = getProcessor(yourStylesheet); processor.input = inputXMLDocument; processor.output = outputXMLDocument; processor.addParameter("myXMLFragment", supplementaryXML); processor.transform(); Within your stylesheet you will have the parameter declared, and access the content of the fragment via that: <xsl:stylesheet> <xsl:param name="xmlFragment" select="/.." /> <!-- later... --> <xsl:template match="some/node/in/main/document"> <!-- get a heading from the XMl fragment passed in --> <h1><xsl:value-of select="$xmlFragment/supplementary/heading" /></h1> </xsl:template> <!-- lots of other stuff... --> </xsl:stylesheet> How you actually implement the above in real-life code depends on your processor, so check the Xalan docs for a function with a name similar to "addParameter", or google for a tutorial. The procedure for using the "document()" function is different to this, and "data:" URIs are a different kettle of fish altogether, but as you originally asked about passing the fragment in a param, this will hopefully point you in the right direction. HTH, Nick. -- Nick Fitzsimons http://www.nickfitz.co.uk/
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