Property DOM XFA natif

L'exécution générale avec EnableJavaScript inclut les enfants de propriétés des conteneurs de formulaire dans l'arbre d'événements dynamique, y compris les nœuds value, typed value, font, fill, color, ui, border et edge

Les conteneurs nommés utilisent leur name dans les chemins SOM ; les nœuds de propriétés utilisent leur nom de classe et conservent leur attribut name réel, généralement vide

Valeurs typées et attributs

const field = xfa.resolveNode("main.row[1].cell");
field.value.text.value = "25";
field.font.size = "18pt";
field.font.fill.color.value = "0,128,255";
field.ui.textEdit.multiLine = "1";
field.resolveNode("border.edge[1]").thickness = "3pt";
field.font.setAttribute("saved", "custom");
const saved = field.font.getAttribute("custom");

row[1].cell.value.text.value = 25
row[1].cell.font.size = "18pt"

Un enfant typé sous le nœud value d'un champ partage le rawValue dynamique du champ ; les lectures et écritures via value.text.value, field.rawValue et le dataNode lié s'observent mutuellement immédiatement

Pour les nœuds de propriétés avec un attribut value, comme color, la propriété value lit et écrit cet attribut ; pour les nœuds de contenu scalaires, elle lit et écrit le contenu texte

Les attributs présents dans le binding de propriétés effectif sont exposés comme propriétés directes, sauf les membres réservés de nœuds et du moteur ; getAttribute(name) lit un attribut arbitraire et setAttribute(value, name) en écrit un et expose immédiatement un nouveau nom sûr

FormCalc résout les chemins de propriétés et affecte les attributs scalaires via le même arbre d'événements ; les sœurs de propriétés prennent en charge les index d'occurrences et les sélecteurs de classes

Persistance et rendu natifs

Les écritures réussies créent ou mettent à jour les nœuds de propriétés sous l'occurrence de conteneur correspondante dans le packet de formulaire natif ; le template et les autres occurrences répétées conservent leurs valeurs par défaut

La consultation de propriétés suit la classe et l'occurrence locale sous le conteneur nommé au lieu de sauter les nœuds sans nom ; changer un attribut name de propriété préserve son identité, et le XDP enregistré recharge les overrides effectifs

Les handles de propriétés conservés suivent les identités de propriétaires publiées à travers l'insertion et le déplacement d'instances ; écrire un handle après suppression de son instance avorte et restaure la transaction

Le typeface et la taille de police participent à la mesure et au reflow du texte extensible par instance ; le flatten lit les attributs effectifs de police, couleur, bordure, paragraphe et UI pris en charge pour chaque occurrence de champ

Les draws de rich text consomment les overrides effectifs de police, paragraphe, CSS inline et contenu scalaire pour chaque occurrence, y compris leur mesure et leur placement de runs

La création d'instances conserve toutes les valeurs par défaut des sœurs de propriétés, y compris plusieurs nœuds edge, et utilise les valeurs d'attributs du template plutôt que les overrides d'une autre occurrence

Les overrides d'UI créent les choix de widgets pris en charge et changent le kind de runtime réel par instance et les flags natifs de champs après un événement réussi

Budgets et bindings de bas niveau

Le parcours de propriétés partage les budgets de nœuds, de profondeur, d'opérations et d'octets d'événements ; les écritures natives de texte et d'attributs obéissent à MaxValueChars, et les écritures en échec restaurent les valeurs de champs natives, les overrides de propriétés, l'état des scripts et l'ordre des instances

Les appelants directs utilisent xebdProperty et fournissent Attributes et DefaultAttributes ; ces derniers initialisent les nœuds nouvellement clonés

Une action d'attribut de propriété contient le nom d'attribut, un séparateur NUL et la valeur dans TXFAEventAction.Value ; TXFAWidgetRuntime valide et applique le tout à la cible de propriété native

Couverture

L'arbre d'événements inclut les nœuds de propriétés déclarés et leurs attributs effectifs, avec des valeurs par défaut de schéma pour les classes de formatage et de widgets prises en charge ; la création de propriétés absentes matérialise désormais les chemins de formatage pris en charge dans le packet de formulaire natif

Les déclarations event, calculate et validate restent des métadonnées d'exécution ; les scripts variables restent des script objects, et l'édition générale de propriétés n'active pas les scripts de métadonnées

Les classes de propriétés de schéma supplémentaires, la suppression générique et le reparentage, la mutation d'attributs qualifiés par espace de noms, les consommateurs supplémentaires de propriétés de mise en page et les fonctionnalités d'édition de rich text ou de widgets supplémentaires continuent comme cibles séparées

APIs associées

Résolution SOM dynamique, Data DOM natif, HPDFXFAResolveFormInstanceProperty et Runtime XFA interactif