Ejemplo n.º 1
0
 /// <summary>
 /// Constructor completo
 /// </summary>
 /// <param name="nodo"></param>
 /// <param name="documento"></param>
 public InformacionAdicionalContexto(XmlNode nodo, IDocumentoInstanciaXBRL documento)
 {
     ElementoOrigen       = nodo;
     MiembrosDimension    = new List <MiembroDimension>();
     ElementosAdicionales = new List <XmlElement>();
     ListarMiembrosDimension(documento);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Procesa los elementos dimensionales dentro de los nodos hijos del elemento origen
 /// </summary>
 /// <param name="documento">Documento de instancia que se está procesando actualmente</param>
 private void ListarMiembrosDimension(IDocumentoInstanciaXBRL documento)
 {
     foreach (XmlElement elementoHijo in ElementoOrigen.ChildNodes)
     {
         if (elementoHijo.NamespaceURI.Equals(EspacioNombresConstantes.DimensionInstanceNamespace) &&
             (elementoHijo.LocalName.Equals(EtiquetasXBRLConstantes.ExplicitMemberElement) || elementoHijo.LocalName.Equals(EtiquetasXBRLConstantes.TypedMemberElement)))
         {
             var miembro = new MiembroDimension();
             var qname   = XmlUtil.ObtenerQNameConNamespace(elementoHijo.Attributes[EtiquetasXBRLConstantes.DimensionAttribute].Value, elementoHijo);
             miembro.QNameDimension = qname;
             //Buscar el concepto que corresponde a la dimensión
             if (documento.Taxonomia.ElementosTaxonomiaPorName.ContainsKey(qname) && documento.Taxonomia.ElementosTaxonomiaPorName[qname] is ConceptDimensionItem)
             {
                 miembro.Dimension = documento.Taxonomia.ElementosTaxonomiaPorName[qname] as ConceptDimensionItem;
             }
             if (elementoHijo.LocalName.Equals(EtiquetasXBRLConstantes.ExplicitMemberElement))
             {
                 miembro.Explicita    = true;
                 qname                = XmlUtil.ObtenerQNameConNamespace(elementoHijo.InnerText, elementoHijo);
                 miembro.QNameMiembro = qname;
                 if (qname != null)
                 {
                     //Buscar el concepto que corresponde al miembro
                     if (documento.Taxonomia.ElementosTaxonomiaPorName.ContainsKey(qname) && documento.Taxonomia.ElementosTaxonomiaPorName[qname] is ConceptItem)
                     {
                         miembro.ItemMiembro = documento.Taxonomia.ElementosTaxonomiaPorName[qname] as ConceptItem;
                     }
                 }
             }
             else if (elementoHijo.LocalName.Equals(EtiquetasXBRLConstantes.TypedMemberElement))
             {
                 miembro.Explicita = false;
                 //Colocar el contenido de los nodos del miembro tipificado
                 if (elementoHijo.ChildNodes.Count > 0)
                 {
                     miembro.ElementoMiembroTipificado = elementoHijo.ChildNodes[0] as XmlElement;
                 }
             }
             MiembrosDimension.Add(miembro);
         }
         else
         {
             //El elemento es otra cosa que no es una declaración de dimensión
             ElementosAdicionales.Add(elementoHijo);
         }
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Constructor completo
 /// </summary>
 /// <param name="nodoSegmento"></param>
 /// <param name="documento"></param>
 public Segment(XmlNode nodoSegmento, IDocumentoInstanciaXBRL documento) : base(nodoSegmento, documento)
 {
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Constructor completo
 /// </summary>
 /// <param name="nodo"></param>
 /// <param name="documento"></param>
 public Scenario(XmlNode nodo, IDocumentoInstanciaXBRL documento) : base(nodo, documento)
 {
 }