Guia de Implementação › Especificações de configuração do conector › Seção InputFormatCollection
Seção InputFormatCollection
Esta seção especifica a estrutura dos dados recuperados da origem de dados, como uma linha de dados será dividida em campos e quais serão os tipos de campo e formatos. A filtragem inicial e a manipulação dos dados podem ser executadas nesta seção, usando-se InputFormatSwitch e os campos compostos, respectivamente.
O fluxo de trabalho geral desta seção é o seguinte:
- Uma linha de dados faz correspondência com um ou mais InputFormats.
- Os dados são distribuídos em campos, conforme correspondência com a especificação de InputFormat.
- Aos campos compostos são atribuídos valores por meio da combinação e da divisão de campos de dados.
- Os dados processados são verificados em relação às condições de TranslatorSwitch.
- Eles são enviados ao conversor correspondente ou são ignorados.
O nó InputFormatCollection pode conter um ou mais nós InputFormat.
Estrutura do XML:
<InputFormatCollection>
<InputFormat InputFormatName="MyInputFormat">
<InputFormatFields>
<InputFormatField Name="sid_id" Type="string"/>
<InputFormatField Name="content" Type="string"/>
<InputFormatField Name="date" Type="time"
TimeFormat="%d/%m/%Y %H:%M:%S"/>
<InputFormatField Name="server" Type="string"
Source="compound">
<Compound>
<Segment SourceField="content"
RegularExpression=".*Job server: ([^\n]+).*" />
</Compound>
</InputFormatField>
</InputFormatFields>
<TranslatorSwitch DefaultTranslator="GeoTranslator">
<TranslatorCase TranslatorName="NonGeoTranslator" Break="yes">
<Condition SourceField="routing_info" Operator="EQ"
Value="cnano"/>
</TranslatorCase>
</TranslatorSwitch>
</InputFormat>
</InputFormatCollection>
- InputFormat:
- InputFormatName - especifica um nome para este formato, a ser referenciado pela seção DataSourceInterface.
- RequiredFields (opcional) - especifica o número mínimo de campos que se espera encontrar em uma linha de dados. A linha que contiver menos campos será ignorada, e um erro é registrado no log.
- InputFormatFields - ele pode conter um ou mais nós de campo, de acordo com o número de campos de entrada na origem de dados.
- Compound - é necessário na presença de source=compound. Especifica que manipulações de campo sejam coletadas em um campo composto.
- Segment - especifica que uma manipulação de campo seja adicionada ao composto criado. Apenas o atributo SourceField é necessário.
- SourceField - especifica o campo usado como base. O campo referido já deve ter sido definido.
- RegularExpression - usado para manipular expressões regulares.
- MatchCase [yes/no] (opcional) - define se a expressão regular correspondente diferencia maiúsculas e minúsculas.
- SelectionStart - especifica a posição inicial da extração de texto, começando em 0.
- SelectionLength - define o tamanho do texto extraído.
- Prefix - especifica o texto a ser prefixado ao resultado da manipulação.
- Suffix - especifica o texto a ser sufixado ao resultado da manipulação.
- XpathExpression - usado para manipular expressões XPath.
- InputFormatSwitch - usado para especificar os critérios de formato quando há linhas de dados em mais de um formato.
Observação: ao usar InputFormatSwitch, a ordem dos nós de InputFormat é importante. InputFormat já deve ter sido definido.
DefaultInputFormat - especifica o nome do InputFormat para o qual rotear, caso não haja correspondência com nenhum critério.
- InputFormatCase - especifica o critério a ser testado em linhas de dados para determinar para qual InputFormat ele deve ser roteado.
- InputFormatName - especifica o InputFormat a ser usado quando há correspondência com o critério.
- LogicOperator [and/or] (opcional)
- and - especifica que é preciso fazer correspondência com todas as condições. (o padrão).
- or - especifica que ao menos uma condição deve ser atendida.
- Condition - especifica a condição a ser testada em uma linha de dados para determinar o formato.
SourceField - especifica o campo a ser testado.
Operator - especifica o tipo do teste. Temos as seguintes opções:
- EQ - igual a
- NE - não é igual a
- GT - maior que
- LT - menor que
- GE - maior ou igual a
- LE - menor ou igual a
- MATCH - especifica a correspondência com uma expressão regular
- UNMATCH - especifica que não será feita correspondência com uma expressão regular
ValueType [constant/field/previousValue] (opcional) -
- constant - o conteúdo do atributo Value é constante, independentemente dos dados da origem.
- field - o conteúdo do atributo Value é o nome do campo proveniente do mesmo registro.
- previousValue - o conteúdo do atributo Value é o nome do campo proveniente do registro anterior na mesma consulta e com o mesmo formato de entrada.
Value - especifica o valor ou expressão regular com os quais fazer correspondência.
MatchCase [yes/no] (opcional) - define se o teste deve diferenciar maiúsculas e minúsculas. Quando definido como "yes", os dois valores são convertidos em minúsculas antes do teste.
- TranslatorSwitch - determina qual conversor usar para converter a linha de dados em um evento unificado do CA Business Service Insight.
- DefaultTranslator - especifica o conversor a ser usado caso não haja correspondência com nenhum critério. Se o valor for Ignore, nenhum conversor será usado, e a linha é ignorada.
- TranslatorCase - especifica o critério a ser testado em dados processados para determinar para qual conversor ele deve ser roteado.
Break [yes|no]
yes - (padrão) se houver correspondência com os critérios, o próximo critério não é marcado.
no - em todos os casos, após avaliar os critérios e operar o conversor, se houver correspondência, prossegue-se para o próximo critério.
LogicOperator [and/or] (opcional)
- and - especifica que é preciso fazer correspondência com todas as condições. (o padrão).
- or - especifica que ao menos uma condição deve ser atendida.
TranslatorName - especifica o conversor para o qual redirecionar, caso as condições sejam atendidas.
Condition - especifica a condição a ser testada em dados processados para determinar o conversor relevante. Equivale à condição em InputFormatSwitch.