private void InitGlobals()
        {
            // if there are no globals, set properties to empty and return
            if (_args.GlobalAttributes == null)
            {
                _globalAttributeNames = new string[0];
                _globalAttributeCount = new int[0];
                return;
            }

            // count globals
            int globalCount = _args.GlobalAttributes.Count();

            _globalAttributeNames = new string[globalCount];
            _globalAttributeCount = new int[globalCount];
            var globalAttributeHeaders = new string[globalCount];

            // divide attributes listed into name and header
            var iCtr = 0;

            foreach (var global in _args.GlobalAttributes)
            {
                var parts = global.Split(new[] { '=' });
                if (parts.Count() == 1)
                {
                    _globalAttributeNames[iCtr]  = parts[0].Trim();
                    globalAttributeHeaders[iCtr] = parts[0].Trim();
                }
                else
                {
                    _globalAttributeNames[iCtr]  = parts[0].Trim();
                    globalAttributeHeaders[iCtr] = parts[1].Trim();
                }
                iCtr++;
            }

            _globalAttributeCount = _attributeTable.InitGlobals(globalAttributeHeaders);
            if (_args.GenerateFileWithBlankValues)
            {
                _blankAttributeTable.InitGlobals(globalAttributeHeaders);
            }
        }