public function setEVAttributes(DOMElement $dom_node, $csd_code, $original_text, $code_system_name) { $this->msg_xml->addAttribute($dom_node, 'csd-code', $csd_code); $this->msg_xml->addAttribute($dom_node, 'originalText', $original_text); $this->msg_xml->addAttribute($dom_node, 'codeSystemName', $code_system_name); }
/** * Permet de créer le xsd contenant la définition d'élément pour tester les types * * @param String $nameFile String * @param String $glob String * * @return bool */ static function createTestSchemaClasses($nameFile, $glob) { $dom = new CMbXMLDocument("UTF-8"); //On enregistre pas les nodeText vide $dom->preserveWhiteSpace = false; $dom->load($nameFile); //on récupère tous les élements $xpath = new CMbXPath($dom); $nodeList = $xpath->query("//xs:element"); //on supprime tous les élements du fichier foreach ($nodeList as $_node) { $dom->documentElement->removeChild($_node); } //On sauvegarde le fichier sans élément file_put_contents($nameFile, $dom->saveXML()); //on récupère tous les class existant dans les dossier voc, base, datatype $file = glob($glob, GLOB_BRACE); /** * Pour chacun des fichier on créé un élément avec sont type correspondant */ foreach ($file as $_file) { //on créé l'élément $element = $dom->addElement($dom->documentElement, "xs:element"); //on formatte le nom du fichier $_file = CMbArray::get(explode(".", $_file), 0); $_file = substr($_file, strrpos($_file, "/") + 1); //on créé une instance de la classe /** @var CCDAClasseBase $instanceClass */ $instanceClass = new $_file(); //on récupère le nom quisera égale au type et au nom de l'élément $_file = $instanceClass->getNameClass(); //On ajoute les attribut type et nom $dom->addAttribute($element, "name", $_file); $dom->addAttribute($element, "type", $_file); //On ajoute un saut de ligne dans le schéma $dom->documentElement->appendChild($dom->createTextNode("\n")); } //on sauvegarde le fichier file_put_contents($nameFile, $dom->saveXML()); return true; }