Picture clause XFA avanzate
Abilita TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript per usare queste picture negli eventi FormCalc e negli script calculate e validate attraverso il motore QuickJS fornito
Format(picture, value) produce testo di visualizzazione e Parse(picture, text) produce valori canonici; selezione locale, letterali quotati e alternative seguono le funzioni locale e picture di FormCalc
Precisione numerica e notazione scientifica
| Simbolo | Comportamento |
|---|---|
E | Formatta un esponente in base 10 con segno dopo la mantissa; le posizioni delle cifre intere e frazionarie determinano la precisione della mantissa, con riporto di arrotondamento applicato prima dell'emissione dell'esponente |
8 | Conserva la precisione frazionaria espressa del testo decimale fornito, inclusi gli zeri finali; cifre frazionarie assenti omettono la radice decimale, e una sequenza di simboli 8 può preservare più cifre frazionarie fornite della sua lunghezza |
Le mantisse scientifiche usano al massimo 15 posizioni di cifra; le magnitudini degli esponenti e l'espansione decimale sono limitate a 10000, e i valori non finiti producono testo vuoto
Le picture di precisione preservano i letterali quotati prima e dopo le posizioni frazionarie; il ridimensionamento percentuale sposta il testo decimale originale senza perdere zeri finali attraverso la conversione in floating point binario
Passa stringhe decimali quando la loro precisione espressa conta; i valori numerici JavaScript hanno già subito la conversione in floating point binario prima della formattazione
Format("num{99.999E}", 12345) // 12.345E+3
Parse("num{99.999E}", "12.345E-2") // 0.12345
Format("num{zzz,zz9.8}", "12345.0000") // 12,345.0000
Parse("num{zz9.8}", "12.3400") // 12.3400
Format("num{zz9.8%}", "0.1250") // 12.50%
Date ordinali e settimanali
| Simbolo | Comportamento |
|---|---|
J, JJJ | Giorno dell'anno, da 1 a 366; JJJ riempie a tre cifre e il parsing valida gli anni bisestili |
E | Giorno della settimana numerico da 1 per domenica a 7 per sabato; EEE ed EEEE continuano a usare i nomi abbreviati e completi dei giorni della settimana del locale |
e | Giorno della settimana ISO da 1 per lunedì a 7 per domenica |
WW | Settimana ISO da 01 a 53; la settimana 01 contiene il 4 gennaio, e un anno in questa picture è l'anno della settimana ISO |
w | Settimana del mese da 0 a 5, che inizia di domenica; la prima settimana deve contenere almeno quattro giorni del mese |
Il parsing di date ordinali o settimanali restituisce la corrispondente data di calendario ISO; valori contraddittori di giorno, mese, giorno della settimana o settimana restituiscono testo vuoto
Gli anni precoci a quattro cifre vengono costruiti senza la correzione del secolo JavaScript, inclusi gli anni 0000 through 0099; le ere storiche alternative restano fuori da queste picture
Format("date{YYYY-JJJ}", "2024-02-29") // 2024-060
Parse("date{YYYY-WW-e}", "2020-53-5") // 2021-01-01
Format("date{w}", "2004-07-03") // 0
Varianti di orologio aggiuntive
k e kk esprimono un'ora 0–11 entro il meridiem; K e KK esprimono un'ora 1–24 entro il giorno, con 24 che rappresenta la mezzanotte
Usa A con gli orologi k per distinguere AM e PM; la z minuscola formatta un offset ISO senza due punti, zz usa i due punti, e la Z maiuscola emette GMT o GMT con offset esplicito
Simboli picture globali
| Simbolo | Parsing dell'input | Formattazione dell'output |
|---|---|---|
? | Consuma un code point Unicode | Produce uno spazio |
* | Consuma zero o più caratteri di spazio interrompibili | Produce uno spazio |
+ | Consuma uno o più caratteri di spazio interrompibili | Produce uno spazio |
Questi simboli funzionano dentro le picture date, time, datetime, number e text; i simboli quotati restano caratteri letterali, i caratteri Unicode supplementari contano come un carattere, e gli spazi unificatori sono esclusi dal matching degli spazi
Parsing composto dell'input
Le clausole composte di data e ora si combinano in testo data-ora ISO canonico; le rappresentazioni ripetute dello stesso valore devono concordare, e i delimitatori letterali vengono verificati prima di accettare l'input
Le clausole scalari ripetute devono produrre lo stesso numero o testo canonico; combinazioni di categorie incompatibili, valori contraddittori, consumo incompleto o molteplici risultati canonici distinti producono testo vuoto
Il parsing composto ammette 64 parti, 8192 unità UTF-16 di input e 8192 tentativi di parse, condividendo i budget di operazione e tempo trascorso del runtime; superare questi limiti fa fallire la transazione dell'evento
Parse("date{YYYY-MM-DD} time{HH:MM:SS}", "2024-02-29 12:34:56")
// 2024-02-29T12:34:56
Parse("date{YYYYMMDD}time{HHMMSS}", "20240229123456")
// 2024-02-29T12:34:56
Comportamento runtime e confini attuali
I campi calcolati e gli eventi usano la stessa implementazione e gli stessi metadati locale; gli script falliti ripristinano i valori del documento e lo stato JavaScript committato, e i dati XDP salvati conservano i risultati riusciti
Calendari di ere alternative, rappresentazioni ideografiche e full-width, simboli localizzati solo di visualizzazione e policy di raggruppamento complete restano obiettivi separati
Vedi Runtime interattivo dei widget XFA per il comportamento di transazione, replay e budget di operazione