private void LoadMetadata() {
            try {
                string documentText = string.Empty;

                // Check if Stylesheet Exists
                //if (!File.Exists(this._stylesheet)) { return; }

                // Load XML
                DOMDocument source = new DOMDocumentClass();
                source.loadXML(this._dataset.Metadata);

                // Load XSL
                TextReader textReaderXsl = new StringReader(Resources.ISO);
                string xsl = textReaderXsl.ReadToEnd();
                textReaderXsl.Close();

                DOMDocumentClass style = new DOMDocumentClass();
                style.load(xsl);

                // Transform XML (to HTML)
                documentText = source.transformNode(style);

                //if (string.IsNullOrEmpty(this._stylesheet)) {
                //    // Load XML
                //    TextReader textReaderXml = new StringReader(this._dataset.Metadata);
                //    XPathDocument xml = new XPathDocument(textReaderXml);

                //    // Load XSL
                //    TextReader textReaderXsl = new StringReader(Resources.FILE_DEFAULT);
                //    XPathDocument xsl = new XPathDocument(textReaderXsl); ;

                //    // Compile Transformer
                //    XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
                //    xslCompiledTransform.Load(xsl);

                //    // Transform XML (to HTML)
                //    StringBuilder stringBuilder = new StringBuilder();
                //    XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xslCompiledTransform.OutputSettings);
                //    xslCompiledTransform.Transform(xml, xmlWriter);
                //    documentText = stringBuilder.ToString();

                //    // Close Readers
                //    xmlWriter.Close();
                //    textReaderXsl.Close();
                //    textReaderXml.Close();
                //}
                //else {
                //    //// Check if Stylesheet Exists
                //    //if (!File.Exists(this._stylesheet)) { return; }

                //    //// Load XML
                //    //DOMDocument60Class source = new DOMDocument60Class();
                //    //source.loadXML(this._dataset.Metadata);

                //    //// Load XSL
                //    //DOMDocument60Class style = new DOMDocument60Class();
                //    //style.load(this._stylesheet);

                //    //// Transform XML (to HTML)
                //    //documentText = source.transformNode(style);

                //    // Load XML
                //    TextReader textReaderXml = new StringReader(this._dataset.Metadata);
                //    XPathDocument xml = new XPathDocument(textReaderXml);

                //    // Compile Transformer
                //    XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
                //    xslCompiledTransform.Load(this._stylesheet);

                //    // Transform XML (to HTML)
                //    StringBuilder stringBuilder = new StringBuilder();
                //    XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xslCompiledTransform.OutputSettings);
                //    xslCompiledTransform.Transform(xml, xmlWriter);
                //    documentText = stringBuilder.ToString();

                //    // Close Readers
                //    xmlWriter.Close();
                //    textReaderXml.Close();
                //}

                // Assign Transfomed XML (HTML) to Web Browser
                this.webBrowser1.DocumentText = documentText;
            }
            catch (Exception ex) {
                ExceptionDialog.HandleException(ex);
            }
        }
Beispiel #2
0
        /// <summary>
        ///     Imports the specified files into the workspace.
        /// </summary>
        /// <param name="workspace">The workspace.</param>
        /// <param name="fileNames">The file names.</param>
        private Dictionary <string, bool> Import(IWorkspace workspace, string[] fileNames)
        {
            Log.Info(this, "- Import File(s): \t{0}", fileNames.Length);

            var ies = new Dictionary <string, IMMXMLImportExport4>()
            {
                { "MMFieldInfoIE", new MMFieldInfoIEClass() },
                { "MMObjClassIE", new MMObjClassIEClass() },
                { "MMRelClassIE", new MMRelClassIEClass() }
            };

            var utils   = new mmFrameworkUtilitiesClass();
            var results = new Dictionary <string, bool>();

            foreach (var fileName in fileNames)
            {
                var fileName1 = fileName;

                workspace.PerformOperation(true, () =>
                {
                    IXMLDOMDocument doc = new DOMDocumentClass();
                    if (doc.load(fileName1))
                    {
                        var dtd = utils.AddDTD(mmTopLevelType.GXXMLTOPLEVEL, ref doc);
                        if (dtd != 0)
                        {
                            return(false);
                        }

                        var nodes = doc.getElementsByTagName("IEPROGID");
                        nodes.reset();

                        IXMLDOMElement element;
                        while ((element = nodes.nextNode() as IXMLDOMElement) != null)
                        {
                            var parentNode = (IXMLDOMElement)element.parentNode;
                            var node       = parentNode.selectSingleNode("FEATURENAME") ?? element.selectSingleNode("NAME");

                            Log.Info(this, "{0}:", node.text);

                            var ie = ies.Select(o => o.Value).FirstOrDefault(kvp => element.text.EndsWith(kvp.ProgID, StringComparison.InvariantCultureIgnoreCase));
                            if (ie != null)
                            {
                                bool success;

                                try
                                {
                                    success = ie.Import(workspace, element, mmGxXMLOptions.mmGXOOverwrite, mmGxXMLSubtypeOptions.mmGXOReplace);
                                    Log.Info(this, "\t{0} => {1}", ie.DisplayName, success ? "SUCCESS" : "FAILED");
                                }
                                catch (Exception e)
                                {
                                    success = false;
                                    Log.Error(this, string.Format("\t{0} => {1}", ie.DisplayName, e.Message));
                                }

                                results.Add(node.text, success);
                            }
                        }

                        return(results.Last().Value);
                    }

                    return(false);
                });
            }

            return(results);
        }
        private void LoadMetadata()
        {
            try {
                string documentText = string.Empty;

                // Check if Stylesheet Exists
                //if (!File.Exists(this._stylesheet)) { return; }

                // Load XML
                DOMDocument source = new DOMDocumentClass();
                source.loadXML(this._dataset.Metadata);

                // Load XSL
                TextReader textReaderXsl = new StringReader(Resources.ISO);
                string     xsl           = textReaderXsl.ReadToEnd();
                textReaderXsl.Close();

                DOMDocumentClass style = new DOMDocumentClass();
                style.load(xsl);

                // Transform XML (to HTML)
                documentText = source.transformNode(style);

                //if (string.IsNullOrEmpty(this._stylesheet)) {
                //    // Load XML
                //    TextReader textReaderXml = new StringReader(this._dataset.Metadata);
                //    XPathDocument xml = new XPathDocument(textReaderXml);

                //    // Load XSL
                //    TextReader textReaderXsl = new StringReader(Resources.FILE_DEFAULT);
                //    XPathDocument xsl = new XPathDocument(textReaderXsl); ;

                //    // Compile Transformer
                //    XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
                //    xslCompiledTransform.Load(xsl);

                //    // Transform XML (to HTML)
                //    StringBuilder stringBuilder = new StringBuilder();
                //    XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xslCompiledTransform.OutputSettings);
                //    xslCompiledTransform.Transform(xml, xmlWriter);
                //    documentText = stringBuilder.ToString();

                //    // Close Readers
                //    xmlWriter.Close();
                //    textReaderXsl.Close();
                //    textReaderXml.Close();
                //}
                //else {
                //    //// Check if Stylesheet Exists
                //    //if (!File.Exists(this._stylesheet)) { return; }

                //    //// Load XML
                //    //DOMDocument60Class source = new DOMDocument60Class();
                //    //source.loadXML(this._dataset.Metadata);

                //    //// Load XSL
                //    //DOMDocument60Class style = new DOMDocument60Class();
                //    //style.load(this._stylesheet);

                //    //// Transform XML (to HTML)
                //    //documentText = source.transformNode(style);

                //    // Load XML
                //    TextReader textReaderXml = new StringReader(this._dataset.Metadata);
                //    XPathDocument xml = new XPathDocument(textReaderXml);

                //    // Compile Transformer
                //    XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
                //    xslCompiledTransform.Load(this._stylesheet);

                //    // Transform XML (to HTML)
                //    StringBuilder stringBuilder = new StringBuilder();
                //    XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xslCompiledTransform.OutputSettings);
                //    xslCompiledTransform.Transform(xml, xmlWriter);
                //    documentText = stringBuilder.ToString();

                //    // Close Readers
                //    xmlWriter.Close();
                //    textReaderXml.Close();
                //}

                // Assign Transfomed XML (HTML) to Web Browser
                this.webBrowser1.DocumentText = documentText;
            }
            catch (Exception ex) {
                ExceptionDialog.HandleException(ex);
            }
        }