[xsl] defining output document type by stylesheet parameters

Subject: [xsl] defining output document type by stylesheet parameters
From: "James Sulak" <jsulak@xxxxxxxxxxxxxxxx>
Date: Mon, 18 Feb 2008 11:04:24 -0600
Hello all,

In XSLT 2.0, is it possible to define the output document type by
stylesheet parameters?  I've tried this without success by the following
method:

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
   <xsl:param name="doctype.system" select="string('commbook.dtd')"/>
   <xsl:param name="doctype.public"
      select="string('-//JMP//DTD DocBook V4.4-Based Subset
V0.1//EN')"/>
   <xsl:output method="xml" version="1.0" encoding="utf-8"
doctype-system="{$doctype.system}"
      doctype-public="{$doctype.public}" />

I expect to get this output:

	<!DOCTYPE chapter PUBLIC "-//JMP//DTD DocBook V4.4-Based Subset
V0.1//EN" "commbook.dtd">

But instead receive this output:

	<!DOCTYPE chapter PUBLIC "{$doctype.public}"
"{$doctype.system}">

I know this type of thing wasn't possible in 1.0, but it seems like it
might be in 2.0.  Is there another approach I should be using, or am I
out of luck?  I'm using Saxon 9B.

Thanks,

-James

-----
James Sulak
Electronic Publishing Developer
Jones McClure Publishing

Current Thread