Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 /**
  * 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;
 }