Especificando Campos e Registros Opcionais

Sobre Esta Tarefa

Ao criar campos ou registros opcionais em um Esquema de Arquivo Simples, é importante entender como os dados de Arquivo Simples são analisados, para que você possa projetar seu esquema de Arquivo Simples de modo a evitar ambiguidade. Por exemplo, se você criar um Esquema de Arquivo Simples com um nó-raiz delimitado e três campos de cadeia filhos, em que field1 é necessário, field2 é opcional e field3 é necessário, a gramática do esquema será ambígua, conforme mostrado, quando os seguintes dados forem analisados durante o tempo de execução:

A,C

Estes dados de Arquivo Simples podem ser analisados das duas maneiras a seguir:
  • field1 é igual a A e field2 é igual a B
  • field1 é igual a A e field3 é igual a C

A especificação de um campo necessário após um campo opcional define uma gramática ambígua que não pode ser analisada corretamente. A especificação de um registro necessário após um campo opcional também define uma gramática ambígua que não pode ser analisada corretamente.

A redefinição deste Esquema de Arquivo Simples para conter três campos de sequência filhos em que field1 é necessário, field2 é opcional e field3 é opcional não corrige este problema porque, quando os dados do Arquivo Simples: A,C são analisados, field1 é igual a A e field2 é igual a C. Novamente, a gramática do esquema é ambígua porque este não é o resultado desejado, o resultado desejado era que o valor: C fosse designado a field3. A especificação de um registro necessário, seguido por dois registros opcionais, também define uma gramática ambígua.




Feedback | notices