private Transformation ReadTransform(XmlNode transformNode)
{
var morpheme = transformNode.Attributes["morpheme"].InnerText;
var actionName = transformNode.Attributes["action"].InnerText;
var operandOne = transformNode.Attributes["operandOne"]?.InnerText ?? "";
var operandTwo = transformNode.Attributes["operandTwo"]?.InnerText ?? "";
var flag = transformNode.Attributes["flag"]?.InnerText ?? "";
var action = ActionFactory.Create(actionName, _alphabet, operandOne, operandTwo, flag);
var conditions = ConditionContainer.EmptyContainer();
if (transformNode.HasChildNodes)
{
conditions = ReadConditionContainer(transformNode.FirstChild);
}
return new Transformation(action, morpheme, conditions);
}