Re: [xsl] Adding entity declarations to DOCTYPE in xml output

Subject: Re: [xsl] Adding entity declarations to DOCTYPE in xml output
From: "Liam R. E. Quin liam@xxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 25 Feb 2019 23:11:39 -0000
On Mon, 2019-02-25 at 21:15 +0000, Michele R Combs mrrothen@xxxxxxx
wrote:
> Hello collective wisdom -
> 
> I would like to have several entity declarations in my output XML. 
[...]
> 
> Is this doable with XSL 1.1?

Do you reallmy mean XSLT 1.1?

How are you planning to reference the entities in the generated XML?

Here is an example that does it
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:template match="/">
    <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE boy [
  <!ENTITY name "simon">
]>]]></xsl:text>
    <boy>
      <name>
      <xsl:text disable-output-escaping="yes">&amp;name;</xsl:text>
      </name>
    </boy>
  </xsl:template>
</xsl:stylesheet>

And here is the result of running it:
$ xsltproc doctype.xsl doctype.xsl
<?xml version="1.0"?>
<!DOCTYPE boy [
<!ENTITY name "simon">
]>
<boy><name>&name;</name></boy>


And here is the result of expanding entities:
$ xsltproc doctype.xsl doctype.xsl | xmllint --noent -
<?xml version="1.0"?>
<!DOCTYPE boy [
<!ENTITY name "simon">
]>
<boy><name>
simon</name></boy>

Liam


-- 
Liam Quin, https://www.delightfulcomputing.com/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Web slave for vintage clipart http://www.fromoldbooks.org/

Current Thread