TXFAEventBinding
Unit: HPDFXFAEventScript
Deklarace
TXFAEventBinding= record
Name, ClassName: AnsiString;
ParentIndex: Integer;
Value, Presence, Access: AnsiString;
InstanceCount, InstanceGroup: Integer;
MinInstances, MaxInstances: Integer;
DefaultValue, DefaultPresence, DefaultAccess: AnsiString;
Repeated: Boolean;
Identity, ScriptSource, Locale, EventActivity: AnsiString;
Domain: TXFAEventBindingDomain;
DataIdentity: AnsiString;
DataBindingEnabled: Boolean;
Attributes, DefaultAttributes: TXFAEventAttributes;
PropertyPath: AnsiString;
PropertyOwnerIndex: Integer;
XML, DefaultXML: AnsiString;
DataBindingRef, DataContextIdentity: AnsiString;
DataBindingExplicit: Boolean;
end;
Chování
Popisuje jeden virtuální host uzel události; každý skutečný opakovaný subform výskyt dostane samostatný binding i potomky
ParentIndex vybere jeho rodičovský binding, či -1 u kořene; Value, Presence a Access popisují aktuální stav výskytu
InstanceGroup identifikuje bindingy spravované stejným instance managerem, zatímco InstanceCount i meze výskytů popisují meze manažera
Šablonové defaulty inicializují nové instance; Repeated identifikuje uzly s deklarací occur
TXFAWidgetRuntime ty záznamy postaví ze šablony a aktuálního kontextu datasetů, dřív než provedení engine
Identity je stabilní host identita tohoto výskytu; ScriptSource obsahuje JavaScript skriptového objektu deklarovaného uvnitř variables
Prázdná Identity použije unikátní identitu binding indexu; stabilní explicitní identity dodávejte, když se může měnit pořadí bindingů, aby držené reference dál adresovaly tentýž výskyt
Locale nese volitelný atribut locale uzlu jako UTF-8 text; prováděcí uzel dědí nejbližší neprázdnou hodnotu předka, s prázdným řetězcem vybírajícím user locale
EventActivity dodá xfa.event.name pro prováděcí binding; TXFAWidgetRuntime nastaví aktivity událostí i kontextové názvy calculate či validate, zatímco prázdné nížeúrovňové bindingy použijí event
Domain odliší form uzly od nativních uzlů datasets, dataGroup a dataValue; jeho default xebdForm zachovává stávající volající
DataIdentity referencuje stabilní identitu jiného bindingu, aby propojil form pole či subform s jeho datovým uzlem; čtení pole i datové hodnoty si pak sdílejí jednu živou hodnotu
DataBindingEnabled dovolí implicitní tvorbu datového uzlu, když opakovaný form prototyp nemá stávající datový binding; runtime pole s bind match=none ho nechají False a nevystavují žádný syntetický datový uzel
InstanceGroup v datové doméně zaznamenává stejně pojmenovaný sourozenecký výskyt pro publikaci nativního virtuálního cíle; datové bindingy nevystavují form instance manažery
Attributes obsahuje efektivní aktuální atributy vlastností; DefaultAttributes obsahuje šablonové atributy používané pro nově klonovaný property uzel
Name v property doméně uchovává skutečný atribut name, obvykle prázdný; jeho ClassName dodá SOM složku a jeho rodičovské indexy zachovávají hierarchii vlastností i lokální sourozenecké výskyty
PropertyPath a PropertyOwnerIndex identifikují jen-form vlastnost chybějící v šabloně; cesta používá složky výskytů tříd a index vlastníka vybere nativní form výskyt ve stejném poli bindingů
Runtime jen-form bindingy vystavují aktuální nativní atributy, zatímco jejich DefaultAttributes používají schema defaulty, takže klonování opakovaného prototypu vytvoří defaultní hodnoty vlastností, namísto dědění override jiného výskytu
U stávajících bindingů deklarovaných vlastností nechávejte PropertyPath prázdné; jeho přidružený index vlastníka se pak nepoužívá
U exData je XML aktuální serializovaný UTF-8 element a DefaultXML dodá šablonový obsah pro novou opakovanou instanci
ExData binding s prázdným XML začíná z prázdného nativního elementu exData; jen-form DefaultXML zůstává prázdný, takže nový výskyt nezdědí cizí obsah importovaný jinou instancí
Vstupní XML řetězce se počítají do bajtového rozpočtu kontextu události; saveXML a loadXML použijí validovaný nativní replay odpovědí a publikují přes xeakLoadXML
XML v datové doméně nese runtime ohraničené mělké nativní XML metadata: název elementu, namespace, hodnotu, atributy, deklarace namespace, uspořádaný netextový obsah i pozice potomků; DefaultXML se u datových uzlů nepoužívá
Metadata obsahují jeden uzel a jeho přímé potomky textu, komentářů a processing instructions, čímž se předejde duplikaci podstromu potomků pro každý datový binding
DataBindingRef je oříznutý dataRef selektor; DataBindingExplicit odliší explicitně prázdný dataRef od implicitního bindingu názvu pole
DataContextIdentity identifikuje skutečný nativní datový scope pole nezávisle na DataIdentity, která identifikuje jeho vybraný list
Ta pole umožní XML importům hned znovuvyhodnotit bindingy proti čerstvému Data DOM, tedy i nově dostupné cíle a výběry potomků, wildcardů, tříd a indexů
Běžné aplikace k stavbě nativních bindingů používají TXFAWidgetRuntime; nížeúrovňoví volající mohou u čistě skalárních datových uzlů vynechat XML metadata a nechat nová binding pole na výchozích hodnotách
Související API
Interactive Dynamic XFA Widget Runtime, FormCalc Functions a XFA Packet DOM