/// <summary> /// Generates xml element containing the settings. /// </summary> /// <param name="rootElemName">Name to be used as a name of the root element.</param> /// <param name="suppressDefaults">Specifies whether to ommit optional nodes having set default values</param> /// <returns>XElement containing the settings</returns> public override XElement GetXml(string rootElemName, bool suppressDefaults) { XElement rootElem = new XElement(rootElemName); if (!suppressDefaults || !IsDefaultRandomizerSeek) { rootElem.Add(new XAttribute("randomizerSeek", RandomizerSeek.ToString(CultureInfo.InvariantCulture))); } if (NeuralPreprocessorCfg != null) { rootElem.Add(NeuralPreprocessorCfg.GetXml(suppressDefaults)); } rootElem.Add(ReadoutLayerCfg.GetXml(suppressDefaults)); if (MapperCfg != null) { rootElem.Add(MapperCfg.GetXml(suppressDefaults)); } Validate(rootElem, XsdTypeName); return(rootElem); }