Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] problème avec jResponseXml

Posted by nikko on 04/18/2011 10:09

Bonjour,

J'utilise la classe JResponseXml pour retourner une instance de document skos :

<rdf:RDF xmlns:skos="http://www.w3.org/2004/02/skos/core#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<skos:Concept rdf:about="http://purl.org/Algorithm">
    <skos\:prefLabel  xml:lang="en">Algorithm</skos\:prefLabel>%%%
    <skos\:prefLabel  xml:lang="de">Algorithmus</skos\:prefLabel>%%%
    <skos\:prefLabel  xml:lang="fr">Algorithme</skos\:prefLabel>%%%
    <skos\:prefLabel  xml:lang="es">Algoritmo</skos\:prefLabel>%%%    
    ...%%%
</skos:Concept>
</rdf:RDF>

Le problème est que la méthode output de la classe jResponseXml appelle simplexml_load_string juste avant d'afficher le résultat pour tester le document xml et que cette fonction semble ne pas apprécier les namespaces. Un var_dump de l'objet retourné par le load me donne :

object(SimpleXMLElement)#9 (0) {}

Et le fait de commenter le test if (simplexml_load_string($xml_string)) pour directement faire le echo me permet d'afficher correctement mon document xml.

Quelqu'un a t'i déjà rencontré ce problème ?

Merci

  [Opened] problème avec jResponseXml

Reply #1 Posted by laurentj on 04/18/2011 11:03

Bonjour,

  • développe ta propre réponse XML
  • tu peux aussi proposer un patch pour désactiver la vérification
  • ou encore, utilise la réponse RDF, puisque c'est du RDF ce que tu utilises.

Note que dans ton exemple, ton xml est vraiment invalide, il manque des espaces entre les attributs sur la balise RDF.

  [Opened] problème avec jResponseXml

Reply #2 Posted by nikko on 04/18/2011 17:38

j'ai fait ma propre réponse xml, tout fonctionne correctement.

Je ne pense pas y gagner avec la reponse RDF car j'extrais des éléments skos déjà formés depuis un gros fichier, je n'ai pas besoin de template ou de passer une liste d'éléments. La méthode content->assign() est très pratique pour ça.

merci.

 
Page
  1. problème avec jResponseXml