[xsl] Including <?xml ...> in the result tree

Subject: [xsl] Including <?xml ...> in the result tree
From: Sebastian Tennant <sebyte@xxxxxxxxxxxxxxx>
Date: Mon, 30 Jan 2006 01:15:06 +0000
Hi all,

I want to output an XHTML doc with the following prologue:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>

However an xsl template including the following:

  <xsl:processing-instruction name="xml">
    version="1.0" encoding="UTF-8"
  </xsl:processing-instruction>
  <![CDATA[
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>]]>

produces the following error in xalan:

  XSLT Error: A processing instruction name cannot be 'xml'

and the cdata section is output as &lt;!DOCTYPE... etc.

How best should this be achieved?

TIA

sdt

Current Thread