@Override
	public boolean test(XML node) {
		XML o = node.get(name);
		if (!o.isLeafNode()) return false;
		int cmp = compare(o);
		switch (op) {
			case EQ:
				return cmp == 0;
			case GT:
				return cmp > 0;
			case GTE:
				return cmp >= 0;
			case LT:
				return cmp < 0;
			case LTE:
				return cmp <= 0;
			case NE:
				return cmp != 0;
			default:
				return false;
		}
	}