Ciao a tutti, sto costruendo una query in XQuery che parte da un'interrogazione formulata in XML.
Mi spiego meglio:
1. L'utente invia un file XML come se fosse un'interrogazione
2. XQuery interpreta l'interrogazione e interroga il database XML
3. Restituisce parte dei file XML contenenti i tag dell'interrogazione
A questo punto ho costruito una funzione che riceve dai parametri l'interrogazione, ma nel momento in cui utilizzo il parametro attuale per interrogare con XPath, mi da un problema.
Siccome devo inserire la variabile come opzione e non come spostamento del nodo contestuale, il motore interpreta in modo errato e non restituisce i risultati corretti. Se invece la inserisco come spostamento del nodo contestuale allora funziona.
Cioè:
for $d in doc("blabla.xml")//tag/tag2/$parametroattuale <--- questo funziona
for $d in doc("blabla.xml")//tag/tag2[$parametroattuale] <--- questo NON funziona
In pratica è come se inserissi tag XML nell'espressione XPath:
for $d in doc("blabla.xml")//tag/tag2/<taginviato><taginviato2>A</taginviato2></taginviato>
(che funziona)
oppure
for $d in doc("blabla.xml")//tag/tag2[<taginviato><taginviato2>A</taginviato2></taginviato>]
(che NON funziona)
Come posso risolvere questo problema? Grazie mille![]()

Rispondi quotando
