Mapeando Nós

É possível mapear nós de elemento e atributo do documento de origem para um documento de destino.

Antes de Iniciar

Sobre Esta Tarefa

As combinações de mapeamento a seguir são aceitáveis:
  • um atributo para um atributo
  • um atributo para um elemento
  • um elemento para um elemento
  • um elemento para um atributo
  • muitos nós para um nó
As instruções a seguir se aplicam à perspectiva Recurso, mas também funcionarão em várias outras perspectivas.

Para criar um mapeamento, conclua as seguintes etapas:

Procedimento

  1. Abra seu arquivo de mapeamento no editor de mapeamento XML.
  2. Selecione um ou mais elementos ou atributos no documento de origem. Utilize a tecla Ctrl para selecionar mais de um elemento ou atributo.
  3. Selecione um elemento ou atributo no documento de destino.
  4. Clique com o botão direito do mouse no documento de origem ou destino e clique em Criar Transformação. Os nós serão mapeados uns para os outros. Para especificar o tipo de transformação, clique na caixa de tipo de transformação entre os nós. É possível selecionar uma das opções a seguir:
    Opção Descrição
    Mover Esse tipo copia dados de uma origem para um destino.
    Concat Esse tipo cria uma concatenação de cadeia que permite recuperar dados de duas ou mais entidades para ligá-las em um único resultado.
    Mapa sequencial Esse tipo permite que o mapa efetue callout para outros mapas, mas outros mapas não podem chamá-lo. Somente pode ser utilizado dentro do mapa atual. Se as entradas e saídas forem matrizes, o mapa seqüencial é iterado implicitamente sobre as entradas.
    Submapa Esse tipo faz referência a outro mapa. Ele chama ou invoca um mapa a partir deste ou de outro arquivo de mapeamento. A escolha desse tipo de transformação é mais efetiva para fins de reutilização.
    Subcadeia Esse tipo extrai informações, conforme necessário. Por exemplo, a subcadeia lastname, firstname com um delimitador "," e um índice de subcadeia de 0 retorna o valor lastname. Se o índice da subcadeia fosse alterado para 1, agora a saída seria firstname.
    Grupo Esse tipo pega uma matriz ou coleta de dados e agrupa em uma coleta de uma coleta. Essencialmente, é uma matriz contendo uma matriz. O agrupamento é feito no nível do campo, o que significa que ele é feito selecionando um campo da coleção de entrada, tal como "departamento".
    Normalizar Esse tipo normaliza a cadeia de entrada. Ele pode ser utilizado, por exemplo, para remover ocorrências múltiplas de espaço em branco (como espaços, tabulações ou retornos).
    Customizada Esse tipo permite inserir código customizado ou chamar um código de referência para ser utilizado na transformação. É possível estender as funções de transformação incorporadas, utilizando as expressões XPath customizadas e os modelos XSLT.

Exemplo

Para remover um mapeamento, clique com o botão direito do mouse na conexão do mapeamento e selecione Excluir.

Mapeando para elementos com conteúdo vazio

O mapeamento para um elemento XML sem nenhum conteúdo (por exemplo, <Person/>) é diferente do mapeamento para um elemento XML que contém dados de caractere (por exemplo, <Person>Molly</Person>). No segundo caso, o mapeamento significa que os dados do nó de origem serão utilizados como dados de caractere para o elemento de destino. No entanto, no primeiro caso, o mapeamento não surte nenhum efeito sobre o XSLT que é gerado.

Em um DTD, um elemento sem nenhum conteúdo é especificado por meio do uso da palavra-chave 'EMPTY' (por exemplo, <!ELEMENT Person EMPTY>). Em um esquema XML, isso não é tão direto. Uma das maneiras sintaticamente compactas de se especificar um elemento de conteúdo vazio em um esquema XML é definir um tipo complexo sem nenhum conteúdo simples ou conteúdo complexo (por exemplo, <xsd:element name="Person"> <xsd:complexType/></xsd:element>). Isso é interpretado como uma abreviação para conteúdo complexo que restringe anyType.

O que Fazer Depois


Feedback