Atalhos da sintaxe de referência do FormCalc

Para facilitar o acesso às propriedades e aos valores do objeto, o FormCalc inclui atalhos para reduzir o esforço necessário para criar referências. Esta seção descreve os atalhos da sintaxe de referência para FormCalc.

Campo ou objeto atual

Refere-se ao campo ou objeto atual

Notação

$

Exemplo

$ = "Tony Blue"

O exemplo anterior define o valor do campo ou do objeto atual como Tony Blue.

Raiz do modelo de dados de xfa.datasets.data

Representa a raiz de um modelo de dados xfa.datasets.data.

Notação

$data

Exemplo

$data.purchaseOrder.total

equivale a

xfa.datasets.data.purchaseOrder.total

Evento de objeto de formulário

Representa o evento de objeto de formulário atual.

Notação

$event

Exemplo

$event.name

equivale a

xfa.event.name

Para obter mais informações, consulte Trabalhar com o modelo de evento.

Raiz do modelo de formulário

Representa a raiz de um modelo de formulário xfa.form.

Notação

$formulário

Exemplo

$form.purchaseOrder.tax

equivale a declarar

xfa.form.purchaseOrder.tax

Objeto do host

Representa o objeto host.

Notação

$host

Exemplo

$host.messageBox("Hello world")

equivale a

xfa.host.messageBox("Hello world")

Para obter mais informações, consulte Como trabalhar com um aplicativo host.

Raiz do modelo de layout

Representa a raiz de um modelo de layout xfa.layout.

Notação

$layout

Exemplo

$layout.ready

equivale a declarar

xfa.layout.ready

Conjunto de registros de dados

Representa o registro atual de uma coleta de dados, como a partir de um arquivo XML.

Notação

$record

Exemplo

$record.header.txtOrderedByCity

faz referência ao nó txtOrderedByCity dentro do nó header dos dados XML atuais.

Raiz do modelo

Representa a raiz de um modelo xfa.template.

Notação

$template

Exemplo

$template.purchaseOrder.item

equivale a

xfa.template.purchaseOrder.item

Raiz do modelo de dados de xfa.datasets

Representa a raiz de um modelo de dados xfa.datasets.

Notação

!

Exemplo

!data

equivale a

xfa.datasets.data

Selecionar todos os objetos de formulário

Seleciona todos os objetos de formulário dentro de um contêiner específico, como um subformulário, independentemente do nome, ou seleciona todos os objetos que tenham um nome semelhante.

Você pode usar a sintaxe ‘*’ (asterisco) com JavaScript se for usada com o método resolveNode.

Notação

*

Exemplo

Por exemplo, a seguinte expressão seleciona todos os objetos denominados item em um formulário:

xfa.form.form1.item[*]

Pesquisar objetos que sejam parte de um subcontêiner

É possível usar dois pontos em qualquer lugar da sintaxe de referência para procurar objetos que fazem parte de qualquer subcontêiner do objeto de contêiner atual, como um subformulário.

É possível usar a sintaxe ‘..’ sintaxe (dois pontos-finais) com JavaScript se usada com o método resolveNode.

Notação

..

Exemplo

A expressãoSubform_Page..Subform2significa localizar o nó Subform_Page(como de costume) e encontrar um descendente de Subform_Pagedenominado Subform2.

Usar a árvore de exemplo anterior,

Subform_Page..TextField2

equivale a

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

porque TextField2[0] está no primeiro nó Subform1 encontrado por FormCalc em uma pesquisa. Um segundo exemplo,

Subform_Page..Subform3[*]

retorna todos os quatro objetos TextField2.

Denotar um objeto sem nome ou especificar uma propriedade

A notação numérica (#) é usada para indicar um dos seguintes itens de uma sintaxe de referência:

  • Um objeto não nomeado

  • Especifique uma propriedade em uma sintaxe de referência se uma propriedade e um objeto tiverem o mesmo nome

Você pode usar a sintaxe ‘#’ (sinal de número) com o JavaScript se for usado com o método resolveNode.

Notação

#

Exemplo

A sintaxe de referência a seguir acessa um subformulário não nomeado:

xfa.form.form1.#subformulário

A sintaxe de referência a seguir acessa a propriedade name de um subformulário se o mesmo também contiver um campo denominado name:

xfa.form.form1.#subformulário.#name

Valor de ocorrência de um objeto

A notação de colchetes ([ ]) indica o valor de ocorrência de um objeto.

Em formulários específicos para os idiomas arábico, hebraico, tailandês e vietnamita, a sintaxe de referência está sempre à direita (mesmo para idiomas lidos da direita para a esquerda).

Notação

[ ]

Exemplo

Para construir uma referência de valor de ocorrência, coloque colchetes ([ ]) após o nome de um objeto e coloque um dos seguintes valores entre parênteses:

  • [ n ], em que n corresponde a um número absoluto de índice de ocorrência que começa em 0. Um número de ocorrência fora do intervalo não retorna um valor. Por exemplo,

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

    refere-se à quarta ocorrência do objeto Quantity.

  • [ +/- n ], em que n indica uma ocorrência relativa à ocorrência do objeto que faz a referência. Os valores positivos geram números de ocorrência mais altos e os valores negativos geram números de ocorrência mais baixos. Por exemplo,

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

    Essa referência gera a ocorrência de Quantity, cujo número de ocorrência é duas vezes maior que o número de ocorrência do contêiner que faz a referência. Por exemplo, se essa referência tivesse sido anexada ao objeto Quantity[2], a referência seria igual a

    xfa.template.Quantity[4]

    Se o número de índice calculado estiver fora do intervalo, a referência retornará um erro.

    Essa sintaxe é usada com mais frequência para localizar ocorrências anteriores ou posteriores de um objeto específico. Por exemplo, toda ocorrência do objeto Quantity (exceto a primeira) deve usar Quantity[-1] para obter o valor do objeto Quantity anterior.

  • [*] indica várias ocorrências de um objeto. O primeiro objeto nomeado é localizado, e os objetos com o mesmo nome, que são irmãos do primeiro, são retornados. Observe que essa notação é retornada em uma coleta de objetos. Por exemplo,

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

  • Essa expressão refere-se a todos os objetos com o nome Quantity que são irmãos da primeira ocorrência de Quantity encontrado pela referência.

Usando a árvore como referência, essas expressões retornam os seguintes objetos:

  • Subform_Page.Subform1[*] retorna os dois objetos Subform1.

  • Subform_Page.Subform1.Subform3.TextField2[*] etorna dois objetos TextField2.Subform_Page.Subform1 resolve o primeiro objeto Subform1 à esquerda e TextField2[*] avalia em relação ao objeto Subform3 .

  • Subform_Page.Subform1[*].TextField1 retorna as duas instâncias de TextField1.Subform_Page.Subform1[*] resolve os dois objetos Subform1 e TextField1 avalia em relação aos objetos Subform1 .

  • Subform_Page.Subform1[*].Subform3.TextField2[1] retorna o segundo e o quarto objetos TextField2 da esquerda.Subform_Page.Subform1[*] resolve os dois objetos Subform1 e TextField2[1] avalia em relação aos objetos Subform3 .

  • Subform_Page.Subform1[*].Subform3[*] retorna as duas instâncias do objeto Subform3.

  • Subform_Page.*retorna os dois objetos Subform1 e o objeto Subform2.

  • Subform_Page.Subform2.*retorna as duas instâncias do objeto NumericField2.

  • Você pode usar a sintaxe ‘ [ ]’ (colchetes) com o JavaScript se for usado com o método resolveNode.