HTML in XML - CDATA funktioniert nicht

M

MISTAX

Hallo zusammen,

ich habe ein Flash-Karussell, was seine Daten (Welches Bild, welcher Beschreibungstext) aus einer XML-Datei holt.
Jetzt möchte ich im Beschreibungstext gerne einen Link einfügen. Leider kenne ich mich zu wenig mit XML aus, als dass ich da genau wüsste, wie das geht.

Beim ersten "Angoogeln" bin ich auf "CDATA" gestoßen, funktioniert aber hier nicht...

Hier mal der Code:

Code:
<icons>
<icon image="icon5.png" content="Beschreibungstext bla" />
</icons>
Originalcode: Funktioniert

Code:
<icons>
<icon image="icon4.png" content="<![CDATA[Beschreibungstext bla <a href='http://www.google.de'>Test</a>]]>" />
</icons>

funktioniert nicht... (sieht auch seltsam aus)

Wäre für einen Rat sehr dankbar
Martin
 
Hallo,

man kann innerhalb des Markups kein neues Markup unterbringen.
Ein CDATA-Bereich ist nun mal Markup und Attribute stehen nun mal innerhalb des Element-Tags. Deshalb sind in Attributen nur Literale möglich, keine Verschachtelungen und keine weiteren Elemente.

In irgendeinem Tutorial (w3schools?) steht, dass der XML-Parser augenblicklich seine Arbeit beendet, wenn er nach einer öffnenden spitzen Klammer eine weitere findet. So wie bei dir:
Code:
<icons>
<icon image="icon4.png" content="<![CDATA[Beschreibungstext bla <a href='http://www.google.de'>Test</a>]]>" />
</icons>
 
Hi.

Du mußt die Spezialzeichen im Attributtext durch die entsprechenden Zeichenentitäten ersetzen:
XML:
<icon image="icon4.png" content="Beschreibungstext bla &lt;a href='http://www.google.de'&gt;Test&lt;/a&gt;" />
Ob der Link dann innerhalb des content Attributs später auch als solcher interpretiert wird ist eine andere Frage.

Gruß
 
Zuletzt bearbeitet von einem Moderator:
Danke euch Beiden;

@hela - so etwas hatte ich mir schon gedacht, ich bin zwar nicht XML-versiert, aber allein vom "Aussehen" her, war mir fast klar, dass es so nicht geht...

@deepthroat das hatte ich auch schon probiert; dann funktioniert es zwar, wird aber leider auch genau so wieder ausgegeben...
 
Zurück