xsl-list
[Top] [All Lists]

[xsl] Declaring entities in output XML DOCTYPE

2010-12-21 10:29:59
Hi. I'm trying to generate olink maps for DocBook publishing and I
need to declare entities like the following in the output XML file.

[
<!ENTITY MyDoc SYSTEM "MyDoc.db">
]

I haven't been able to find a technique for controlling the entity
declarations in the DOCTYPE. Does anyone know a way to do that? I'm
using XSLT 2.0 and Saxon HE 9.2.1.1.

Here are my stylesheet, actual output, and desired output. Thanks for your help!

********************************
My stylesheet
********************************
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE stylesheet [
<!ENTITY MyDoc
"<xsl:text disable-output-escaping='yes'>&amp;MyDoc;</xsl:text>" >
]>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        <xsl:output method="xml" indent="yes"
doctype-system="http://docbook.sourceforge.net/release/xsl/current/common/targetdatabase.dtd"/>
        <xsl:template match="/">
                <xsl:element name="targetset">
                        <xsl:element name="sitemap">
                                <xsl:element name="dir">
                                        <xsl:element name="document">
                                                <xsl:attribute 
name="targetdoc">MyDoc</xsl:attribute>
                                                <xsl:attribute 
name="baseuri">MyDoc.htm</xsl:attribute>&MyDoc;
                                        </xsl:element>
                                </xsl:element>
                        </xsl:element>
                </xsl:element>
        </xsl:template>
</xsl:stylesheet>

********************************
Actual output
********************************

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE targetset
  SYSTEM 
"http://docbook.sourceforge.net/release/xsl/current/common/targetdatabase.dtd";>
<targetset>
   <sitemap>
      <dir>
         <document targetdoc="MyDoc" baseuri="MyDoc.htm">&MyDoc;</document>
      </dir>
   </sitemap>
</targetset>

********************************
Desired output
********************************

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE targetset
  SYSTEM 
"http://docbook.sourceforge.net/release/xsl/current/common/targetdatabase.dtd";
[
<!ENTITY MyDoc SYSTEM "MyDoc.db">
]>
<targetset>
   <sitemap>
      <dir>
         <document targetdoc="MyDoc" baseuri="MyDoc.htm">&MyDoc;</document>
      </dir>
   </sitemap>
</targetset>

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>