XFA choice callback metadata
Unit: HPDFXFA; callback: TXFAEmitField
The existing callback signature and Options array retain their legacy contract; these additive keys travel 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 alter 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 retain an entry |
| choicelabelshex | The effective display list in the same counted format; the native creator requires 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, while 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, while 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, preserving all export/display pairs and selected indices outside that window