xsl-list
[Top] [All Lists]

Re: [xsl] Declaring entities in output XML DOCTYPE

2010-12-21 11:04:02
On 21/12/2010 16:29, Peter Desjardins wrote:
*****************************

<?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>



the only way to write an internal subset without using processor extensions is to write all of

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE targetset
SYSTEM "http://docbook.sourceforge.net/release/xsl/current/commontargetdatabase.dtd";
 [> <!ENTITY MyDoc SYSTEM "MyDoc.db">
 ]>

as text using disable-output-escaping, or (better) character maps.

A better (for xslt) solution is to specify an external dtd subset say

 <!DOCTYPE targetset SYSTEM "mydocbook.dtd">

which you can specify using xsl:output, then you can write mydocbook.dtd using xsl:result-document text method, so it looks like


<!ENTITY % dbk SYSTEM "http://docbook.sourceforge.net/release/xsl/current/commontargetdatabase.dtd";>
%dbk;
<!ENTITY MyDoc SYSTEM "MyDoc.db">
....


David



--~------------------------------------------------------------------
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>