A DTD is required in an external XSLT stylesheet that uses entity references other than the predefined XML entity references.
Using non-predefined entity references commonly occurs when the XSLT stylesheet is generated by tools for generating transformations
from XML to HTML or XHTML, that is, to generate a page to be displayed by a browser. Often the tool will not add the DTD.
A DTD that defines the entities must be added after the XSLT stylesheet is generated and before it is used by XML Extensions.
Here is an example of such a DTD for XHTML entities:
<!DOCTYPE root [
<!ENTITY % HTMLlat1 PUBLIC
"-//W3C//ENTITIES Latin 1 for XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
%HTMLlat1;
<!ENTITY % HTMLsymbol PUBLIC
"-//W3C//ENTITIES Symbols for XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
%HTMLsymbol;
<!ENTITY % HTMLspecial PUBLIC
"-//W3C//ENTITIES Special for XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
%HTMLspecial;]>