> Mark Modrall writes: > >I've been toying with some stylesheets and i was thinking it would be > >very nice to be able to pass in a parameter to control what the output > >encoding of a transform would be, but i can't seem to get it to work... > >Is this prohibited? > > Yes, at least in XSLT 1.0. This is also one of the frequently-asked of > FAQs about XSLT. (There is a FAQ at www.dpawson.co.uk.) > > The usual workaround is to select a stylesheet from among a set that > are identical except for their xsl:output statement and any related > attributes. You can use xsl:include to share common code across the > set. Select the stylesheet when you invoke Xalan, whether from the > command line or via API. > .................David Marston >
Hi all, I would like to use a variable in my xsl:output to store a part of DTD URL. for example: <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="dtd" select="'http://hostname:8000/uri'"/> <xsl:output doctype-system='{$dtd}/filename1.dtd'/> <xsl:template match="/"> <MyXml dtd="{$dtd}"> <xsl:value-of select="$dtd"/> </MyXml> </xsl:template> </xsl:stylesheet> transforms into: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE MyXml SYSTEM "{$dtd}dtdname1.dtd"> <MyXml dtd="http://hostname:8000/uri/">http://hostname:8000/uri/</MyXml> Is there a workaround for this problem? A while ago somebody suggested to use Xalan's "evaluate" extension function for this purpose - is this feasible? vlad (please CC to my address - i'm not subscribed to the list)
