SIL.FieldWorks.WordWorks.Parser.M3ToXAmpleTransformer.PrepareTemplatesForXAmpleFiles C# (CSharp) Méthode

PrepareTemplatesForXAmpleFiles() public méthode

public PrepareTemplatesForXAmpleFiles ( XDocument domModel, XDocument domTemplate ) : void
domModel XDocument
domTemplate XDocument
Résultat void
		public void PrepareTemplatesForXAmpleFiles(XDocument domModel, XDocument domTemplate)
		{
			Debug.Assert(domTemplate.Root != null);
			// get top level POS that has at least one template with slots
			foreach (XElement templateElem in domTemplate.Root.Elements("PartsOfSpeech").Elements("PartOfSpeech")
				.Where(pe => pe.Elements("AffixTemplates").Elements("MoInflAffixTemplate").Any(te => te.Element("PrefixSlots") != null || te.Element("SuffixSlots") != null)))
			{
				// transform the POS that has templates to GAFAWS format
				string gafawsFile = m_database + "gafawsData.xml";
				TransformPosInfoToGafawsInputFormat(templateElem, gafawsFile);
				string resultFile = ApplyGafawsAlgorithm(gafawsFile);
				//based on results of GAFAWS, modify the model dom by inserting orderclass in slots
				InsertOrderclassInfo(domModel, resultFile);
			}
		}

Usage Example

Exemple #1
0
        /// <summary>
        /// Loads the parser.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="template">The template.</param>
        protected override void LoadParser(ref XmlDocument model, XmlDocument template)
        {
            var transformer = new M3ToXAmpleTransformer(m_projectName, m_taskUpdateHandler);
            var startTime   = DateTime.Now;

            // PrepareTemplatesForXAmpleFiles adds orderclass elements to MoInflAffixSlot elements
            transformer.PrepareTemplatesForXAmpleFiles(ref model, template);
            var ttlTicks = DateTime.Now.Ticks - startTime.Ticks;

            Trace.WriteLineIf(m_tracingSwitch.TraceInfo, "GAFAWS prep took : " + ttlTicks);

            transformer.MakeAmpleFiles(model);

            int     maxAnalCount     = 20;
            XmlNode maxAnalCountNode = model.SelectSingleNode("/M3Dump/ParserParameters/XAmple/MaxAnalysesToReturn");

            if (maxAnalCountNode != null)
            {
                maxAnalCount = Convert.ToInt16(maxAnalCountNode.FirstChild.Value);
                if (maxAnalCount < 1)
                {
                    maxAnalCount = -1;
                }
            }

            m_xample.SetParameter("MaxAnalysesToReturn", maxAnalCount.ToString());

            string tempPath = Path.GetTempPath();

            m_xample.LoadFiles(DirectoryFinder.FWCodeDirectory + @"/Language Explorer/Configuration/Grammar",
                               tempPath, m_projectName);
        }
All Usage Examples Of SIL.FieldWorks.WordWorks.Parser.M3ToXAmpleTransformer::PrepareTemplatesForXAmpleFiles