Exemplo n.º 1
0
 public Instance()
 {
     Namespaces = new XmlNamespaceManager(new NameTable());
     AddDefaultNamespaces();
     SchemaReference  = new SchemaReference();
     FilingIndicators = new FilingIndicatorCollection();
     Units            = new UnitCollection(this);
     Contexts         = new ContextCollection(this);
     Facts            = new FactCollection(this);
     Comments         = new Collection <string>();
 }
Exemplo n.º 2
0
        public UnitCollection UsedUnits()
        {
            var result = new UnitCollection();

            foreach (var unit in this)
            {
                var fact = Instance.Facts.FirstOrDefault(f => f.Unit == unit);
                if (fact != null)
                {
                    result.Add(unit);
                }
            }

            return(result);
        }
Exemplo n.º 3
0
        public static void ParseUnits(XDocument document, Instance instance)
        {
            // parse units and add to instance
            // ix:header/ix:resources/xbrli:unit
            var unitNs         = document.Root.GetNamespaceOfPrefix("xbrli");
            var unitElements   = document.Root.Descendants(unitNs + "unit");
            var unitSerializer = new XmlSerializer(typeof(Unit));
            var units          = new UnitCollection(instance);

            foreach (var unitElement in unitElements)
            {
                var unitReader = unitElement.CreateReader();
                var unit       = (Unit)unitSerializer.Deserialize(unitReader);
                units.Add(unit);
            }
            instance.Units = units;
        }