|
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 atualRefere-se ao campo ou objeto atual
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.dataRepresenta a raiz de um modelo de dados xfa.datasets.data.
Exemplo$data.purchaseOrder.total
equivale a
xfa.datasets.data.purchaseOrder.total
Evento de objeto de formulárioRepresenta o evento de objeto de formulário atual.
Raiz do modelo de formulárioRepresenta a raiz de um modelo de formulário xfa.form.
Exemplo $form.purchaseOrder.tax
equivale a declarar
xfa.form.purchaseOrder.tax
Objeto do hostRepresenta o objeto host.
Raiz do modelo de layoutRepresenta a raiz de um modelo de layout xfa.layout.
Exemplo$layout.ready
equivale a declarar
xfa.layout.ready
Conjunto de registros de dadosRepresenta o registro atual de uma coleta de dados, como a partir de um arquivo XML.
Exemplo$record.header.txtOrderedByCity
faz referência ao nó txtOrderedByCity dentro do nó header dos dados XML atuais.
Raiz do modeloRepresenta a raiz de um modelo xfa.template.
Exemplo$template.purchaseOrder.item
equivale a
xfa.template.purchaseOrder.item
Raiz do modelo de dados de xfa.datasetsRepresenta a raiz de um modelo de dados xfa.datasets.
Exemplo!data
equivale a
xfa.datasets.data
Selecionar todos os objetos de formulárioSeleciona 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.
ExemploPor 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.
ExemploA 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 propriedadeA notação numérica (#) é usada para indicar um dos seguintes itens de uma sintaxe de referência:
Você pode usar a sintaxe ‘#’ (sinal de número) com o JavaScript se for usado com o método resolveNode.
ExemploA 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 objetoA 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).
ExemploPara 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.
|
|
|