Espressione
Da Opera Wiki.
(→Funzioni disponibili) |
(→Funzioni disponibili) |
||
Riga 40: | Riga 40: | ||
* <code>struct-contains(...) </code>: verifica nella struttura corrente. | * <code>struct-contains(...) </code>: verifica nella struttura corrente. | ||
* <code>typology-contains(...) </code>: ricerca estesa a tutte le strutture della tipologia. | * <code>typology-contains(...) </code>: ricerca estesa a tutte le strutture della tipologia. | ||
- | * <code>fix-contains(...) </code>: | + | * <code>fix-contains(...) </code>: verifica nei profili del telaio corrente . |
* <code>sash-contains(...) </code>: verifica nei profili dell'anta corrente . | * <code>sash-contains(...) </code>: verifica nei profili dell'anta corrente . | ||
Versione delle 10:15, 26 ago 2025
Indice |
Espressioni
Le espressioni consentono di definire regole complesse per la verifica delle condizioni nelle autoselezioni. Un’espressione può contenere numeri, variabili, operatori matematici/logici e funzioni integrate, che vengono valutati per stabilire se una condizione è vera o falsa.
Gli operatori matematici disponibili sono:
-
+ - * /
→ rispettivamente addizione, sottrazione, moltiplicazione e divisione -
>
→ maggiore -
<
→ minore
Concatenazione degli elementi
Gli elementi possono essere combinati tra loro tramite:
- l’uso di funzioni nidificate;
- l’uso di operatori logici per unire più condizioni.
Gli operatori logici sono:
-
&
→ AND logico (entrambe le condizioni devono essere vere); -
|
→ OR logico (almeno una condizione deve essere vera).

profile(A) & option(OPZ1) → vero solo se il profilo è ''A'' '''e''' l’opzione ''OPZ1'' è attiva
Lia > 500 & Hia > 1600 → vero solo se la larghezza dell'anta è maggiore di 500mm e l'altezza dell'anta è maggiore di 1600mm
struct-contains(ACC123) | struct-contains(ACC456) → vero se la struttura contiene l’accessorio ''ACC123'' '''oppure''' ''ACC456''.
option(OPZ1) & (side-contains(PF100) | side-contains(PF200)) → l’opzione ''OPZ1'' deve essere attiva e, allo stesso tempo, il lato deve contenere ''PF100'' o ''PF200''
Funzioni disponibili
Sono previste varie funzioni integrate, utili per controllare la presenza o lo stato di profili, accessori e opzioni all'interno della struttura:
-
profile(CODICE_PROFILO)
: verifica se la condizione è esaminata in uno specifico profilo. -
typology-option(CODICE_OPZIONE)
: controlla se un’opzione è attiva in una qualunque struttura della tipologia. -
option(CODICE_OPZIONE)
: controlla se un’opzione è attiva nella struttura corrente. -
frameside-contains(CODICE)
: verifica se un profilo/accessorio è presente in un lato del telaio o dell’anta. -
frame-contains(CODICE)
: verifica la presenza di un profilo/accessorio nel telaio o nell’anta (qualsiasi lato). -
sideX-contains(...)
: come sopra, ma riferito a un lato specifico (inserire valore al posto di X: 1 = sx, 2 = dx, 3 = sup, 4 = inf). -
struct-contains(...)
: verifica nella struttura corrente. -
typology-contains(...)
: ricerca estesa a tutte le strutture della tipologia. -
fix-contains(...)
: verifica nei profili del telaio corrente . -
sash-contains(...)
: verifica nei profili dell'anta corrente .
Per la ricerca all'interno delle specchiature, sono previste le seguenti funzioni:
-
sash-panes-contains(...)
: verifica nel riempimento dell'anta corrente. -
struct-panes-contains(...)
: verifica in tutti i riempimenti della struttura.

profile(NOME_PROFILO)
struct-contains(NOME_PROFILO_O_ACCESSORIO)
option(NOME_OPZIONE)
struct-contains(ACC123) | struct-contains(ACC456) → vero se la struttura contiene l’accessorio ''ACC123'' '''oppure''' ''ACC456''.
option(OPZ1) & (side-contains(PF100) | side-contains(PF200)) → l’opzione ''OPZ1'' deve essere attiva e, allo stesso tempo, il lato deve contenere ''PF100'' o ''PF200''
Ricerca avanzata
Le espressioni supportano due tipi di ricerca evoluta:
Ricerca regolare
Se il parametro inizia con r=
, viene interpretato come una regular expression.
Esempio:
side-contains(r=P.*2)
→ ricerca un profilo/accessorio nel lato corrente il cui nome contiene la lettera P seguita dal numero 2, con qualunque carattere in mezzo.
Ricerca per parole chiave
Se il parametro è keyword(kw)
, viene ricercata la parola chiave kw nelle parole chiave dei profili, accessori o opzioni.
Esempio:
frameside-contains(keyword(KITAR))
→ verifica se, nel lato corrente, il telaio o i suoi accessori hanno la parola chiave KITAR.
Le ricerche regolari e per parole chiave possono anche essere annidate.
Esempio:
typology-contains(keyword(r=^FR))
→ ricerca in tutta la tipologia profili o accessori in cui almeno una parola chiave inizia per FR.