Re: [xsl] Is there a way to display entities callouts in both IE and Mozilla?

Subject: Re: [xsl] Is there a way to display entities callouts in both IE and Mozilla?
From: Betty.Risher@xxxxxxxxxxxx
Date: Tue, 9 Nov 2004 14:36:22 -0700
Hi Wendell,

I just saw what I was doing wrong.  I used a SYSTEM call in the internal
entity reference.
Once I took that out (like your example below) everything worked.  I was
bunging it all up.
Thanks for all your help!

Betty






Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> on 11/09/2004 12:51:29 PM

Please respond to xsl-list@xxxxxxxxxxxxxxxxxxxxxx

To:    xsl-list@xxxxxxxxxxxxxxxxxxxxxx
cc:

Subject:    Re: [xsl] Is there a way to display entities callouts in both
       IE and Mozilla?


Hi Betty,

At 11:07 AM 11/9/2004, you wrote:
>I am trying to use entity calls (example &mdash;) from 1 xml source for
>both IE and Mozilla. Currently the IE version works fine due to the entity
>files being called out from the dtd. I am having issues with the Mozilla
>version.  I can not get it to recognize the &mdash.  I have tried to
>declare the entity in a stylesheet using:
><?xml version="1.0" encoding="iso-8859-1"?>
><!DOCTYPE xsl:stylesheet [
>       <!ENTITY mdash "&#151;">
>]>
>
>this did not work.
>Am I missing something?

Yup: it's not the stylesheet that contains the entity that must be
resolved, but the document. So your DOCTYPE declaration needs to be in the
document.

Just copy the same code to the top of your document, changing
"xsl:stylesheet" to the name of your document ("root") element.
Unfortunately (this gets me all the time) you have to have this in your
document because, unlike IE, Mozilla doesn't read the external DTD subset
(the part referred to in the SYSTEM or PUBLIC identifier). You can get
around this by having the entity declaration in an internal subset (the
bracketed part of the DOCTYPE declaration).

You can perfectly well have both internal and external subsets, so your
document could have

<!DOCTYPE document SYSTEM "../DTD/document.dtd [
       <!ENTITY mdash "&#151;">
]>
<document>...</document>

and it would work fine even though the mdash is declared twice.

Declaring it in the stylesheet doesn't work because the declaration is
needed when the source document, not the stylesheet, is parsed.

Cheers,
Wendell


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

Current Thread