Hi folks.
Auch wenn das Problem von Walter scheinbar zu seiner eigenen Zufriedenheit gelöst ist - ein paar Anmerkungen hätte ich noch dazu.
Zitat von
Garby:
ich lese einen
XML-Stream direkt aus dem Internet.
Wäre es eine
XML stream, dann käme er mit einer passenden DTD für die verwendeten entities. Soll aber lediglich well formed
HTML als
XML verarbeitet werden, dann hilft es im client nachzubessern und die benötigte DTD zu injizieren - beispielsweise über einen stream adapter - die Wahl der Methode hängt vom verwendeten
XML Parser ab. Herauskommen muss das hier:
XML-Code:
<?
xml version="1.0"?>
<!DOCTYPE
html SYSTEM "
html.dtd">
<
html>
<description>Flächenbrand</description>
</
html>
Es muss dann die Datei
html.dtd mit folgendem Inhalt hinterlegt werden:
XML-Code:
<!ENTITY % isolat1 PUBLIC
'ISO 8879:1986//ENTITIES Added Latin 1//EN//
XML'
'iso-lat1.ent' >
%isolat1;
Stört euch nicht an der Indirektion über eine Parameter-Entity - der Inhalt der Datei iso-lat1.ent kann in diesem stark vereinfachten Beispiel auch direkt in
html.dtd abgelegt werden:
XML-Code:
<!ENTITY auml "ä">
<!ENTITY Auml "Ä">
<!ENTITY ouml "ö">
<!ENTITY Ouml "Ö">
<!ENTITY szlig "ß">
<!ENTITY uuml "ü">
<!ENTITY Uuml "Ü">
Bei dieser Vorgehensweise werden die
HTML character entities vom
XML Parser automatisch korrekt umgesetzt.
Grüße vom marabu