Marco F.: HTML-Tags in XML-Attributwerten "einbetten"

Gibt es eine Möglichkeit HTML-Tags in einem XML-Attributwert (String) zu maskieren, so daß ein XML-Parser sich nicht daran stört, beim Anzeigen des Strings mit einem Webbrowser aber die HTML-Tags wieder "sichtbar" werden?

Beispiel:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE catalog-asset SYSTEM "../catalog.dtd">
<catalog-asset>
<!--Category description-->
<catalogdsc
catalog_id="@catalog_id_1"
language_id="&de_DE;"
name="<br>Hauptkatalog"
/>
...
</catalog-asset>

Momentan stört sich der XML-Parser an dem <br>-Tag. Kann man das irgendwie umgehen?

  1. Hi,

    Gibt es eine Möglichkeit HTML-Tags in einem XML-Attributwert (String) zu maskieren, so daß ein XML-Parser sich nicht daran stört,

    ja, selbstverständlich. Die XML-Maskierung ist identisch wie bei HTML (bzw. eher umgekehrt), bis auf dass je nach DTD die Entities erst bekannt gemacht werden.

    beim Anzeigen des Strings mit einem Webbrowser aber die HTML-Tags wieder "sichtbar" werden?

    Das hängt davon ab, wie Du dem Browser etwas Darstellbares lieferst.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. hallo

    bist du sicher den abschnitt "Zeichen, Zeichensätze und nicht interpretierte Abschnitte" unter der rubrik xml/dtds -> regeln für xml-dateien gelesen zu haben? :-)

    cu
    ulli

  3. Ja, die gibt es. Du müsstest allerdings Unicode verwenden.
    Guck mal hier: http://selfhtml.teamone.de/html/referenz/zeichen.htm

    In Deinem Fall müsstest Du dann schreiben &#60;br&#62;

    LG, Julia

    1. Ja, die gibt es. Du müsstest allerdings Unicode verwenden.
      Guck mal hier: http://selfhtml.teamone.de/html/referenz/zeichen.htm

      In Deinem Fall müsstest Du dann schreiben &#60;br&#62;

      LG, Julia

      Danke für den Hinweis,

      die Frage ist nur ob der Browser aus &#60;br&#62 wieder ein <br>-Tag macht und es als solches interpretiert. Ich werd's mal ausprobieren.

      MfG,
      Marco

      1. die Frage ist nur ob der Browser aus &#60;br&#62 wieder ein <br>-Tag macht und es als solches interpretiert. Ich werd's mal ausprobieren.

        Statt <br> sollte man immer <br /> verwenden! Die Gründe stehen ausführlich in Selfhtml.

        Heiner

        1. Statt <br> sollte man immer <br /> verwenden! Die Gründe stehen ausführlich in Selfhtml.

          Heiner

          Danke für den Hinweis. Aber das mit dem <br> war nur als Beispiel gedacht, um anschaulich zu erklären was ich mit HTML-Tags in XML "einbetten" meinte. Tatsächlich will ich eine komplette HTML-Tabelle in so einem String "verstecken".

          MfG,
          Marco

          1. Danke für den Hinweis. Aber das mit dem <br> war nur als Beispiel gedacht, um anschaulich zu erklären was ich mit HTML-Tags in XML "einbetten" meinte. Tatsächlich will ich eine komplette HTML-Tabelle in so einem String "verstecken".

            MfG,
            Marco

            Warum arbeitest Du dann nicht mit XSL und XSLT? Dort kannst Du der XML-Datei "sagen", wie sie nachher "aussehen" soll. Fange allerdings auch erst gerade damit an. Darum habe ich nicht so viel Erfahrung damit ...
            http://selfhtml.teamone.de/xml/darstellung/xslgrundlagen.htm

            LG,

            Julia

      2. Hallo,

        die Frage ist nur ob der Browser aus &#60;br&#62 wieder ein <br>-Tag macht und es als solches interpretiert. Ich werd's mal ausprobieren.

        Du handelst dir damit mehr Probleme ein, als wenn du jetzt eine vernünfige Lösung für ="<br>..." suchen würdest.
        (Z.B. du kannst beim XSL-Transformation, wenn du das machst, vor der Ausgabe des Attributwertes einen <br> einfügen)

        Grüße
        Thomas