Snelle methoden in de verwijzingssyntaxis in FormCalc

Om gemakkelijker toegang te krijgen tot objecteigenschappen en waarden, maakt FormCalc gebruik van snelkoppelingen. U kunt dan met minder moeite verwijzingen maken. Deze sectie beschrijft snelle methoden voor de verwijzingssyntaxis voor FormCalc.

Huidig veld of object

Verwijst naar het huidige veld of object

Notatie

$

Voorbeeld

$ = "Tony Blue"

In het bovenstaande voorbeeld wordt de waarde van het huidige veld of object ingesteld op Tony Blue.

Basis gegevensmodel van xfa.datasets.data

De basis van het gegevensmodel xfa.datasets.data.

Notatie

$data

Voorbeeld

$data.purchaseOrder.total

is gelijk aan

xfa.datasets.data.purchaseOrder.total

Objectgebeurtenis in het formulier

De huidige objectgebeurtenis in het formulier.

Notatie

$event

Voorbeeld

$event.name

is gelijk aan

xfa.event.name

Zie Werken met het gebeurtenismodel voor meer informatie.

Basis formuliermodel

De basis van het formuliermodel xfa.form.

Notatie

$form

Voorbeeld

$form.purchaseOrder.tax

is gelijk aan

xfa.form.purchaseOrder.tax

Hostobject

Het hostobject.

Notatie

$host

Voorbeeld

$host.messageBox("Hello world")

is gelijk aan

xfa.host.messageBox("Hello world")

Zie Werken met een hosttoepassing voor meer informatie.

Basis indelingsmodel

De basis van het indelingsmodel xfa.layout.

Notatie

$layout

Voorbeeld

$layout.ready

is gelijk aan

xfa.layout.ready

Verzameling van gegevensrecord

De huidige record in een gegevensverzameling, zoals van een XML-bestand.

Notatie

$record

Voorbeeld

$record.header.txtOrderedByCity

verwijst naar het knooppunt txtOrderedByCity in het knooppunt header van de huidige XML-gegevens.

Basis sjabloonmodel

De basis van het sjabloonmodel xfa.template.

Notatie

$template

Voorbeeld

$template.purchaseOrder.item

is gelijk aan

xfa.template.purchaseOrder.item

Basis gegevensmodel van xfa.datasets

De basis van het gegevensmodel xfa.datasets.

Notatie

!

Voorbeeld

!data

is gelijk aan

xfa.datasets.data

Alle formulierobjecten selecteren

Hiermee worden ofwel alle formulierobjecten in een bepaalde container geselecteerd, zoals een subformulier, ongeacht de naam, ofwel alle objecten met een vergelijkbare naam.

U kunt de syntaxis met ‘*’ (sterretje) gebruiken met JavaScript als het wordt gebruikt met de methode resolveNode.

Notatie

*

Voorbeeld

Met de volgende expressie worden bijvoorbeeld alle objecten met de naam item geselecteerd in een formulier:

xfa.form.form1.item[*]

Zoeken naar objecten die deel uitmaken van een subcontainer

Als u twee puntjes gebruikt, kunt u op een willekeurig punt in de verwijzingssyntaxis zoeken naar objecten die deel uitmaken van een subcontainer van het huidige containerobject, zoals een subformulier.

U kunt de syntaxis met ‘..’ U kunt de syntaxis met (twee puntjes) gebruiken met JavaScript als het wordt gebruikt met de methode resolveNode.

Notatie

..

Voorbeeld

De expressieSubform_Page..Subform2betekent: zoek het knooppuntSubform_Page(zoals gewoonlijk) en zoek een afstammeling vanSubform_Page met de naam Subform2.

Met de bovenstaande voorbeeldstructuur is

Subform_Page..TextField2

is gelijk aan

Subform_Page.Subform1[0].Subform3.TextField2[0]

omdat TextField2[0] zich in het eerste Subform1-knooppunt bevindt dat bij het zoeken door FormCalc wordt aangetroffen. Met een tweede voorbeeld:

Subform_Page..Subform3[*]

worden alle vier de objecten van Tekstveld2 geretourneerd.

Naar een naamloos object verwijzen of een eigenschap opgeven

Met het hekje (#) kunt u verwijzen naar een van de volgende items in een verwijzingssyntaxis:

  • Een naamloos object

  • Een eigenschap in een verwijzingssyntaxis opgeven, als een eigenschap en een object dezelfde naam hebben

U kunt de syntaxis met ‘#’ (hekje) gebruiken met JavaScript als het wordt gebruikt met de methode resolveNode.

Notatie

#

Voorbeeld

De volgende verwijzingssyntaxis geeft toegang tot een naamloos subformulier:

xfa.form.form1.#subformulier

De volgende verwijzingssyntaxis geeft toegang tot de eigenschap name van een subformulier, als het subformulier ook een veld bevat met de naam name:

xfa.form.form1.#subform.#name

Voorvalwaarde van een object

Met de rechte haken ([ ]) verwijst u naar de voorvalwaarde van een object.

In taalspecifieke formulieren voor Arabisch, Hebreeuws, Thais en Vietnamees bevindt de verwijzingssyntaxis zich altijd aan de rechterkant (zelfs voor talen die van rechts naar links worden geschreven).

Notatie

[ ]

Voorbeeld

Als u een verwijzing naar een voorvalwaarde wilt opnemen, plaatst u rechte haken ([ ]) achter de naam van een object en plaatst u een van de volgende waarden binnen de haken:

  • [ n ], waarbij n een absoluut voorvalindexnummer is dat begint bij 0. Als een voorvalwaarde wordt gebruikt die buiten het bereik valt, wordt geen waarde geretourneerd. Bijvoorbeeld,

    xfa.form.form1.#subform.Quantity[3]

    verwijst naar het vierde exemplaar van het object Quantity.

  • [ +/- n ], waarbij n naar een exemplaar verwijst dat voor of na het object valt dat de verwijzing maakt. Een positieve waarde geeft een hogere voorvalwaarde en een negatieve waarde geeft een lagere voorvalwaarde. Bijvoorbeeld,

    xfa.form.form1.#subform.Quantity[+2]

    Met deze verwijzing haalt u het exemplaar op van Quantity dat een indexnummer heeft dat twee hoger is dan het indexnummer van de container die de verwijzing maakt. Als deze verwijzing bijvoorbeeld is gekoppeld aan het object Quantity[2], is de verwijzing gelijk aan

    xfa.template.Quantity[4]

    Als het berekende indexnummer buiten het bereik valt, wordt een fout geretourneerd door de verwijzing.

    Deze syntaxis wordt het meest gebruikt om te zoeken naar het vorige of volgende exemplaar van een bepaald object. Zo kunt u voor elk exemplaar van het object Quantity (behalve het eerste) met Quantity[-1] de waarde van het vorige Quantity-object ophalen.

  • [*] verwijst naar meerdere exemplaren van een object. Het eerste genoemde object wordt gevonden en de objecten met dezelfde naam die gelijksoortige versies van het eerste object zijn, worden in het resultaat opgenomen. Met deze notatie wordt een verzameling objecten geretourneerd. Bijvoorbeeld,

    xfa.form.form1.#subform.Quantity[*]

  • Met deze expressie wordt verwezen naar alle objecten met de naam Quantity die gelijksoortige versies zijn van het eerste exemplaar van Quantity dat door de verwijzing wordt aangetroffen.

Met de verwijzingenstructuur worden de volgende objecten door deze expressies geretourneerd:

  • Met Subform_Page.Subform1[*] worden beide Subform1-objecten geretourneerd.

  • Met Subform_Page.Subform1.Subform3.TextField2[*] worden twee TextField2-objecten geretourneerd.Subform_Page.Subform1 resulteert in het eerste Subform1-object aan de linkerkant en TextField2[*] wordt verwerkt in relatie tot het object Subform3.

  • Met Subform_Page.Subform1[*].TextField1 worden beide TextField1-instanties geretourneerd.Subform_Page.Subform1[*] resulteert in beide Subform1-objecten en TextField1 wordt verwerkt in relatie tot de Subform1-objecten.

  • Met Subform_Page.Subform1[*].Subform3.TextField2[1] wordt het tweede en vierde TextField2-object vanaf de linkerkant geretourneerd.Subform_Page.Subform1[*] resulteert in beide Subform1-objecten en TextField2[1] wordt verwerkt in relatie tot de Subform3-objecten.

  • Met Subform_Page.Subform1[*].Subform3[*] worden beide instanties van het object Subform3 geretourneerd.

  • Subform_Page.Met * worden beide Subform1-objecten en het object Subform2 geretourneerd.

  • Subform_Page.Subform2.Met * worden de twee exemplaren van het object NumericField2 geretourneerd.

  • U kunt de syntaxis met ‘ [ ]’ (rechte haken) gebruiken met JavaScript als het wordt gebruikt met de methode resolveNode.