I'm trying to use SimpleXML to output a well-formed XHTML document. I'm doing it like this:
$pbDoc = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>'.$myTitle.'</title>
<!-- Other headers -->
</head>
</html>');
Ben belgeyi oluşturduktan sonra, ben çıkışı oldukça okunabilir kod istiyorum, bu yüzden böyle DOM modülü kullanıyorum:
$dom = new DOMDocument();
$dom->loadXML($pbDoc->asXML());
$dom->formatOutput = true;
echo $dom->saveXML();
Şimdi, beni rahatsız iki garip şeyler vardır ve ben bu davranış normaldir ve nasıl mümkünse, bunu devre dışı olup olmadığını merak ediyorum.
DOCTYPE nedenlerin varlığı
$pbDoc->asXML()
sağ açılış<head>
etiketi sonra gereksiz bir meta etiketi eklemek için:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Neden?
- (XHTML değil XML, ve farklı bir belgede, çok iyi yapar ama) nedense, DOM modül de benim için değil girinti kod yok.
Herkes yanlış olabilir ve bu sıkıntılar nasıl kurtulmak için nereye beni aydınlatmak misiniz?