Property DOM XFA nativo

La ejecución general con EnableJavaScript incluye los hijos de propiedades de los contenedores del formulario en el árbol de eventos en vivo, incluidos los nodos value, typed value, font, fill, color, ui, border y edge

Los contenedores con nombre usan su nombre en las rutas SOM; los nodos de propiedades usan su nombre de clase y conservan su atributo name real, que normalmente está vacío

Valores tipados y atributos

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 hijo tipado bajo el nodo value de un campo comparte el rawValue en vivo del campo; las lecturas y escrituras a través de value.text.value, field.rawValue y el dataNode enlazado se observan mutuamente de inmediato

Para los nodos de propiedades con un atributo value, como color, la propiedad value lee y escribe ese atributo; para los nodos de contenido escalar lee y escribe el contenido de texto

Los atributos presentes en el binding efectivo de propiedades se exponen como propiedades directas, salvo los miembros reservados de nodos y engine; getAttribute(name) lee un atributo arbitrario y setAttribute(value, name) escribe uno y expone de inmediato un nombre nuevo seguro

FormCalc resuelve las rutas de propiedades y asigna atributos escalares a través del mismo árbol de eventos; los hermanos de propiedades soportan índices de ocurrencia y selectores de clase

Persistencia y rendering nativos

Las escrituras correctas crean o actualizan nodos de propiedades bajo la ocurrencia del contenedor correspondiente en el paquete nativo de formularios; la plantilla y las demás ocurrencias repetidas conservan sus valores por defecto

La búsqueda de propiedades sigue la clase y la ocurrencia local bajo el contenedor con nombre en lugar de saltarse los nodos sin nombre; cambiar el atributo name de una propiedad preserva su identidad, y el XDP guardado recarga los overrides efectivos

Los handles de propiedades retenidos siguen las identidades publicadas de sus propietarios a través de la inserción y el movimiento de instancias; escribir en un handle después de eliminar su instancia aborta y restaura la transacción

El typeface y el tamaño de fuente participan en la medición y el reflow de texto growable por instancia; flatten lee la fuente, el color, el borde, el párrafo y los atributos de UI soportados efectivos para cada ocurrencia de campo

Los draws de rich text consumen los overrides efectivos de fuente, párrafo, CSS en línea y contenido escalar para cada ocurrencia, incluidas su medición y colocación de runs

La creación de instancias retiene todos los valores por defecto de los hermanos de propiedades, incluidos los múltiples nodos edge, y usa los valores de atributos de la plantilla en lugar de los overrides de otra ocurrencia

Los overrides de UI crean las elecciones de widgets soportadas y cambian el kind real por instancia del runtime y los flags nativos de campo tras un evento correcto

Presupuestos y bindings de nivel inferior

El recorrido de propiedades comparte los presupuestos de nodos, profundidad, operaciones y bytes del evento; las escrituras nativas de texto y atributos obedecen MaxValueChars, y las escrituras fallidas restauran los valores nativos de campos, los overrides de propiedades, el estado de scripts y el orden de instancias

Los llamadores directos usan xebdProperty y suministran Attributes y DefaultAttributes; los segundos inicializan los nodos recién clonados

Una acción de atributo de propiedad contiene el nombre del atributo, un separador NUL y el valor en TXFAEventAction.Value; TXFAWidgetRuntime la valida y la aplica al objetivo nativo de la propiedad

Cobertura

El árbol de eventos incluye los nodos de propiedades declaradas y sus atributos efectivos, con valores por defecto del schema para las clases de formato y widgets soportadas; la creación de propiedades ausentes ahora materializa las rutas de formato soportadas en el paquete nativo de formularios

Las declaraciones event, calculate y validate siguen siendo metadatos de ejecución; los scripts de variables siguen siendo script objects, y la edición general de propiedades no activa los scripts de metadatos

Las clases de propiedades de schema adicionales, el borrado y reparentado genéricos, la mutación de atributos cualificados por namespace, los consumidores adicionales de propiedades de layout y más funciones de edición de rich text o widgets continúan como objetivos separados

APIs relacionadas

Live SOM Resolution, Native Data DOM, HPDFXFAResolveFormInstanceProperty y Interactive XFA Runtime