/// <summary>
///
/// </summary>
/// <remarks>I (jh) found this labelled UpdateSingleTextVariableThrougoutDom but it actually only updated the datadiv, so I changed the name.</remarks>
/// <param name="key"></param>
/// <param name="writingSystemId"></param>
/// <param name="form"></param>
private void UpdateSingleTextVariableInDataDiv(string key, string writingSystemId, string form)
{
XmlNode node =
_dataDiv.SelectSingleNode(String.Format("div[@data-book='{0}' and @lang='{1}']", key,
writingSystemId));
_dataset.UpdateLanguageString(key, form, writingSystemId, false);
if (null == node)
{
if (!string.IsNullOrEmpty(form))
{
Debug.WriteLine("creating in datadiv: {0}[{1}]={2}", key, writingSystemId, form);
Debug.WriteLine("nop: " + _dataDiv.OuterXml);
AddDataDivBookVariable(key, writingSystemId, form);
}
}
else
{
if (string.IsNullOrEmpty(form)) //a null value removes the entry entirely
{
node.ParentNode.RemoveChild(node);
}
else
{
node.InnerXml = form;
}
//Debug.WriteLine("updating in datadiv: {0}[{1}]={2}", key, languageForm.WritingSystemId,
// languageForm.Form);
//Debug.WriteLine("now: " + _dataDiv.OuterXml);
}
}