eXist-db include template html in dati .xq

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.