PHP : transformToDoc vs. transformToXML ?

 2006-09-02

English translation follows.

Dans la plupart des cas, si vous attendez une sortie XML (ou XHTML)  vous avez intérêt à utiliser transformToXML() plutôt que transformToDoc(). Vous obtenez un meilleur contrôle sur les attributs de xsl:output, notamment (mais pas uniquement) omit-xml-declaration.

A la place de  :
$proc = new XSLTProcessor();
$proc->importStylesheet($xsl);
$dom = $proc->transformToDoc($xml);
echo $dom->saveXML();

utilisez :
$proc = new XSLTProcessor();
$proc->importStylesheet($xsl);
$newXml = $proc->transformToXML($xml);
echo $newXml;
Dans le premier cas, <?xml version="1.0" encoding="utf-8"?> est ajouté quoique vous fassiez avec omit-xml-declaration, tandis que transformToXML() tient compte de la valeur de cet attribut.

English translation :
In most cases if you expect XML (or XHTML) as output you better use transformToXML() directly rather than transformToDoc(). You gain better control over xsl:output attributes, notably omit-xml-declaration (but not only).

Instead of :
$proc = new XSLTProcessor();
$proc->importStylesheet($xsl);
$dom = $proc->transformToDoc($xml);
echo $dom->saveXML();

do use :
$proc = new XSLTProcessor();
$proc->importStylesheet($xsl);
$newXml = $proc->transformToXML($xml);
echo $newXml;

In the first case, <?xml version="1.0" encoding="utf-8"?> is added whatever you set the omit-xml-declaration while transformToXML() take the attribute into account.

Préparer cette page en vue de l'impression Envoyer cette page par e-mail

Commentaires :


Voir et ajouter des commentaires (1)

Nom ou pseudo
Adresse e-mail (2)
Site web (3) http://
Commentaire (4)
Recopiez le code (5 caractères) (5) : captcha  = 
(1) Attention : ce site est modéré a priori. Votre texte ne s'affichera qu'après validation par un modérateur du site.
(2) Champ obligatoire. Cochez la case ci-dessous si vous souhaitez que votre adresse apparaisse aux yeux de tous (par défaut, votre adresse e-mail est cachée) :
Je souhaite que mon adresse e-mail soit rendue publique sur le site au côté de mon commentaire.
(3) Champ facultatif.
(4) Texte simple. Toutes balises HTML seront supprimées.
(5) Respectez les minuscules et majuscules. Mesure anti-spam. Merci de votre compréhension.

Nouveautés sous cette rubrique :
PHP : array_shift  (English follows)La fonction PHP array_shift peut être assez gourmande en ressou (...)
PHP : transformToDoc vs. transformToXML ?  English translation follows.Dans la plupart des cas, si vous attendez une sortie (...)
Hotmail et UTF-8  UTF-8 est la lingua franca du web : cette méthode d'encodage permet d'utiliser s (...)
Support de l'UTF-8 dans divers clients MySQL  De nombreux clients (GUI) pour base de donnée MySQL prétendent un "support compl (...)
Comment to the DOMNamedNodeMap ->getNamedItem() page in the php.net manual  Basic example of use :< ? php(...)echo $doc->documentElement->attributes->getNam (...)

Easter Flakes • Flocons de Pâques | Nous contacter
© Easter Flakes - 2007. Tous droits réservés sur toutes images, textes et codes. Valid XHTML 1.0 Transitional

Server monitoring / website monitoring with Livewatch.de
Server Monitoring with Livewatch.de