Beispiel #1
0
/**
 * Si on sait deja que le texte n'est pas valide on ne fait rien.
 * Pour une balise sans attribut, le traitement est forcement toujours le meme.
 * Pour une balise sans texte, idem mais parce que la DTD est bien fichue
 *
 * @param object $phraseur
 * @param string $name
 */
function paquet_finElement($phraseur, $name)
{
    if ($phraseur->err) {
        return;
    }
    $n = $phraseur->contenu['compatible'];
    if (isset($phraseur->versions[$n][$name][0]) and is_array($phraseur->versions[$n][$name][0])) {
        $attrs = $phraseur->versions[$n][$name][0];
        unset($phraseur->versions[$n][$name][0]);
    } else {
        $attrs = array();
    }
    $texte = trim($phraseur->versions[$n]['']);
    $phraseur->versions[$n][''] = '';
    $f = 'info_paquet_' . $name;
    if (function_exists($f)) {
        $f($phraseur, $attrs, $texte);
    } elseif (!$attrs) {
        $phraseur->versions[$n][$name] = $texte;
    } else {
        // Traitement generique. Si $attrs['nom'] n'existe pas, ce n'est pas normal ici
        $phraseur->versions[$n][$name][$attrs['nom']] = $attrs;
        #	  echo("<br>pour $name $n " . $attrs['nom']); var_dump($phraseur->versions[$n]);
    }
    xml_finElement($phraseur, $name, $attrs);
}
 public function finElement($phraseur, $name)
 {
     xml_finElement($this, $name);
 }