Um para um

Repetição de Folha de Nível Único Simétrico

Nota: Os grupos de modelos não são repetidos nestes exemplos.
Origem:
Person
  FullName
  CreditCardNo[]
Destino:
Consumer
  Name
  Bill[]
Antes do mapeamento:
<Consumer>
Após o mapeamento: Etapa 1.
<Consumer>
  <Nome>
    <MapFrom>
  <Bill>
    <MapFrom>
Etapa 2.
<Consumer>
  <Nome>
    <MapFrom>
  <Bill>
    <MapFrom CreditCardNo>
Etapa 3.
<Consumer>
  <Nome>
    <MapFrom>
  <ForEach CreditCardNo>
    <Bill>
      <MapFrom CreditCardNo>
  1. Preencher
  2. MapFrom: MapFrom utiliza um FunctionCallExpression se CreditCardNo ou Bill (ou ambos) forem complexos.
  3. ForEach iniciando em CreditCardNo - Bill, localize o destino de repetição (Bill) e a origem de repetição (CreditCardNo), crie um ForEach-source como blockOpen para o destino.

Repetição de Folha para Não Repetição Assimétrica

Origem:
Person
  FullName
  CreditCardNo[]
Destino:
Consumer
  Name
  Liability
Antes do mapeamento:
<Consumer>
Após o mapeamento:
<Consumer>
  <Nome>
    <MapFrom>
  <ForEach CreditCardNo>
    <Qualify>
      <Condition occur(CreditCardNo)=1>
        <Liability>
          <MapFrom CreditCardNo>
  1. Preencher
  2. MapFrom: MapFrom utiliza um FunctionCallExpression se CreditCardNo ou Bill (ou ambos) forem complexos.
  3. Iniciando com CreditCardNo - Liability, sem repetição a partir de Liability e acima. Repetição de CreditCardNo não correspondida. Insira ForEach com Qualify. Invoque Accumulate para o total.

Não Repetição para Repetição de Folha Assimétrica

Origem:
Person
  FullName
  CreditCardNo
Destino:
Consumer
  Name
  Purchase[]
Antes do mapeamento:
<Consumer>
Após o mapeamento:
<Consumer>
  <Nome>
    <MapFrom>
  <Purchase>
    <MapFrom CreditCardNo>
  1. Preencher
  2. MapFrom: MapFrom utiliza um FunctionCallExpression se CreditCardNo ou Bill (ou ambos) forem complexos.
  3. Iniciando com comCreditCardNo - Purchase, Purchase é repetido, mas nenhuma repetição correspondente a partir de CreditCardNo e acima.
  4. Nenhum ForEach.

Repetição de Nível Único Simétrico

Origem:
Inventory
  Item[]
    ItemName
    ItemNumber    ItemPrice
Destino:
Armazém
  Product[]
    ProductID
    ProductName
    UnitPrice
Antes do mapeamento:
<Warehouse>
Após o mapeamento:
<Warehouse>
  <ForEach Item>
    <Product>
      <ProductID>
        <MapFrom>
      <ProductName>
        <MapFrom ItemName>
      <UnitPrice>
        <MapFrom>
  1. Iniciando em ItemName - ProductName.
  2. Product localizou repetição, suposto ForEach fica fora de Product.
  3. Item localizou repetição.
  4. Item torna-se a expressão de ForEach.
  5. Nota: os irmãos do destino mapeado terminam no mesmo ForEach.

Repetição de Nível Único Assimétrico

Origem:
Association
  Member[]
    Endereço
      PhoneNumber
               Rua      Cidade       Estado
Destino:
Phonebook
  Subscriber[]
    Name
    Number
Antes do mapeamento:
<Phonebook>
Após o mapeamento:
<PhoneBook>
  <ForEach Member>
    <Subscriber>
      <Nome>
        <MapFrom>
      <Number>
        <MapFrom PhoneNumber>
  1. Semelhante ao exemplo anterior.
  2. Iniciando em PhoneName - Number.
  3. ForEach fica fora do destino de repetição Subscriber.
  4. A expressão de ForEach é Member.

Níveis Assimétricos de Repetição Irregular (a)

Origem:
Companhia
    Departamento[]
        Emplyee[]
            Salary
            Bonus
Destino:
Empregador   Worker[]
    Compensation
Antes do mapeamento:
<Employer>
Após o mapeamento:
<Employee>
  <ForEach Department>
    <Qualify>
      <Condition occur(Department)=1>
        <ForEach Employee>
          <Worker>
            <Compensation>
              <MapFrom Salary>
  1. Repetição correspondida de Salary para Compensation, coloque-o em um ForEach.
  2. Impossível corresponder repetição de origem Department, portanto nenhum ForEach para ele.
  3. Nota: decisão arbitrária para avançar de dentro para fora. Se de fora para dentro, ocorrerá Qualify (Employee).

Níveis Assimétricos de Repetição Irregular (b)

Origem:
Empregador   Worker[]
    Compensation
Destino:
Companhia
  Departamento[]
    Emplyee[]
      Salary
      Bonus
Antes do mapeamento:
<Company>
Após o mapeamento:
<Company>
  <Department>
    <ForEach Worker>
      <Employee>
        <Salary>
          <MapFrom Compensation>
        <Bonus>
          <MapFrom>
  1. Repetição correspondida de Salary para Compensation.
  2. Coloque-a em um ForEach.
  3. Impossível corresponder repetição de destino Department, nenhum ForEach para ele.

Repetição de Nível Múltiplo Simétrico (a)

Origem:
Companhia
  Departamento[]
    Emplyee[]
      Salary
      Bonus
Destino:
University
  Faculty[]
    Professor[]
      Compensation
      Grant
Antes do mapeamento: Consulte a Nota 1:
<University
Consulte a Nota 2:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
Consulte a Nota 3:
<University>
  <ForEach Employee>
    <Faculty>
      <ForEach Department>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
Após o mapeamento: Consulte a Nota 1:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
Consulte a Nota 2:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom Bonus>
Consulte a Nota 3:
<University>
  <ForEach Employee> (antigo)
    <ForEach Department> (novo)
      <Faculty>
        <ForEach Department> (antigo)
          <ForEach Employee> (novo)
            <Professor>
              <Compensation>
                <MapFrom Salary>
              <Grant>
                <MapFrom Bonus>
  1. Forme pares de origem e de destino de repetição, iniciando em Salary - Compensation e subindo. Encontrados dois locais para ForEach, obtenha duas expressões para ForEach.
  2. Forme pares de origem e de destino de repetição, iniciando em Grant - Bonus e subindo. Encontrados dois locais para ForEach, obtenha duas expressões para ForEach. Em ambos os casos, exatamente o mesmo ForEach já se encontra no local. Não insira novos.
  3. Não foi possível localizar o ForEach esperado com a expressão esperada nos locais esperados. Insira ForEach como se não houvesse um. Limpe.

Repetição de Nível Múltiplo Simétrico (b)

Origem:
Organização
  Company[]
    Department[]
      Emplyee[]
        Salary
        Bonus
  CEO
Destino:
         País  University[]
    Princeple
    Faculty[]
      Professor[]
        Compensation
        Grant
Antes do mapeamento:
<Country>
  <ForEach Company>
    <University>
      <Principle>
        <MapFrom CEO>
      <Faculty>
        <MapFrom>
Após o mapeamento:
<Country>
  <ForEach Company>
    <University>
      <Principle>
        <MapFrom CEO>
      <ForEach Department>
        <Faculty>
          <ForEach Employee>
            <Professor>
              <Compensation>
                <MapFrom Salary>
              <Grant>
                <MapFrom>

Insira dois ForEaches, para o ForEach externo, e mantenha o existente.

Ascendente de Repetição Remota no Destino

Origem:
S  S1[]
    S2[]
      S3
  S4
Destino:
T
 T1 T2[]
    T3
      T4
         T5[]
           T6
Antes do mapeamento: Consulte a Nota 1:
<T>
  <T1>
    <MapFrom S4>
  <T2>
    <MapForm>
Consulte a Nota 2:
<T>
  <T1>
    <MapFrom S4>
  <T2>
    <T3>
      <T4>
        <T5>
          <T6>
            <MapForm>
Após o mapeamento:
<T>
  <T1>
    <MapFrom S4>
  <ForEach S1>
    <T2>
      <T3>
        <T4>
        <ForEach S2>
          <T5>
            <T6>
              <MapForm S3>
  1. Uma ramificação longa substitui duas instruções.
  2. Uma ramificação mais longa substitui uma ramificação longa existente.
Tarefas relacionadas
Desenvolvendo Mapeamentos de Mensagens
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2005 Última Atualização: 04/11/2005
ar25235_2_