• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

XML-Deklaration?

haiyyu

Neues Mitglied
Hey,
ich habe auf folgender Seite gelesen, dass bei einem XHTML-Dokument auch noch eine XML-Deklaration vor den Doctype muss: SELFHTML: HTML/XHTML / Allgemeine Regeln für HTML / Grundgerüst einer HTML-Datei
Diese sieht so aus:
Code:
<?xml version="1.0" ?>
Leider will der PHP-Interpreter den Code ausführen... deshalb erhalte ich auch eine Fehlermeldung... Wie kann ich das verhindern? Oder muss diese XML-Deklaration gar nicht im Dokument stehen damit der Code valide ist?

MfG,
-haiyyu
 
Werbung:
Diese XML-Deklaration bereitet nur Probleme.
Wenn du keinen Nutzen darin siehst, diese einzusetzten, lässt du es am besten sein.

Um sie dennoch anzuzeigen, musst du einfach per echo oder sonstwas den String ausgeben.
 
Werbung:
ausschlaggebend sind:

HTML:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /
   <meta http-equiv="content-style-type" content="text/css" />

dann entfällt auch die fehlermeldung von validome.org und w3.org.

Nils aka XraYSoLo
 
wenn du in der php.ini
Code:
short_open_tag = Off
stellst sollte dein <? nicht mehr falsch interpretiert werden.
allerdings muss dann <?PHP als starttag angegeben werden.
 
was seit version 4.5.x ohnehin gemacht werden sollte.

wie verfährt man dann, wenn kein root-zugriff gewährleistet ist?

Nils aka XraYSoLo
 
Werbung:
per ini_set(); ?

seit php 5.3 kann die einstellung soweit ich mich erinnere per dir vergeben werden.

man könnte das ganze auch per echo ausgeben:
PHP:
<?php echo '<?xml version="1.0"'; ?>
ps.
in älteren scripten, die z.b. noch mit register_global etc arbeiten lassen sich warnungsausgaben z.b. durch folgende einträge unterdrücken:
PHP:
@ini_set('arg_separator.output', '&amp;');
@ini_set('session.bug_compat_42', '0'); // neue php version register_gloabl kompatibel machgen
@error_reporting(E_ALL & ~E_NOTICE);
erster eintrag sorgt dafür, dass das & "ampersized" ausgegeben wird (eventuell für w3c notwendig)
zweiter, dass der hinweis auf die veraltete coder art unterbleibt und letzterer, dass die fehlerausgabe auf error reduziert wird und warnings unterdrückt.
 
Zuletzt bearbeitet von einem Moderator:
Ab PHP 4.0 war short_open_tag PHP_INI_PERDIR, ab PHP 5.3 PHP_INI_ALL. Heißt erst ab 5.3 kann man es mittels ini_set() setzen.
 
Zurück
Oben