public static BSimFilterType nameToType(XmlElement el) {
		String attr = el.getAttribute("type");
		buildFilterBasis();			// Make sure generic filter list is built
		for (BSimFilterType cur : basis) {
			if (cur.xmlval.equals(attr)) {
				return cur;
			}
		}
		if (attr.equals(ExecutableNameBSimFilterType.XML_VALUE)) {
			String subattr = el.getAttribute("subtype");
			return new ExecutableCategoryBSimFilterType(subattr);
		}
		else if (attr.equals(NotExecutableCategoryBSimFilterType.XML_VALUE)) {
			String subattr = el.getAttribute("subtype");
			return new NotExecutableCategoryBSimFilterType(subattr);
		}
		else if (attr.equals(FunctionTagBSimFilterType.XML_VALUE)) {
			String tagName = el.getAttribute("tagname");
			int flag = Integer.decode(el.getAttribute("flag"));
			return new FunctionTagBSimFilterType(tagName, flag);
		}
		return basis.get(0);		// Default template
	}
Convenience function for deserializing FilterTemplates
@param el is the tag to deserialize
@return the deserialized FilterTemplate
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/gui/filters/BSimFilterType.java