- ^ Fondamentaux
- ^ Les réponses: générer du contenu
- Générer une page HTML
- Générer du texte brut
- Générer du XML quelconque
- Générer un flux de syndication RSS
- Générer un flux de syndication Atom
- Générer un PDF à partir d'un contenu LaTeX
- Générer un PDF avec TCPDF
- Renvoyer un fichier binaire
- Générer un fichier zip
- Générer une interface utilisateur en XUL
- Générer du RDF
Section: Générer du XML quelconque
« Générer du texte brut | ^ Les réponses: générer du contenu | Générer un flux de syndication RSS » |
− Table des matières
jResponseXML permet de renvoyer au navigateur du XML. Son alias est "xml"
$rep = $this->getResponse('xml');
Pour indiquer le contenu xml, vous avez deux possibilités.
- *Attention** : dans les deux cas, le XML doit être bien formé. Si ce n'est pas le cas, la réponse sera une erreur.
Générer à partir d'un template ¶
Par défaut, la propriété $content contient un objet jTpl. Vous devez indiquer le sélecteur de template dans la propriété $contentTpl.
$rep->contentTpl = 'monMOdule~monxml';
$rep->content->assign('foo','bla bla bla');
jResponseXml s'occupe de générer la balise "<?xml ?>" donc vous n'avez pas à vous en occuper dans le template. Cependant, si le template comporte déjà cette balise, il faudra alors faire un.
$rep->sendXMLHeader = false;
Génération sans template ¶
Si vous ne voulez pas utiliser un template, vous mettez le contenu xml, sous forme de chaine, dans la propriété $content.
$rep->content = '<mondoc> <title>jelix</title> </mondoc>';
jResponseXml s'occupe de générer la balise "<?xml ?>" donc vous n'avez pas à vous en occuper. Cependant, si votre contenu comporte déjà cette balise, il faudra alors faire un.
$rep->sendXMLHeader = false;
Indiquer des feuilles de styles. ¶
Vous pouvez attacher des feuilles de styles CSS ou XSLT au document XML produit. Pour cela, vous devez utilisez les méthodes addCSSStyleSheet() ou addXSLStyleSheet(). Elles prennent toutes deux en premier argument l'url du fichier, et en deuxième argument optionnel un tableau associatif définissant les pseudo attributs à mettre sur la processing instruction générée.
$rep->addCSSStyleSheet('my.css', array('title'=>'super jolie'));
$rep->addXSLStyleSheet('my.xsl');