List people = new ArrayList();
Person person1 = new Person();
person1.setFirstName( "Ahmad" );
person1.setLastName( "Russell" );
person1.setAge( 28 );
people.add( person1 );
Person person2 = new Person();
person2.setFirstName( "Tom" );
person2.setLastName( "Russell" );
person2.setAge( 35 );
people.add( person2 );
Person person3 = new Person();
person3.setFirstName( "Ahmad" );
person3.setLastName( "Abuzayedeh" );
person3.setAge( 33 );
people.add( person3 );
System.out.println( "** People older than 30");
JXPathContext context = JXPathContext.newContext( people );
Iterator iterator = context.iterate(".[@age > 30]");
printPeople(iterator);
context = JXPathContext.newContext( people );
System.out.println( "** People with first name 'Ahmad'" );
iterator = context.iterate(".[@firstName = 'Ahmad']");
printPeople(iterator);
context = JXPathContext.newContext( people );
System.out.println( "** Second Person in List" );
Person p = (Person) context.getValue(".[2]");
System.out.println( "Person: " + p.getFirstName() + " " + p.getLastName() +
", age: " + p.getAge() );