/// <summary>
 /// Initializes a new instance of the <see cref="TmxQueryManager"/> class.
 /// </summary>
 /// <param name="rootElement">The root element.</param>
 /// <param name="sessionModel">The session model.</param>
 public TmxQueryManager(XElement rootElement, TranslatorSessionModel sessionModel)
 {
     _model       = sessionModel;
     _rootElement = rootElement;
     /* extract the source language */
     _srcLangString = (from el in _rootElement.Elements("header") select el.Attribute("srclang").Value).FirstOrDefault();
     /* extract all possible destination languages */
     foreach (var destLang in (from tr in _rootElement.Elements("body").Elements("tu").Elements("tuv").Where(e => (string)e.Attribute(_xmlns + "lang") != _srcLangString) select tr.Attribute(_xmlns + "lang")))
     {
         if (!_destLangStrings.Contains(destLang.Value))
         {
             _destLangStrings.Add(destLang.Value);
         }
     }
     Debug.Assert(_srcLangString != null, "_srcLangString != null");
     sessionModel.SourceLanguageTmx   = new CultureInfo(_srcLangString);
     sessionModel.DestinationLanguage = new CultureInfo(_destLangStrings[0]);
     /* cache all tu-elements */
     _tuElements = _rootElement.Elements("body").Elements("tu");
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TmxExporter"/> class.
 /// </summary>
 /// <param name="translationItems">The translation items.</param>
 /// <param name="model">The model.</param>
 public TmxExporter(TranslatorSessionModel model)
 {
     _model = model;
 }