[php4] classe de création de document xhtml

Description

J'ai créé cette classe afin d'éviter de mélanger PHP et HTML et de simplifier l'utilisation du XHTML.
Cette classe essaie comme elle peut de créer un document XHTML 1.0 ou 1.1 W3C valide de façon simple.
Il se peut que votre document ne soit pas valide quand même, lorsque vous utilisez des balises non-XHTML ou des attributs comme "target" qui n'existent plus en XHTML 1.1. (voir la documentation W3C)

L'encodage du document est par défaut UTF-8 et la classe s'occupe toute seule d'encoder le contenu si à la base ce n'est pas de l'UTF-8. Attention : si vous changez le paramètre "encoding" vous obtiendrez de mauvais résultats !

Avec l'utilisation de cette classe votre code pourrait devenir beaucoup plus lisible qu'avant et les risques d'erreurs XHTML (et XML surtout) seront sûrement réduits...

Vous pouvez aussi vous servir de la classe XHTMLElement pour créer des balises indépendantes et les rajouter au document !

Source / Exemple :


<?php

// Exemple d'utilisation :

$Document = new XHTMLDocument();

$Document->setopt('tidy', true);
$Document->setopt('meta-http-equiv', true);
$Document->setopt('title', 'Accueil');

$Document->body(array('id' => 'body'));
	$Document->open('div', array('id' => 'page'));
		$Document->open('div', array('id' => 'top'));
			$Document->add('h1', 'Mon document');
		$Document->close();
		$Document->open('div', array('id' => 'content'));
			$Document->open('p');
				$Document->text('Bienvenue sur mon site ! Explorez les outils de mon répertoire !');
			$Document->close();

			$List = new XHTMLElement('ul', array('id' => 'content-list'));
			$Items = array('C/C++', 'PHP', 'Javascript', 'XHTML', 'AJAX');
			foreach ( $Items as $Str )
				$List->appendChild(new XHTMLElement('li', $Str));
			$Document->add($List);

		$Document->close();
	$Document->close();
$Document->flush();

?>

Conclusion :


J'espère pouvoir vous aider à créer des documents XHTML et à rendre votre code PHP clair sans HTML visible !
Si vous décelez des bugs, laissez un commentaire svp, je fais une correction dès que possible !
Pour la suite j'ai pensé restreindre l'utilisation des balises et des attributs aux règles du w3c... mais ça risque de compliquer sérieusement les choses (il aurait fallu ajouter l'utilisation de die en cas de mauvaise utilisation du xhtml, d'autant plus qu'il existe plusieurs XHTML 1.0 - strict - transitional - frameset - 1.1)...

@+

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.