Inderdaad, om het nog even iets duidelijker te illustreren:
In het Document Object Model (dat ik voor mezelf voorstel als een afspiegeling van een XML document in een bruikbare set object in een programmeertaal) heeft een attribute node (Attr) ook childNodes, die samen de waarde van de node bevatten, of wat in een XML document dus tussen de quotes van het attribuut zou staan.
Die childNodes kunnen zowel text nodes als entity reference nodes zijn, je kun het ongeveer zo uitbeelden:
code:
1
2
3
4
5
6
7
8
9
| img---+
|---src
| +---blaa%20haat.jpg
|
+---alt
|---bl
|---é
|---é
+---hr |
Intern mogen de entity references vervangen worden door het teken/de tekens die ze vertegenwoordigen.
Dat kun je allemaal lezen in de recommendation voor
XML 1.0 en working draft voor
DOM level 3.
Behoorlijk technische kost, maar ik vond het heel interessant.
En met dat juist instellen van PHP bedoelde ik in php.ini de volgende instelling:
code:
1
| arg_separator.output = "&" |
Nog even terugkomen op de vraag van Blues: het is altijd nodig als je niet toegestane tekens in een attribute value wilt zetten. Wat ik bedoelde te laten zien met dat alert voorbeeldje is dat de meeste browsers er ook goed mee omgaan, al zou je dat niet direct verwachten als je altijd HTML 4.01 hebt gebruikt of iets dergelijks.