Hallo,
Wenn ich eine Url mit Parametern als Inhalt in einem xml-tags verwnede muß ich das & maskieren, Beispiel:
<pfad>
/cgiPfad/perl.pl?parameter1=xyz&parameter2=daten#Anker
</pfad>In Attributen scheint das nicht nötig zu sein, aber doch im Inhalt.
Beides kommmt auf die Definition des Inhaltstyps der Elemente bzw. der Attribute an. Dort musst Du nachsehen, ob character entities ersetzt werden oder nicht. Werden Sie ersetzt, dann würde ja der Parser
/cgiPfad/perl.pl?parameter1=xyz¶meter2
^hier den Beginn einer character entity vermuten und natürlich für ¶meter2 keine Zeichenentsprechung finden. Deshalb muss, wenn der Inhaltstyp (egal ob bei Element oder Attribut) aussagt, dass character entities ersetzt werden, statt des Zeichens "&" seine entity eingesetzt werden.
Andererseits heißt das aber auch, dass nach der Behandlung durch den Parser keine character entities mehr vorhanden sind, weil diese ja durch ihre Zeichenentsprechungen ersetzt wurden.
/cgiPfad/perl.pl?parameter1=xyz&parameter2=daten
kommt also bei Anwendungen außerhalb des Browsers als
/cgiPfad/perl.pl?parameter1=xyz¶meter2=daten
an.
Schreibt der Datentyp aber keine Ersetzung von character entities vor, wie z.B. bei CDATA-Sections in XML oder XHTML, dann _darfst_ Du dort auch keine entities einsetzen, weil diese dann eben nicht ersetzt werden.
Bei HTML und XHTML werden per Definition für Inhaltstypen PCDATA und CDATA character entities ersetzt. In allen Elementen und Attributen mit diesem Inhaltstyp darf deshalb das Zeichen "&" nur als Beginn einer character entity vorkommen.
viele Grüße
Axel