Hallo Gunnar,
Man kann sich in seinen XML-Dokumenten aber in der DOCTYPE-Deklaration die Entities definieren, die man gern hätte:
<!DOCTYPE foo [
<!ENTITY Auml "&#xV4;">
<!ENTITY Ouml "Ö">
<!ENTITY Uuml "Ü">
<!ENTITY szlig "ß">
<!ENTITY auml "ä">
<!ENTITY ouml "ö">
<!ENTITY uuml "ü">
]>
<foo>Jetzt kann '&auml;' für 'ä' verwendet werden.</foo>
Das führt bei mir auch zu einer Fehlermeldung. Der gesamte Quelltext sieht jetzt wie folgt aus:
~~~xml
<?php
$conf_xmlstr = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE config [
<!ENTITY Auml "&#xV4;">
<!ENTITY Ouml "Ö">
<!ENTITY Uuml "Ü">
<!ENTITY szlig "ß">
<!ENTITY auml "ä">
<!ENTITY ouml "ö">
<!ENTITY uuml "ü">
]>
<config>
<!-- blabla blabla; viele viele umlaute -->
</config>
XML;
?>
Fehlermeldungen (Auszug):
Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: Entity: line 3: parser error : CharRef: invalid hexadecimal value
Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: <!ENTITY Auml "&#xV4;">
Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: ^
Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: Entity: line 3: parser error : xmlParseStringCharRef: invalid xmlChar value 0
etc.
Beste Grüße
Richard