![]() Mailinglisten-Archive |
Thomas Richter wrote: >>wo hast Du die Entities definiert? Wenn Du eine externe DTD >>verwendest, > das xml dokument ist ein xhtml dokument und komplett valide (html und > xml valide!). > > nun habe ich folgendes: > > <!DOCTYPE html ...> > <?xml version="1.0" ?> > <html> > <head> > <title>title</title> > </head> > <body> > <img src="xxx" title="schöner text" /> > </body> > </html> Die XML-Deklaration kommt nach oben. Als zweites kommt dann die Dokumenttypangabe, die Du hier abk�rzt. Z.B.: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Hier m�sste jetzt der Parser nachsehen, welche Entities ersetzt werden sollten. Bei n�herem Hinsehen, stehen die aber nicht direkt drin sondern in einer weiteren Datei: http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent Das w�re also ein bisschen viel Aufwand f�r den Parser. Woher soll er aber das Entity ö kennen? Die sind f�r XHTML definiert und nicht f�r XML! Du hast jetzt mehrere M�glichkeiten. 1. Du w�hlst gleich einen Latin-1-Zeichensatz: <?xml version="1.0" encoding="ISO-8859-1"?> Dann kannst Du Dir die Entities sparen. (Beste L�sung) 2. Die packst den Inhalt der xhtml-lat1-Datei in Dein Dokument. (Sind ja nur 200 Zeilen.) 3. Du schreibst statt ö ö Diese Entities kannst Du direkt in XML verwenden. (Zweitbeste L�sung) Notfalls kann man ja mit str_replace vorher die Datei entsprechend pr�parieren und alle xhtml-Entities austauschen. Viele Gr��e Peter
php::bar PHP Wiki - Listenarchive