/// <summary>
        /// Busca las etiquetas de un concepto
        /// </summary>
        /// <param name="xmlSchemaElement"></param>
        /// <param name="linkbase"></param>
        /// <returns></returns>
        private string etiquetas(Concept concepto, LinkbaseEtiqueta linkbase)
        {
            String etiquetasFinales = "";
            //Verificar todos los elementos desde donde aparezca el concepto
            ArcoEtiqueta arcoEtiqueta = null;

            foreach (Arco arcoGen in linkbase.Arcos)
            {
                arcoEtiqueta = (ArcoEtiqueta)arcoGen;
                Localizador loc = null;
                foreach (ElementoLocalizable elemento in arcoEtiqueta.ElementoDesde)
                {
                    loc = (Localizador)elemento;
                    if (loc.Destino.Elemento.Id.Equals(concepto.Elemento.Id))
                    {
                        //Concatenar las etiquetas disponibles

                        foreach (ElementoLocalizable elementoRecurso in arcoEtiqueta.ElementoHacia)
                        {
                            etiquetasFinales += ((Etiqueta)elementoRecurso.Destino).Lenguaje + " : " + ((Etiqueta)elementoRecurso.Destino).Rol + " : " + ((Etiqueta)elementoRecurso.Destino).Valor + " ";
                        }
                    }
                }
            }

            return(etiquetasFinales);
        }
 /// <summary>
 /// Imprime recursivamente los hijos de un padre
 /// </summary>
 /// <param name="nivel"></param>
 /// <param name="idPadre"></param>
 /// <param name="listaArcos"></param>
 private void imprimirHijos(int nivel, string idPadre, System.Collections.Generic.IList <Arco> listaArcos, LinkbaseEtiqueta linkbase)
 {
     foreach (ArcoPresentacion arco in listaArcos)
     {    //Imprime hijos con el nivel
         foreach (ElementoLocalizable conceptoLoc in arco.ElementoDesde)
         {
             Concept concepto = (Concept)conceptoLoc.Destino;
             if (concepto.Elemento.Id.Equals(idPadre))
             {
                 for (int i = 0; i < nivel; i++)
                 {
                     Debug.Write("\t");
                 }
                 foreach (ElementoLocalizable conceptohaciaLoc in arco.ElementoHacia)
                 {
                     Concept conceptohacia = (Concept)conceptohaciaLoc.Destino;
                     Debug.WriteLine(" " + conceptohacia.Elemento.Id + " - " + etiquetas(conceptohacia, linkbase));
                     imprimirHijos(nivel + 1, conceptohacia.Elemento.Id, listaArcos, linkbase);
                 }
             }
         }
     }
 }