Propriétés de valeurs scalaires XFA natives

L'hôte d'événements crée de véritables conteneurs de valeurs de formulaires natifs et des feuilles scalaires via l'accès aux propriétés ou getElement ; les propriétés de valeurs de champs, les valeurs de données liées et les lectures de widgets partagent la même valeur courante

Création scalaire

Les enfants scalaires pris en charge sont boolean, date, dateTime, decimal, float, integer, text et time, avec une occurrence d'une classe de valeur sélectionnée

const field = xfa.form.resolveNode("main.row[1].input");
const leaf = field.value.getElement("text", 0);
leaf.value = "updated";
field.dataNode.value = "from-data";
if (leaf.value !== "from-data") throw new Error("Value synchronization failed");

Lire une propriété scalaire manquante matérialise son nœud de formulaire natif et initialise son contenu depuis la valeur effective courante du champ ; un accès répété retourne le même objet de propriété dynamique

Value a des attributs de prototype communs, override=0 et un attribut relevant vide par défaut ; les classes scalaires prises en charge exposent des attributs de prototype communs et un name vide

La vérification one-of inclut tous les choix de valeurs standard, si bien qu'un scalaire ne peut pas être créé à côté d'un choix de valeur image, exData ou graphique existant

Synchronisation immédiate et native

Les accesseurs value et rawValue des feuilles scalaires servent de proxy au champ propriétaire ; le dataValue.value lié est un alias inscriptible de son accesseur rawValue

Les écritures de champs, de scalaires et de données mettent à jour mutuellement leurs lectures pendant le même script, y compris les autres champs qui partagent la même valeur de données liée

La publication native met à jour la valeur du dataset et les feuilles de formulaires scalaires matérialisées existantes ; les validations de widgets interactifs et les résultats de calcul synchronisent aussi les propriétés de valeurs matérialisées pour les champs liés, y compris les alias hidden et invisible

Le contenu scalaire typé est conservé comme texte fourni, y compris les chaînes canoniques de dates, d'heures et numériques ; ce stade n'introduit pas de coercition numérique automatique ni de nouveau formatage de picture

La synchronisation des alias masqués suit les scopes de données répétées réels et préserve les propriétés non matérialisées

Instances, identité et transactions

Créer et éditer une propriété de valeur dans une occurrence répétée préserve les autres occurrences ; les script objects peuvent conserver une référence de propriété scalaire pour un événement ultérieur

Les nouvelles instances répétées reçoivent des nœuds de valeurs natifs indépendants ; les écritures de données vers une instance nouvellement créée mettent à jour sa véritable feuille scalaire matérialisée avant l'enregistrement de la transaction

Les erreurs du moteur, les échecs natifs de budget de valeurs et les choix de valeurs conflictuels restaurent les octets XDP natifs exacts, y compris les données de champs, les feuilles de valeurs matérialisées et les alias partagés

Les scans de synchronisation natifs participent aux budgets d'opérations et de temps écoulé des événements ; un travail excessif rejette la transaction et restaure son snapshot

Sortie PDF enregistrée

La conversion AcroForm XFA consomme les valeurs scalaires persistées pour les valeurs de champs natives et les apparences générées ; les valeurs de première instance répétées restent inchangées

Le producteur enregistré ciblé rouvre le XDP natif avant la conversion, et des vérifications pypdf et MuPDF indépendantes inspectent les feuilles de formulaires typées, les valeurs de datasets, les champs natifs et le texte d'apparence réellement visible

Cibles d'intégration restantes

Le XML exData natif prend en charge la création de valeurs absentes, l'import réel de XML étranger, la sérialisation immédiate de scripts et la consommation persistée de draws riches

Les consommateurs scalaires de draws et de captions prennent en charge les valeurs créées par instance et les overrides vides explicites

La création de valeurs d'images et de graphiques prend en charge les enfants image, arc, line et rectangle natifs avec de véritables consommateurs draw

La validation complète du format scalaire, les apparences de widgets riches et l'embarquement d'apparences Unicode restent des cibles d'implémentation séparées

APIs associées

Data DOM natif, Valeurs par défaut de champs natives, Création de propriétés absentes et Runtime XFA interactif