Main Menu

Home

    Componente catalogo

    La componente catalogo, dopo aver caricato il file dei dati in uno dei formati predefiniti, richiede la configurazione del modello per la loro presentazione. Il modello deve essere creato con l'editor di testi analogo a quello normalmente utilizzato per inserire normali contenuti, ma all'interno si possono indicare quali campi visualizzare e come devono essere visualizzati.

    Regole principali

    Nel resultato di una ricerca il record è rappresentato internamente a JOpac2 in formato XML e ciascuno è inserito in un nodo

    <record>
    ....
    </record>

    all'interno del nodo record ci saranno i nodi ISBD, serie, partof, ...

    Le regole di sostituzione prevedono che:

    • il nome del campo racchiuso tra [[.....]] viene sostituito dal suo contenuto
    • l'indicazione di un contesto con la sintassi {{contesto:testo [[nomecampo]]}} fa si che la parte dopo i due punti venga visualizzata solo se esiste il nodo indicato come contesto prima dei due punti
    • i contesti possono essere ricorsivi e indicando un percorso assoluto si può far riferimento a elementi "più esterni"

     

    Esempio:

    [[/record/ISBD]]
    {{/record/serie:Collana:
          [[isbdserie]]
    }}{{/record/haspart:Contiene: {{/record/haspart/record:
          [[isbd]]
    }}}}{{/record/partof:Fa parte di: {{/record/partof/record:
          [[isbd]]
    }}}}{{/record/classifications:Classificazioni: [[classification]]
    }}{{/record/subjects: Soggetti: [[subject]]
    }}

     

    Caricamento catalogo

     

    Funzioni

    Gruppo

    Record in ingresso:


        a, b, c
        1, 2, 3

    Comando:

    {{^Group(,|item|/record/primo|/record/secondo):[[secondo]]}}

    Risultato:

    123

     

    Limite

    Record in ingresso:


        6142
        Il *pensiero americano contemporaneo / direzione dell'opera Ferruccio Rossi-Landi. - Milano : Edizioni di Comunita. - 2 v. ; 25 cm. - In testa al front.: Centro di studi metodologici di Torino

    Comando:

    {{^Limit(/record/ISBD|30| Continua):[[.]]}}

    Risultato:

    Il *pensiero americano Continua

     

    For each

    La componente catalogo, quando analizza i risultati, ha la possibilità di "schiacciare" record consecutivi se determinati campi (selezionabili) sono uguali. In questo caso il record risultante avrà i campi utilizzati per il controllo in comune e tutti gli altri raggruppati in un nodo per ciascun record accorpato.

    Record in ingresso


       Una bella giornata
      
           uno
           http://esempio.mio/uno
      
      
           due
           http://esempio.mio/due
      

    Comando:

    [[/record/titolo]]

     

    Risultato:

    Una bella giornata

    If

    If, prende in arg[0] un'espressione  booleana in java, ed esegue il ramo else solo se è vera.
    Si basa su Apache Common jexl2.1.1
    Esempio:
     
    {{^If((("[[/record/prezzo]]").length()!=0)&&((_NumberFormatItalian.parse("[[/record/prezzo]]")).doubleValue()!=0))::&#8364; [[/record/prezzo]]}}
     
    ATTENZIONE: il valutatore non istanzia variabili, quindi non e' possibile usare i metodi statici delle classi. Per ovviare a questo
    nel contesto del valutatore sono state caricate delle variabili predefinite:
     
     
                    jctx.set("_NumberFormatItalian", NumberFormat.getInstance(Locale.ITALIAN));
                    jctx.set("_Integer", new Integer(0));
                    jctx.set("_String", new String(""));
                    jctx.set("_Double", new Double(0));

     

    Conoscere il formato xml del record

    Nel testo del template inserire:

     

    [[*RAW*]]

     

    Parametri

    Ricerca:

    query=ANY=a

    Numero record per pagina: 

    rxp=25

    Ordinamento:

    orderby=TIT

    descendant=true

    Numero di pagina:

    page=1

    Visualizzazione:

    display=iso, xml, raw

    Catalogo:

    catalog=ej

    Esempio:

    /components/catalogSearch/viewxml?query=ANY=or&catalog=ej&orderby=Titolo&descendant=true&display=iso