Esempio n. 1
0
        public void Run(Altova.IO.Input xliff_core_1_2_transitional2Source, string EPRTRcmsTargetConnectionString)
        {
            mAutoNumberStates = new AutoNumberStateMap();
            // Open the source(s)
            XmlDocument xliff_core_1_2_transitional2DocSourceObject = XmlTreeOperations.LoadDocument(xliff_core_1_2_transitional2Source);


            System.Collections.IEnumerator itxliff_core_1_2_transitional2 = XmlTreeOperations.GetElements(xliff_core_1_2_transitional2DocSourceObject, xliff_core_1_2_transitional_TypeInfo.binder.Members[xliff_core_1_2_transitional_TypeInfo._altova_mi_xlf_altova_unnamedType_altova_xliff]).GetEnumerator();
            if (!itxliff_core_1_2_transitional2.MoveNext())
            {
                throw new Altova.Types.DataSourceUnavailableException("Source is of invalid type: " + xliff_core_1_2_transitional2Source);
            }

            m_xliff_core_1_2_transitional2Instance = (System.Xml.XmlNode)itxliff_core_1_2_transitional2.Current;
            // Create the target
            WriteTrace("Connecting to EPRTRcms database...\n");
            System.Data.OleDb.OleDbConnection EPRTRcmsTargetObject = null;
            try
            {
                EPRTRcmsTargetObject = new System.Data.OleDb.OleDbConnection(EPRTRcmsTargetConnectionString);
                EPRTRcmsTargetObject.Open();
            }
            catch (Exception e)
            {
                throw new DataTargetUnavailableException("Error connecting to database.", e);
            }
            mTransactionHelper = new DbTreeOperations.TransactionHelper(EPRTRcmsTargetObject, "BEGIN TRANSACTION ", "COMMIT TRANSACTION ", "ROLLBACK TRANSACTION ", "SAVE TRANSACTION  %%TRANSACTION_NAME%% ", "ROLLBACK TRANSACTION  %%TRANSACTION_NAME%% ");

            // Execute mapping
            loopfile(m_xliff_core_1_2_transitional2Instance, EPRTRcmsTargetObject);

            // Close the target
            EPRTRcmsTargetObject.Close();

            // Close the Source Library

            if (runDoesCloseAll)
            {
                xliff_core_1_2_transitional2Source.Close();
            }
        }
        public void Run(string EPRTRcmsSourceConnectionString, Altova.IO.Output xliff_core_1_2_transitionalTarget)
        {
            mAutoNumberStates = new AutoNumberStateMap();
            // Open the source(s)
            WriteTrace("Connecting to EPRTRcms database...\n");
            try
            {
                m_EPRTRcmsInstance = new System.Data.OleDb.OleDbConnection(EPRTRcmsSourceConnectionString);
                m_EPRTRcmsInstance.Open();
            }
            catch (Exception e)
            {
                throw new DataSourceUnavailableException("Error connecting to database.", e);
            }
            m_Queryloopdbo_xliff_file = Altova.Db.DbTreeOperations.CreateCommand(
                m_EPRTRcmsInstance,
                "SELECT [SourceLanguage], [DataType], [TargetLanguage], [FileID] FROM [dbo].[xliff_file]"
                );
            m_Queryloopdbo_xliff_file.CommandTimeout = 0;
            m_Queryloopdbo_xliff_header_FileID       = Altova.Db.DbTreeOperations.CreateCommand(
                m_EPRTRcmsInstance,
                "SELECT [uid] FROM [dbo].[xliff_header] WHERE [FileID] = ?"
                , System.Data.DbType.Int32);
            m_Queryloopdbo_xliff_header_FileID.CommandTimeout = 0;
            m_Queryloopdbo_xliff_Group_FileID = Altova.Db.DbTreeOperations.CreateCommand(
                m_EPRTRcmsInstance,
                "SELECT [GroupText], [GroupID] FROM [dbo].[xliff_Group] WHERE [FileID] = ?"
                , System.Data.DbType.Int32);
            m_Queryloopdbo_xliff_Group_FileID.CommandTimeout = 0;
            m_Queryloopdbo_xliff_TransID_GroupID             = Altova.Db.DbTreeOperations.CreateCommand(
                m_EPRTRcmsInstance,
                "SELECT [TransIDText], [TransID] FROM [dbo].[xliff_TransID] WHERE [GroupID] = ?"
                , System.Data.DbType.Int32);
            m_Queryloopdbo_xliff_TransID_GroupID.CommandTimeout = 0;
            m_Queryloopdbo_xliff_Value_TransID = Altova.Db.DbTreeOperations.CreateCommand(
                m_EPRTRcmsInstance,
                "SELECT [Source] FROM [dbo].[xliff_Value] WHERE [TransID] = ?"
                , System.Data.DbType.Int32);
            m_Queryloopdbo_xliff_Value_TransID.CommandTimeout = 0;
            m_Queryloopdbo_xliff_Value_TransID2 = Altova.Db.DbTreeOperations.CreateCommand(
                m_EPRTRcmsInstance,
                "SELECT [Target] FROM [dbo].[xliff_Value] WHERE [TransID] = ?"
                , System.Data.DbType.Int32);
            m_Queryloopdbo_xliff_Value_TransID2.CommandTimeout = 0;
            // Create the target

            XmlDocument xliff_core_1_2_transitionalDoc = (xliff_core_1_2_transitionalTarget.Type == Altova.IO.Output.OutputType.XmlDocument) ? xliff_core_1_2_transitionalTarget.Document : new XmlDocument();
            // create processing instruction etc...

            XmlNode xliffTargetObject = xliff_core_1_2_transitionalDoc.CreateElement("xliff", "urn:oasis:names:tc:xliff:document:1.2");

            xliff_core_1_2_transitionalDoc.AppendChild(xliffTargetObject);
            XmlElement xliffTargetEl = (XmlElement)xliffTargetObject;

            xliffTargetEl.SetAttribute("xmlns", "urn:oasis:names:tc:xliff:document:1.2");
            xliffTargetEl.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
            xliffTargetEl.SetAttribute("schemaLocation", "http://www.w3.org/2001/XMLSchema-instance", "urn:oasis:names:tc:xliff:document:1.2 C:/EIONET/CMS_XLIFF/xliff_out/xliff-core-1.2-transitional.xsd");
            xliffTargetEl.SetAttribute("xmlns:xs", "http://www.w3.org/2001/XMLSchema");

            // Execute mapping
            loopdbo_xliff_file(m_EPRTRcmsInstance, xliffTargetObject);

            // Close the target
            XmlTreeOperations.SaveDocument(
                xliff_core_1_2_transitionalDoc,
                xliff_core_1_2_transitionalTarget,
                "UTF-8",
                false,
                false,
                true
                );

            // Close the Source Library
            m_EPRTRcmsInstance.Close();

            if (runDoesCloseAll)
            {
                xliff_core_1_2_transitionalTarget.Close();
            }
        }