Toon posts:

[XSLT] CDATA escaped & naar &

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo mensen,

als ik mijn naslagwerken goed heb begrepen, is het de bedoeling van CDATA dat het tekens als "&" met rust laat.
Ik heb het volgende:
code:
1
<![CDATA[Direction client&egrave;le]]>

Dit word door mijn XSLT processor (PHP5) gehaald, en dan maakt de processor er toch
code:
1
&amp;egrave;
van wat dus niet de bedoeling is... hoe komt dit, wat zie ik over t hoofd?

[ Voor 20% gewijzigd door Verwijderd op 13-02-2006 13:54 ]


  • Bigs
  • Registratie: Mei 2000
  • Niet online
Volgens mij komt dat omdat hij de entity è niet kent, die moet je dus ergens defineren.

Verwijderd

Topicstarter
eeuh en hoe doe ik dat? Ja ik begin net met XML/XSL/XSLT en het definen van entity's was ik nog niet tegengekomen :)

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Dat weet ik ook niet meer .. ik ben maar kort met XSL bezig geweest en dit was een van de problemen waar ik ook tegenaan liep. Volgens mij kun je wel
code:
1
è
gebruiken.

Verwijderd

Topicstarter
Ja maar dat teken is dus userinput in mijn xml, en er zijn nog meer van dat soor tekens. Deze zet ik d.m.v htmlentities (php functie) om naar o.a.
code:
1
&egrave;
Dus ik kan niet voor elk mogelijk in te voeren teken een functie gaan maken om dat om te gaan zetten ;)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:51

crisp

Devver

Pixelated

HTML entities, op & " < en > na, zijn niet gedefinieerd in XML.
Afhankelijk van het karakter en de encoding die je gebruikt hoef je meestal tekens als è niet eens om te zetten naar een entity

Intentionally left blank


Verwijderd

Topicstarter
Neej aangezien alleen een rukbrowser er problemen mee gaf heb ik dat laten varen, mijn volgende probleem is nu dat ik in XML geen CDATA kan gebruiken als ik een attribuut een waarde wil geven :s

Ik heb in mijn invulvak de waarde: "ä" ingevuld, deze word in mijn xml geplaatst, en later weer ingelezen om het invulvak van een standaardwaarde te voorzien.
Dit invulvak bevat dan niet ä maar "ä"
Waar gaat t nu weer mis? :s Ik dacht de encoding, maar UTF-8 moet de ä toch wel kennen?

[ Voor 44% gewijzigd door Verwijderd op 13-02-2006 15:06 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:51

crisp

Devver

Pixelated

Verwijderd schreef op maandag 13 februari 2006 @ 14:53:
Neej aangezien alleen een rukbrowser er problemen mee gaf heb ik dat laten varen, mijn volgende probleem is nu dat ik in XML geen CDATA kan gebruiken als ik een attribuut een waarde wil geven :s

Ik heb in mijn invulvak de waarde: "ä" ingevuld, deze word in mijn xml geplaatst, en later weer ingelezen om het invulvak van een standaardwaarde te voorzien.
Dit invulvak bevat dan niet ä maar "ä"
Waar gaat t nu weer mis? :s Ik dacht de encoding, maar UTF-8 moet de ä toch wel kennen?
Ja, maar verstuur je het ook als UTF-8 (als in HTTP-headers)?

Intentionally left blank


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

de xmlprocessor zou in principe ... niks mogen doen met de data tussen de "CDATA" tags.
Probeer de data eens NIET om te zetten met hmlentities.
en gebruik encoding="iso-8859-1" daar kom je denk ik een heel eind mee

[ Voor 8% gewijzigd door vorlox op 13-02-2006 15:52 ]


Verwijderd

Topicstarter
Ja ik stuurde de html headers ook in UTF-8, maar heb alle encoding nu omgezet naar ISO-8859-1 en daarmee werkt alles :) En dan kom je wel weer andere problemen met je SQL queries tegen maarja, daar gaat dit topic niet over :P

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:51

crisp

Devver

Pixelated

Verwijderd schreef op maandag 13 februari 2006 @ 15:56:
Ja ik stuurde de html headers ook in UTF-8, maar heb alle encoding nu omgezet naar ISO-8859-1 en daarmee werkt alles :) En dan kom je wel weer andere problemen met je SQL queries tegen maarja, daar gaat dit topic niet over :P
Als je UTF-8 wilt gebruiken moet alles in je chain ook UTF-8 zijn; van je source-files die output genereren tot en met je database; ik denk dat het daar dus ergens aan geschort heeft...

Intentionally left blank


Verwijderd

Topicstarter
Mijn database is nu UTF8, en mijn XML & HTML ISO-8859-1, mijn database kan niet in ISO-8859-1 formaat, gaat dit een probleem op leveren? Mijn huidige SQL probleem heeft hier ongetwijfeld mee te maken, aangezien het gaat om een zoek query, waarbij hij alle records vind, terwijl er gezocht word naar een teken dat niet voorkomt.... best vaag allemaal ;)
Pagina: 1