Template constructor

Template(
  1. XmlNode node, [
  2. Template? parent
])

Implementation

factory Template(xml.XmlNode node, [Template? parent]) {
  if (node is xml.XmlElement) {
    String tagName = node.name.toString().toLowerCase();
    if (_flowConstructors.containsKey(tagName)) {
      var constructor = _flowConstructors[tagName];
      return constructor!(node, parent);
    } else {
      return ElementTemplate(node, parent);
    }
  } else if (node is xml.XmlText) {
    return TextTemplate(node, parent);
  } else if (node is xml.XmlAttribute) {
    return AttributeTemplate(node, parent);
  }
  throw Exception(["Unkown node type"]);
}