+ // controler les filles illegitimes, ca suffit
+ $depth = $this->depth;
+ $ouvrant = $this->ouvrant;
+ #spip_log("trouve $name apres " . $ouvrant[$depth]);
+ if (isset($ouvrant[$depth])) {
+ if (preg_match('/^\s*(\w+)/', $ouvrant[$depth], $r)) {
+ $pere = $r[1];
+ #spip_log("pere $pere");
+ if (isset($this->dtc->elements[$pere])) {
+ $fils = $this->dtc->elements[$pere];
+ #spip_log("rejeton $name fils " . @join(',',$fils));
+ if (!($p = @in_array($name, $fils))) {
+ if ($p = strpos($name, ':')) {
+ $p = substr($name, $p + 1);
+ $p = @in_array($p, $fils);
+ }
+ }
+ if (!$p) {
+ $bons_peres = @join('</b>, <b>', $this->dtc->peres[$name]);
+ coordonnees_erreur($this, " <b>$name</b> "
+ . _T('zxml_non_fils')
+ . ' <b>'
+ . $pere
+ . '</b>'
+ . (!$bons_peres ? ''
+ : ('<p style="font-size: 80%"> ' . _T('zxml_mais_de') . ' <b>' . $bons_peres . '</b></p>')));
+ } elseif ($this->dtc->regles[$pere][0] == '/') {
+ $frat = substr($depth, 2);
+ if (!isset($this->fratrie[$frat])) {
+ $this->fratrie[$frat] = '';
+ }
+ $this->fratrie[$frat] .= "$name ";
+ }
+ }
+ }