XFA choice callback metadata
Unit: HPDFXFA; callback: TXFAEmitField
The existing callback signature and Options array keep their legacy contract; these additive keys are carried in the semicolon-separated Style string for combo, list, checkbox and radio consumers
Hexadecimal values encode exact UTF-8 bytes with uppercase hexadecimal digits, so labels and exports containing semicolons, commas, equals signs or Unicode cannot disturb the compact style grammar
| Key | Meaning |
|---|---|
| choiceexportshex | Count followed by a colon and comma-separated hex values from the effective save list; explicit empty values keep an entry |
| choicelabelshex | The effective display list in the same counted format; the native creator expects the count to match the export list |
| choicerawhex | Exact native raw value when its trimmed value agrees with the emitted choice value |
| choiceselectedhex | Optional exact selected indices as hexadecimal UTF-8 bytes of a canonical ascending comma-separated integer list; an empty value explicitly selects no items, and the raw value must agree with the selected exports |
| buttonexporthex | First effective scalar item used as the checkbox or radio member's on export |
| buttonvaluehex | Exact checkbox raw value when its trimmed value agrees with the emitted value |
| radiovaluehex | The exclusion group's actual resolved value in the current native dataset scope |
| radiogrouphex | Hex-encoded template group path and native dataset-context path for grouping members independently of displayed names |
| radioreadonly | 1 when document editing or exclusion-group access restricts the native radio parent |
| choiceedit | 1 for a combo that allows free text |
| choicemulti | 1 for a list that allows multiple selected exports |
| choicecommit | 1 when selection commits the choice value |
The counted list 2:4142, encodes the two exports AB and an empty string; 0: encodes an empty list
Effective form-instance items override template items, whilst a missing display list falls back to the effective export list
Choice item scripting persists explicit indices for duplicate and empty exports in optional native form attributes; a subsequent field, Data DOM or item-export value write invalidates their state
Radio scope paths use real native child positions anchored at their packets; ordinary XML save/reload preserves them for the same document structure, whilst structural edits can produce new paths
Boolean metadata adds effective marker, outline, scalar caption and neutral-state hints for checkbox and radio callbacks
Automatic native choice creation describes the PDF mapping and acceptance fixtures
Automatic list scrolling consumes effective font size and widget height to create an initial visible option window, keeping all export/display pairs and selected indices outside that window