Classe domdocument compatible php4 et php5

Description

Comme je l'ai promis et suite à ma source de création de document XHTML, j'ai concocté une classe DOM pour php4 et php5.
L'idée était de créer un site qui utilise DOM pour générer ses pages mais tout en étant compatible php4 et php5 afin de pouvoir être hébergé par la quasi-totalité des hébergeurs mutualisés !
Cependant il faut l'extension DOM XML de php4 qui n'est peut-être pas présente partout.

Pour que le script fonctionne, il faut juste remplacer "new DOMDocument" par "new _DOMDocument". Euh simple, nan ?
Bon voilà ! Le script est à améliorer puisque certains paramètres ne collent pas, par exemple je n'arrive pas à placer un doctype au DOMDocument, un vrai casse-tête !!!

Source / Exemple :


<?php

// Exemple d'utilisation 1

require_once("DOM.inc.php");

header("Content-Type: text/html");

$doc = new _DOMDocument();
$root = $doc->createElement('html');
$root = $doc->appendChild($root);
	$head = $doc->createElement('head');
	$head = $root->appendChild($head);
		$title = $doc->createElement('title');
		$title = $head->appendChild($title);
			$name = $doc->createTextNode('Ceci est le titre');
			$name = $title->appendChild($name);
	$body = $doc->createElement('body');
	$body = $root->appendChild($body);
		$page = $doc->createElement('div');
		$page->setAttribute('id', 'page');
		$page = $body->appendChild($page);
			$content = $doc->createTextNode('Voici un exemple de document fabriqué avec DOM !');
			$content = $page->appendChild($content);
echo $doc->saveXML();

// Et cela donne :

?>
<?xml version="1.0"?>
<html><head><title>Ceci est le titre</title></head><body><div id="page">Voici un exemple de document fabriqué avec DOM !</div></body></html>
<?php

// ------------------------------------------------------------

// Exemple d'utilisation 2

require_once 'DOM.inc.php';

// Chargement local
$xslDoc = new _DOMDocument();
$xslDoc->load("collection.xsl");

// Chargement statique
$xmlDoc = _DOMDocument::load("collection.xml");

// Processeur XSL
$proc = new XSLTProcessor();
$proc->importStylesheet($xslDoc);
echo $proc->transformToXML($xmlDoc);

?>

Conclusion :


Quelques améliorations ont été apportées... Bon développement !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.