ho un index.html di dati in cui ho incluso il modello attraverso:
Nel sito html dell’indice ho incluso un modulo di ricerca per le parole chiave e l’idea è quando clicco sul pulsante di ricerca dovrebbe chiamare un file .xq per richiedere i risultati della ricerca:
Quando invio il modulo, si apre la pagina ksearch.xq, ma anche se includo lo stesso modello div come sopra:
La pagina ksearch.xq non ha il modello applicato.
Sembra che quando chiamo un file .xq il modello non venga applicato, ma quando chiamo un semplice file HTML, il modello viene applicato.
Quindi la domanda è: come posso usare questo modello anche in output di un file .xq?
Grazie in anticipo.
Il framework di eXist-db, per impostazione predefinita, opera sulle richieste di file con estensione .html
, non per i file .xq
. Come hai trovato, il framework dei template passa i risultati da file non .html
attraverso invariato. (Vedrai la gestione speciale per i file .html
se apri il file controller.xql
nella raccolta della app.) Quindi, invece di ksearch.xq
, il tuo modulo deve inviare i parametri di ricerca a un file .html
che utilizza il framework dei template convenzioni per chiamare il codice XQuery, ad es.
Questa app:show-search-results
class (che ho /db/apps/myapp/modules/app.xqm
) /db/apps/myapp/modules/app.xqm
a una funzione nel modulo app
(in /db/apps/myapp/modules/app.xqm
) chiamata show-search-results (), con gli argomenti convenzionali usati altrove nelle funzioni dei modelli. Qui è dove inseriresti il tuo codice XQuery di ricerca.