Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Sidur
    Registrato dal
    May 2005
    Messaggi
    29

    Inserire tag XML in un'espressione XPath

    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
    Ci sono soltanto perseguitati e persecutori, affaccendati e stanchi...

  2. #2
    Utente di HTML.it L'avatar di Sidur
    Registrato dal
    May 2005
    Messaggi
    29
    Alla fine si è rivelata una cosa semplice

    Ho risolto così:

    for $d in doc("blabla.xml")//tag/tag2[tag_equivalente_al_parametro = $parametroattuale]

    Ciao!
    Ci sono soltanto perseguitati e persecutori, affaccendati e stanchi...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.