// obtiene campos y los inserta en el array asociativo
 while ($campos_fila = mysql_fetch_array($resul_campos)) {
     $campos_public[$campos_fila['campo']] = $campos_fila['valor'];
     AUX_sustitucion_sinonimos($lista_sinonimos, $campos_public[$campos_fila['campo']]);
 }
 // si tiene un campo crossref, obtiene sus campos
 if (strlen($campos_public['crossref']) > 0) {
     // construye consulta
     $consulta_crossref = "SELECT campo, valor " . "FROM ref_relacion " . "LEFT JOIN ref_campos " . "ON ref_relacion.id_campos = ref_campos.id_campo_ref " . "WHERE referencia_cruzada = 1 AND id_ref = {$id_referencia['id_referencia']}";
     // ejecutala y obtiene campos nuevos
     if ($resul_campos = mysql_query($consulta_crossref, $conexion)) {
         while ($campos_fila = mysql_fetch_array($resul_campos)) {
             // asigna solo si no hay ya un campo del hijo
             if (strlen($campos_public[$campos_fila['campo']]) == 0) {
                 $campos_public[$campos_fila['campo']] = $campos_fila['valor'];
                 AUX_sustitucion_sinonimos($lista_sinonimos, $campos_public[$campos_fila['valor']]);
             }
         }
     } else {
         ERR_muestra_pagina_error("Error en consulta: {$consulta_crossref}");
     }
 }
 // si el año a cambiado respecto al anterior,
 // inserta nueva cabecera de año
 if ($id_referencia['anyo'] != $anyo_publicacion) {
     // cierra la lista anterior
     $_content->parse("content.publicaciones.lista");
     // asigna nuevo año
     $anyo_publicacion = $id_referencia['anyo'];
     $anyo_public_str = str_replace("9999", "---", $anyo_publicacion);
     // inserta cabecera de año y cierra lista
 while ($campos_fila = mysql_fetch_row($resul_campos)) {
     $campos_public["{$campos_fila['0']}"] = $campos_fila[1];
     AUX_sustitucion_sinonimos($lista_sinonimos, $campos_public["{$campos_fila['0']}"]);
 }
 // si tiene un campo crossref, obtiene sus campos
 if (strlen($campos_public['crossref']) > 0) {
     // construye consulta
     $consulta_crossref = 'SELECT campo,valor ' . 'FROM ref_relacion LEFT JOIN ref_campos ' . 'ON ref_relacion.id_campos=ref_campos.id_campo_ref ' . 'WHERE referencia_cruzada=1 AND id_ref=' . $id_referencia[0];
     // ejecutala y obtiene campos nuevos
     $resul_campos = mysql_query($consulta_crossref, $conexion);
     if ($resul_campos) {
         while ($campos_fila = mysql_fetch_row($resul_campos)) {
             // asigna solo si no hay ya un campo del hijo
             if (strlen($campos_public["{$campos_fila['0']}"]) == 0) {
                 $campos_public["{$campos_fila['0']}"] = $campos_fila[1];
                 AUX_sustitucion_sinonimos($lista_sinonimos, $campos_public["{$campos_fila['0']}"]);
             }
         }
     }
 }
 // si el año a cambiado respecto al anterior,
 // inserta nueva cabecera de año
 if ($id_referencia[5] != $anyo_publicacion) {
     // cierra la lista anterior
     $_content->parse("content.tipo_grupo.lista");
     // asigna nuevo año
     $anyo_publicacion = $id_referencia[5];
     $anyo_public_str = str_replace("9999", "---", $anyo_publicacion);
     // inserta cabecera de año y cierra lista
     $_content->assign("ANYO_PUBLICACION", $anyo_public_str);
     $_content->parse("content.tipo_grupo.lista.cabecera_anyo");