@Override
	public void saveXml(Writer fwrite) throws IOException {
		fwrite.append('<').append(name).append(">\n");
		spec.saveXml(fwrite);
		fwrite.append("<funcname>");
		if (funcname != null)
			SpecXmlUtils.xmlEscapeWriter(fwrite, funcname);
		fwrite.append("</funcname>\n");
		fwrite.append("<maxfunc>");
		fwrite.append(Integer.toString(maxfunc));
		fwrite.append("</maxfunc>\n");
		if (printselfsig)
			fwrite.append("<printselfsig>true</printselfsig>\n");
		else
			fwrite.append("<printselfsig>false</printselfsig>\n");
		if (printjustexe)
			fwrite.append("<printjustexe>true</printjustexe>\n");
		else
			fwrite.append("<printjustexe>false</printjustexe>\n");
		if (fillinSigs)
			fwrite.append("<sigs>true</sigs>\n");
		else
			fwrite.append("<sigs>false</sigs>\n");
		if (fillinCallgraph)
			fwrite.append("<callgraph>true</callgraph>\n");
		else
			fwrite.append("<callgraph>false</callgraph>\n");
		if (fillinCategories)
			fwrite.append("<categories>true</categories>\n");
		else
			fwrite.append("<categories>false</categories>\n");
		fwrite.append("</").append(name).append(">\n");
	}
Query for a single function in a single executable by giving either the md5 of the executable, or its name
and version. Then give the name of the function.  If the name of the function is empty, this query
returns all functions in the executable
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/protocol/QueryName.java