PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XML HTML-Entities bekannt machen


Stefa_N
14.08.2007, 16:54
Hallo

ich habe eine XML-Datei wo ä für ä vorkommt. Infolge dessen lädt die Datei nicht (undefinierte Entität). Ich hab rumgegoogelt und bin auf zwei Möglichkeiten gestossen das zu beheben:


<!DOCTYPE xc:content [
<!ENTITY % xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
%xhtml;
]>
resultiert in: Das Verwenden von Standard-Namespacedeklarationsattributen wird in DTD nicht unterstützt.

und


<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
%HTMLlat1;
resultiert in: Eine DTD-Deklaration außerhalb von DTD ist nicht zugelassen

Ich bin auch diverse andere Varianten durch, aber beim Öffnen im Internet Explorer gibt's immer was zu meckern...:mauer:

Wie soll sowas aussehen?


Messiah_of_Death
15.08.2007, 08:45
<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE guestbook [
<!ENTITY auml "ä">
<!ENTITY Auml "Ä">
<!ENTITY uuml "ü">
<!ENTITY Uuml "Ü">
<!ENTITY ouml "ö">
<!ENTITY Ouml "Ö">
<!ENTITY szlig "ß">
<!ENTITY nbsp " ">
]>

klappt bei mir jedenfalls

Stefa_N
20.08.2007, 09:23
Bei dieser Lösung steigt er natürlich bei jedem Entity aus, das man vergessen hat dort reinzuschreiben, aber es funktioniert wenigstens. Firefox und IE können die Datei anzeigen, auch unter .NET kann ich die Datei laden, nur MSXML steigt trotzdem aus. Ich habe guestbook durch den Namen meines Wurzelknotens ersetzt und kriege einen parseError:

Das Element 'mime-message' wird verwendet, aber es ist im DTD/Schema nicht deklariert.

Offensichtlich soll ich jetzt dort alles deklarieren was im XML-Dokument an Tags vorkommt. Das kann nicht die Lösung sein! Kennt jemand noch eine Möglichkeit, dass auch MSXML damit klarkommt?

eViL_oNe
20.08.2007, 15:03
<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE guestbook [
<!ENTITY auml "ä">
<!ENTITY Auml "Ä">
<!ENTITY uuml "ü">
<!ENTITY Uuml "Ü">
<!ENTITY ouml "ö">
<!ENTITY Ouml "Ö">
<!ENTITY szlig "ß">
<!ENTITY nbsp " ">
]>

klappt bei mir jedenfalls

kann net sein, dass es klappt -- die Umlaute und das "Eszett" sind ja so schon ok, aber ich kann mir nicht vorstellen, dass nbsp mit dieser Semantik tatsächlich ein "non-breaking space", also ein nicht automatisch umbrechbares Leerzeichen darstellt *g*

Firefall
05.08.2009, 08:32
kann net sein, dass es klappt -- die Umlaute und das "Eszett" sind ja so schon ok, aber ich kann mir nicht vorstellen, dass nbsp mit dieser Semantik tatsächlich ein "non-breaking space", also ein nicht automatisch umbrechbares Leerzeichen darstellt *g*
Korrekt. Man macht das auch nicht durch ne Stringangabe sondern über eine numerische Entity. So wird es auch in den DTD vom W3C gemacht.