Template.fromTemplate constructor
Implementation
factory Template.fromTemplate({required Template template, Map<String, String?>? parameters})
{
try
{
// Convert Xml Document to Xml String
String? xml = template.document.toString();
// Replace Bindings in Xml
if (parameters != null) xml = Binding.applyMap(xml, parameters, caseSensitive: false);
// Replace query parameters
xml = Binding.applyMap(xml, System.app?.queryParameters, caseSensitive: false);
// Replace config parameters
xml = Binding.applyMap(xml, System.app?.configParameters, caseSensitive: false);
// Replace System Uuid
String s = Binding.toKey(System.myId, 'uuid')!;
while (xml!.contains(s)) {
xml = xml.replaceFirst(s, S.newId());
}
// Convert Xml String to Xml Document
XmlDocument document = XmlDocument.parse(xml);
// return the new template
template = Template(name: template.name, document: document);
}
catch(e)
{
Log().debug(e.toString());
}
return template;
}