Manuel: Entity nicht gefunden?

Hi,

ich hab eine Seite in XML, wird per XSLT nach HTML transformiert.
Jetzt hab ich in der DTD zwei Entities definiert:

<!ENTITY copy "&#169;">
<!ENTITY nbsp "&#160;">

Wenn ich in der XML-Datei das Entity verwende, funktionert es, wenn ich es in der XSL-Datei benutze, meldet der Browser, das dieses Entity nicht definiert ist. Muss ich die DTD auch noch in die XSL einbinden?

Code XML:
<copyright>
 &copy; by XW in 2004
</copyright>

Code in der XLS:
<td background="/images/tab_unten_hintergrund.gif" height="16" style="font-size: 15px;">&nbsp;</td>

thx4hlp

MfG
Manuel

  1. Hi,

    ich hab eine Seite in XML, wird per XSLT nach HTML transformiert.

    Welcher XSLT-Prozessor ist im Einsatz?

    Jetzt hab ich in der DTD zwei Entities definiert:

    Interne oder externe DTD?

    Wenn ich in der XML-Datei das Entity verwende, funktionert es, wenn ich es in der XSL-Datei benutze, meldet der Browser, das dieses Entity nicht definiert ist. Muss ich die DTD auch noch in die XSL einbinden?

    Welcher Browser?

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi,

      Welcher XSLT-Prozessor ist im Einsatz?

      Ich würd mal sagen, der Browserinterne

      Interne oder externe DTD?

      Externe DTD

      Welcher Browser?

      IE 6.0 mit WinXP und Firefox, die aktuelle Version
      Im IE funktioniert es mittlerweile, da ich in der XSL-Datei die Entyties nochmal definiert hab. der Firefox erkennt aber nichtmal den Entity an, der in der XML Datei definiert ist, obwohl der Validator keinen Fehler erkennt. Ich schreibe und validiere meine Dateien mit Altove XMLSpy

      1. Hallo,

        der Firefox erkennt aber nichtmal den Entity an, der in der XML Datei definiert ist, obwohl der Validator keinen Fehler erkennt.

        Das wird er auch nicht. Die verwendete version von Transformiix (der XSLT-Prozessor im Mozilla) kümmert sich nicht um externe Entities.

        D.h. du hast alles richtig gemacht, aber Mozilla/Firefox machen da nicht mit.

        Grüße
        Thomas

        1. Hi,

          D.h. du hast alles richtig gemacht, aber Mozilla/Firefox machen da nicht mit.

          Danke für die Info, dann hoff ich mal, das Mozilla/Firefox bald nachziehen. Ich will vermeiden, das ich nen serverbasierten Parser nutzen muss, das ganze sdoll ja den Server entlasten und nicht zusätzlich belasten ;-)

          1. Hi,

            Danke für die Info, dann hoff ich mal, das Mozilla/Firefox bald nachziehen. Ich will vermeiden, das ich nen serverbasierten Parser nutzen muss, das ganze sdoll ja den Server entlasten und nicht zusätzlich belasten ;-)

            Für die Entlastung des Servers bekommst Du aber gratis den Nachteil, daß Du absolut nicht garantieren kannst, daß die Transformation stattfindet - denn Du weißt nicht, welche Software-Ausrüstung der Besucher hat.

            cu,
            Andreas

            --
            MudGuard? Siehe http://www.Mud-Guard.de/
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Hi,

              Für die Entlastung des Servers bekommst Du aber gratis den Nachteil, daß Du absolut nicht garantieren kannst, daß die Transformation stattfindet - denn Du weißt nicht, welche Software-Ausrüstung der Besucher hat.

              Laut meinem Log haben 99,4% meiner Besucher den IE 5.5 oder 6.0
              Für die anderen steht alternativ die momentane Software zur Verfügung.
              Mal sehen, obs bei einigen Probleme gibt, bis zur Fertigstellung des Projektes werden sowieso noch ca. 6-8 Monate vergehen.
              Ich finde halt, wenns neue Technologien gibt, sollte man die auch nutzen, wenn das keiner tut, gibts auch keinen Fortschritt ;-)

              MfG
              Manuel

          2. Hallo,

            D.h. du hast alles richtig gemacht, aber Mozilla/Firefox machen da nicht mit.

            Danke für die Info, dann hoff ich mal, das Mozilla/Firefox bald nachziehen.

            Nicht so bald, siehe auch http://bugzilla.mozilla.org/show_bug.cgi?id=22942

            Grüße
            Thomas

  2. Hallo,

    ich hab eine Seite in XML, wird per XSLT nach HTML transformiert.
    Jetzt hab ich in der DTD zwei Entities definiert:

    <!ENTITY copy "&#169;">
    <!ENTITY nbsp "&#160;">

    Wenn ich in der XML-Datei das Entity verwende, funktionert es, wenn ich es in der XSL-Datei benutze, meldet der Browser, das dieses Entity nicht definiert ist. Muss ich die DTD auch noch in die XSL einbinden?

    Das funktioniert aud diese Weise:

    <?xml version="1.0" encoding="..."?>
    <!DOCTYPE xsl:stylesheet [
    <!ENTITY copy "&#169;">
    <!ENTITY nbsp "&#160;">
    ]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- ... -->

    </xsl:stylesheet>

    Alternativ auch mit externer Referenzierung:
    <!DOCTYPE xsl:stylesheet SYSTEM "abc.dtd">

    MfG, Thomas