Using the latest CVS version (updated an hour ago), I am having
problems passing parameters to a stylesheet. I am using the following
code to set a parameter:
void xalanc_set_stylesheet_parameter ( const XMLCh * value, const XMLCh* key
)
{
std::cerr << "Key is " << XMLString::transcode ( key ) << ", value is " <<
XMLString::transcode ( value ) << std::endl;
xalan.setStylesheetParam ( XalanDOMString ( key ), XalanDOMString ( value )
);
}
(Note that the input parameters are Xerces DOM strings)
which produces the following (correct) output at runtime:
Key is document-element, value is strange
But when the transform is called, using the following stylesheet:
<?xml version='1.0'?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:test="urn:colina.demon.co.uk:domwriter-test-one"
>
<xsl:param name="document-element" select="dummy" />
<xsl:template match="/">
<xsl:message>
<xsl:text>Value of document-element parameter is </xsl:text><xsl:value-of
select="$document-element" />
</xsl:message>
<xsl:element name="{$document-element}" />
</xsl:template>
</xsl:transform>
I get the following warnings:
XSLT message: Value of document-element parameter is , source tree node:
#document (file:///home/colin/colina/EDOM/data/transform3.xsl, line 8, column
18)
XSLT warning: Illegal element name, source tree node: #document
(file:///home/colin/colina/EDOM/data/transform3.xsl, line 11, column 47)
So am I creating the XalanDOMStrings incorrectly, or is there some
kind of bug here?
N.B. I am using Linux,
--
Colin Paul Adams
Preston Lancashire