phpbar.de logo

Mailinglisten-Archive

AW: AW: [php] sax parser und entities innerhalb von attributwerten

AW: AW: [php] sax parser und entities innerhalb von attributwerten

Thomas Richter php at wwedit.org
Sam Jul 24 12:28:43 CEST 2004


> > das xml dokument ist ein xhtml dokument und komplett valide 
> (html und
> > xml valide!).

> 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">


s.o. ich sagt es ist valide. es handelt sich um ein dreher in der
eile...
 
> 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 &ouml; kennen? Die sind für XHTML definiert und nicht 
> für XML!

sollte der parser dann nicht einen error schmeissen? warum funktioniert
es ausserhalb der werte der attribute... deine erklaerung scheint mir
nicht ganz plausibel... zumal ich die entities auch bekommen... bloss
halt an der falschen stelle... 

> 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)

negativ. es handelt sich um usereingaben, und werd mir das umwandeln der
entities in die zeichen ersparen...

> 2. Die packst den Inhalt der xhtml-lat1-Datei in Dein 
> Dokument. (Sind ja 
> nur 200 Zeilen.)

dann werd ich das mal versuchen.

> 3. Du schreibst statt &ouml; &#246; 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.

dann kann ich gleich die obige datei einbinden... wenn der parser das
selbst macht, gehts garantiert schneller... :)


gruss

thomas



php::bar PHP Wiki   -   Listenarchive