import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;

import java.io.*;

public class PersonSearchVisitor extends SearchVisitor {

	private String lastName;
	public PersonSearchVisitor() { }
	public PersonSearchVisitor(String ln) { lastName = ln; }
	public void setLastName(String ln) { lastName = ln; }
	public String getLastName() { return lastName; }

   protected boolean test(Element node) {
		if (!node.getNodeName().equals("person")) return false;
		NodeList nodes = node.getElementsByTagName("name");
		if (nodes.getLength() != 1) return false;
		Element e = (Element)nodes.item(0);
		nodes = e.getElementsByTagName("last");
		if (nodes.getLength() != 1) return false;
		e = (Element)nodes.item(0);
		nodes = e.getChildNodes();
		if (nodes.getLength() != 1) return false;
		Text t = (Text)nodes.item(0);
		return t.getNodeValue().trim().equals(lastName);
	}
}