Documentation‎ > ‎Articles‎ > ‎

Produire du XML, JSON avec Cheyenne

publié le 13 juin 2011 à 02:46 par REBOL FRANCE   [ mis à jour : 13 juin 2011 à 03:33 ]

Comment utiliser la force de Cheyenne pour produire des fichiers de type XML, JSON ?

Cheyenne utilise du templating avec les RSP, alors pourquoi ne pas utiliser cette caractéristique principale ?

Mais voyons d'abord, la première méthode qui s'offre à nous : binder le type XML, JSON vers le moteur RSP.
Pour ce faire, il faut rajouter le ou les types désirés (XML, JSON, CSS, ...) dans le fichier de configuration httpd.cfg de Cheyenne au niveau de la section globals dans le binding extern :

bind-extern RSP to [.j .rsp .r .xml .json]

Avec cette méthode, lorsque une ressource de type XML ou JSON sera sollicitée, elle passera par le moteur RSP.
Vous pourrez ainsi rajouter du code RSP dans votre fichier XML ou JSON.

La deuxième méthode utilise donc un fichier RSP et une "petite astuce" fournit par DocKimbel pour renvoyer le fichier XML, JSON en résultat.

Prenons un exemple, générer un fichier %contact.xml du type :

<?xml version="1.0" encoding="UTF-8"?>
<contact>
    <nom>Sassenrath</nom>
    <prenom>Carl</prenom>
</contact>

Pour cela, nous allons faire appel à une page %contact.rsp

<%
nom: "SASSENRATH"
prenom: "Carl"
response/set-header 'Content-Disposition {attachment; filename="contact.xml"}
%>
<?xml version="1.0" encoding="UTF-8"?>
<contact>
    <nom><%= nom %></nom>
    <prenom><%= prenom %></prenom>
</contact>

C'est donc grâce à la propriété "Content-Disposition" de l'entête HTTP que l'on pourra renvoyer le contenu produit par notre page %contact.rsp dans un fichier %contact.xml

Nicolas

Comments