find all movies that have the most actors in XPath1.0

suppose we have the following XML document:

<movies>
<movie>
    <title>A History of Violence</title>
    <year>2005</year>
    <country>USA</country>
    <genre>Crime</genre>
    <director id="n1"/>
    <actor id="n2" role="Tom Stall"/>
    <actor id="n3" role="Eddie Stall"/>
    <actor id="n4" role="Carl Fogarty"/>
    <actor id="n5" role="Richie Cusack"/>
</movie>
<movie>
    <title>Heat</title>
    <year>1995</year>
    <country>USA</country>
    <genre>Crime</genre>
    <director id="n6"/>
    <actor id="n7" role="Lt. Vincent Hanna"/>
    <actor id="n8" role="Neil McCauley"/>
    <actor id="n9" role="Chris Shiherlis"/>
    <actor id="n10" role="Nate"/>
</movie>
<movie>
    <title>Unforgiven</title>
    <year>1992</year>
    <country>USA</country>
    <genre>Western</genre>
    <director id="n11"/>
    <actor id="n11" role="William 'Bill' Munny"/>
    <actor id="n12" role="Little Bill Daggett"/>
    <actor id="n13" role="Ned Logan"/>
</movie>
<movie>
    <title>Match Point</title>
    <year>2005</year>
    <country>USA</country>
    <genre>Crime</genre>
    <director id="n14"/>
    <actor id="n15" role="Chris Wilton"/>
    <actor id="n16" role="Nola Rice"/>
</movie>
<movie>
    <title>Lost in Translation</title>
    <year>2003</year>
    <country>USA</country>
    <genre>Drama</genre>
    <director id="n17"/>
    <actor id="n16" role="Charlotte"/>
    <actor id="n18" role="Bob Harris"/>
</movie>
<movie>
    <title>Marie Antoinette</title>
    <year>2006</year>
    <country>USA</country>
    <genre>Drama</genre>
    <director id="n17"/>
    <actor id="n19" role="Marie Antoinette"/>
    <actor id="n20" role="Louis XVI"/>
</movie>
<movie>
    <title>Spider-Man</title>
    <year>2002</year>
    <country>USA</country>
    <genre>Action</genre>
   <director id="n21"/>
    <actor id="n19" role="Mary Jane Watson"/>
    <actor id="n22" role="Spider-Man / Peter Parker"/>
    <actor id="n23" role="Green Goblin / Norman Osborn"/>
</movie>
<!-- Artists -->
<artist id="n1">
    <last_name/>
    <first_name/>
    <birth_date>1999-02-02</birth_date>
</artist>
<artist id="n2">
    <last_name>Mortensen</last_name>
    <first_name>Vigo</first_name>
    <birth_date>1958-01-01</birth_date>
</artist>
<artist id="n3">
    <last_name>Bello</last_name>
    <first_name>Maria</first_name>
    <birth_date>1967-05-08</birth_date>
</artist>
<artist id="n4">
    <last_name>Harris</last_name>
    <first_name>Ed</first_name>
    <birth_date>1950-09-10</birth_date>
</artist>
<artist id="n5">
    <last_name>Hurt</last_name>
    <first_name>William</first_name>
    <birth_date>1950-04-04</birth_date>
</artist>
<artist id="n6">
    <last_name>Mann</last_name>
    <first_name>Michael</first_name>
    <birth_date>1943-01-04</birth_date>
</artist>
<artist id="n7">
    <last_name>Pacino</last_name>
    <first_name>Al</first_name>
    <birth_date>1940-07-07</birth_date>
</artist>
<artist id="n8">
    <last_name>De Niro</last_name>
    <first_name>Robert</first_name>
    <birth_date>1943-03-03</birth_date>
</artist>
<artist id="n9">
    <last_name>Kilmer</last_name>
    <first_name>Val</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n10">
    <last_name>Voight</last_name>
    <first_name>Jon</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n11">
    <last_name>Eastwood</last_name>
    <first_name>Clint</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n12">
    <last_name>Hackman</last_name>
    <first_name>Gene</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n13">
    <last_name>Freeman</last_name>
    <first_name>Morgan</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n14">
    <last_name>Allen</last_name>
    <first_name>Woody</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n15">
    <last_name>Rhys Meyers</last_name>
    <first_name>Jonathan</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n16">
    <last_name>Johansson</last_name>
    <first_name>Scarlett </first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n17">
    <last_name>Coppola</last_name>
    <first_name>Sofia</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n18">
    <last_name>Murray</last_name>
    <first_name>Bill</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n19">
    <last_name>Dunst</last_name>
    <first_name>Kirsten</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n20">
    <last_name>Schwartzman</last_name>
    <first_name>Jason </first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n21">
    <last_name>Raimi</last_name>
    <first_name>Sam</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n22">
    <last_name>Maguire</last_name>
    <first_name>Tobey</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>
<artist id="n23">
    <last_name>Dafoe</last_name>
    <first_name>Willem</first_name>
    <birth_date>1959-06-06</birth_date>
</artist>

using XPath 1.0, I need to return:

  1. All movies that have the most actors: I've tried this:

//movie[not(count(actor) < //movie/count(actor))]

//movie[count(actor) = max( //movie/count(actor))]

but they do not work in XPath 1.0. they work fine in XPath 2.0

  1. All actors that are in the most movies

Upvotes: 0

Views: 32

Answers (0)

Related Questions