/** * Génère le XML d'une fonction pour le jeu de test. * Elle diffère de la fonction generateXMLForPHP dans la mesure où * generateXMLFromTestSet n'utilise que des tableaux pour la fonction. * * @param type $ei_fonction * @param EiProfil $profile * @return type */ public function generateXMLFromTestSet($ei_fonction, EiProfil $profile) { $prefix = MyFunction::getPrefixPath(); // On définit le document. $dom = new DomDocument("1.0", "utf-8"); $dom->formatOutput = true; //Génération de l'url du xsl associé à la fonction $user = $dom->createElement('user'); //$user->setAttribute("xsl", $urlxsl); $dom->appendChild($user); $nom_balise_fonction = $dom->createElement('fonction-' . $ei_fonction['function_id'] . '_' . $ei_fonction['function_ref']); $nom_balise_fonction->setAttribute("name", $ei_fonction['name']); $user->appendChild($nom_balise_fonction); //paramètre de la fonction foreach ($ei_fonction['params'] as $p => $param) { $nom_balise_param = $dom->createElement($param['name']); $param_value = $dom->createTextNode($param['valeur']); $nom_balise_param->appendChild($param_value); $nom_balise_fonction->appendChild($nom_balise_param); } //paramètres de profil foreach ($profile->getParams() as $param) { $nom_balise_param = $dom->createElement($param->getStringName()); $param_value = $dom->createTextNode($param->getValue()); $nom_balise_param->appendChild($param_value); $nom_balise_fonction->appendChild($nom_balise_param); } $dom->normalizeDocument(); // renvoie du fichier XML sous forme de chaine de caractères. return $dom->saveXML(); }