예제 #1
0
        private bool  initXPE()
        {
            Xbrl xbrlProc = null;

            try
            {
                var configInstance = Configuration.getInstance();
                configInstance.setCoreRoot("C:\\coreroot");
                var lang = "en";

                var _coreroot = configInstance.getCoreRoot();
                configInstance.setProperty(Configuration.c_logging, "false");
                configInstance.setFormulaUnsatisfiedEvaluationThreshold(100);
                configInstance.setMemosErrorThreshold(100);
                configInstance.setProperty("extensionFunctionModuleLogicalUri", "");
                configInstance.setProperty("extensionFunctionModuleClassUri", "");
                configInstance.setModel(Configuration.s_fullModel);
                configInstance.setMode(Configuration.s_desktopMode);
                xbrlProc = Xbrl.newInstance();

                configInstance.setLanguage(lang);

                var errors = new List <IMemo>();
                Debug.WriteLine("COREROOT:" + _coreroot);
                try
                {
                    configInstance.clearWebCache();
                    configInstance.clearXPathExpressionCache();
                }
                catch (Exception ex) {
                    Debug.WriteLine(ex.StackTrace);
                }

                this.m_formatter = new ubmatrix.xbrl.common.formatter.src.Formatter();
                this.m_resolver  = new ubmatrix.xbrl.common.memo.uriResolver.src.URIResolver();

                if (!xbrlProc.Initialize())
                {
                    if (xbrlProc.getNativeMemos() != null)
                    {
                        foreach (var memo in xbrlProc.getMemos())
                        {
                            Debug.WriteLine(memo);
                        }
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.StackTrace);
                return(false);
            }
            return(true);
        }