- ^ 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
- Générer un sitemap
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 :
$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 :
$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');