Salve a tutti!
Sto morendo dietro a questo file PHP da giorni ormai!
L'errore ritornato è: Warning: Invalid expression in ***/query.php5 on line 18

Il frammento di codice incriminato è questo:
function controllaNodi($campo, &$index, &$array, &$root, &$tree)
{
// creo l'elemento DOMXpath generandolo dal file indice
$xpath = new DOMXPath($index);
// Poppo il valore dell'elemento da esaminare
$valore = array_pop($array);
// Scrivo la query Xpath
$query = "//$campo\[contains(.,\"$valore\")\]/parent::\*";
// Applico la query all'indice e ottengo gli elementi (libro) che combaciano con la mia ricerca
$results = $xpath->query($query); <-questa è la linea 18!!!!
// Ora aggiungo ognuno degli elementi al mio alberello
for ($i = 0; $i < $results->length; $i++)
{
// scorro la domnodelist e per ogni elemento che incontro lo aggiungo al nuovo albero e lo elimino dall'indice
$node = $results->item($i);
$newnode = $tree->appendChild ($tree->importNode($node, true));
$newnode = $tree->removeChild ($tree->importNode($node, true));
}
}

La cosa assurda è che la stringa Xpath parrebbe essere corretta provandola con oxigen. In cosa sbaglio? c'è un "\" mancante da qualche parte? Oppure è la funzione query che non gestisce tutte le possibilità date da xpath?

P.S. sostituendo la stringa Xpath con una più semplice come: $query = "/index/libro/autore"; non da nessun errore.

Ringrazio in anticipo chiunque sarà in grado di aiutarmi