Dicionários de dados

Última atualização em 2023-12-07

Introdução

Um dicionário de dados permite que os usuários empresariais usem informações de fontes de dados de back-end sem conhecer detalhes técnicos sobre seus modelos de dados subjacentes. Um dicionário de dados é composto de elementos do dicionário de dados (DDEs). Você usa esses elementos de dados para integrar dados de back-end às cartas como entrada para uso em uma correspondência com o cliente.

Um dicionário de dados é uma representação independente de metadados que descreve as estruturas de dados subjacentes e seus atributos associados. Um dicionário de dados é criado usando o vocabulário empresarial. Ele pode ser mapeado para um ou mais modelos de dados subjacentes.

O dicionário de dados é composto de elementos de três tipos: Simples, Composto e Elementos de coleção. DDEs simples são elementos primitivos, como sequências, números, datas e valores booleanos que armazenam informações como o nome de uma cidade. Um DDE composto contém outros DDEs, que podem ser do tipo primitivo, composto ou coleção. Por exemplo, um endereço, que consiste em um endereço de rua, cidade, província, país e código postal. Uma coleção é uma lista de DDEs simples ou compostos semelhantes. Por exemplo, um cliente com vários locais ou endereços de cobrança e entrega diferentes.

O Gerenciamento de correspondência usa os dados específicos do back-end, cliente ou destinatário armazenados de acordo com a estrutura do dicionário de dados para criar correspondência destinada a clientes diferentes. Por exemplo, um documento pode ser criado com nomes amigáveis, como "Prezado(a) {Nome}","Sr. {Last Name}".

Normalmente, os usuários empresariais não exigem conhecimento de representações de metadados, como XSD (esquema XML) e classes Java. No entanto, geralmente exigem acesso a essas estruturas de dados e atributos para criar soluções.

Fluxo de trabalho do Dicionário de dados

  1. Um autor cria o dicionário de dados fazendo upload de um esquema ou do zero.
  2. O Autor cria cartas e Comunicações interativas com base no dicionário de dados e associa os elementos do dicionário de dados em cartas e Comunicações interativas sempre que necessário.
  3. Um autor pode baixar um arquivo XML de dados de amostra, que se baseia no esquema de um dicionário de dados. O autor pode modificar o arquivo XML de dados de amostra, que pode ser associado como dados de teste ao dicionário de dados. O mesmo é usado durante a pré-visualização de cartas.
  4. Enquanto pré-visualização de uma carta, um Autor escolhe visualizar a carta com dados (Visualização personalizada). A carta é aberta pré-preenchida com os dados fornecidos pelo Autor. Isso é aberto na interface criar correspondência. O agente que está visualizando esta carta pode modificar o conteúdo, os dados e os anexos nesta carta e pode enviar a carta final. Para obter mais informações sobre a criação de cartas, consulte Criar correspondência.

Pré-requisitos

Instale o Pacote de compatibilidade para exibir o Dicionários de dados opção no Forms página.

Criar um dicionário de dados

Você usa o Editor de dicionário de dados para criar um dicionário de dados ou pode fazer upload de um arquivo de esquema XSD para criar um dicionário de dados com base nele. É possível estender o dicionário de dados adicionando mais informações necessárias, incluindo campos. Independentemente de como o dicionário de dados foi criado, o proprietário do processo de negócios não precisa ter conhecimento dos sistemas back-end. O proprietário do processo de negócios precisa apenas do conhecimento dos objetos de domínio e de suas definições para o processo.

OBSERVAÇÃO

Para várias correspondências que exigem elementos semelhantes, é possível criar um dicionário de dados comum. No entanto, um grande dicionário de dados com um grande número de elementos pode causar problemas de desempenho ao usar o dicionário de dados e carregar os elementos, como em cartas e fragmentos de documentos. Se você tiver problemas de desempenho, tente criar dicionários de dados separados para cartas diferentes.

  1. Selecionar Forms > Dicionários de dados.

  2. Selecionar Criar dicionário de dados.

  3. Na tela Propriedades, adicione o seguinte:

    • Título: (Opcional) Insira o título do dicionário de dados. O título não precisa ser exclusivo e pode ter caracteres especiais e caracteres que não estejam em inglês. Cartas e outros fragmentos de documentos são referenciados com seu título (quando disponível), como em miniaturas e propriedades de ativos. Os dicionários de dados são referenciados com seus nomes e não títulos.

    • Nome: O nome exclusivo do dicionário de dados. No campo Nome, você pode inserir apenas caracteres, números e hifens do idioma inglês. O campo Nome é preenchido automaticamente com base no campo Título e os caracteres especiais, espaços, números e caracteres que não estão em inglês inseridos no campo Título são substituídos por hifens. Embora o valor no campo Título seja copiado automaticamente para o Nome, você pode editar o valor.

    • Descrição: (Opcional) Descrição do dicionário de dados.

    • Tags: (Opcional) Para criar uma tag personalizada, insira o valor no campo de texto e pressione Enter. Você pode ver sua tag abaixo do campo de texto das tags. Quando você salva esse texto, as tags recém-adicionadas também são criadas.

    • Propriedades estendidas: (Opcional) Selecione Adicionar campo para especificar atributos de metadados para o seu dicionário de dados. Na coluna Nome da propriedade, digite um nome de propriedade exclusivo. Na coluna Valor, insira um valor para associar à propriedade.

    Propriedades do dicionário de dados especificadas em alemão

  4. (Opcional) Para fazer upload de uma definição de esquema XSD para o seu dicionário de dados, no painel Estrutura do dicionário de dados, selecione Fazer upload do esquema XML. Navegue até o arquivo XSD, selecione-o e Abertura. Um dicionário de dados é criado com base no esquema XML carregado. Você precisa ajustar os nomes de exibição e as descrições dos elementos no dicionário de dados. Para fazer isso, selecione os nomes dos elementos tocando neles e edite suas descrições, nomes de exibição e outros detalhes nos campos no painel direito.

    Para obter mais informações sobre Elementos de DD Calculados, consulte Elementos do dicionário de dados computados.

    OBSERVAÇÃO

    Você pode ignorar o upload do arquivo de esquema e criar seu dicionário de dados do zero usando a interface do usuário do. Para fazer isso, pule esta etapa e continue com as próximas etapas.

  5. Selecione Próximo.

  6. Na tela Adicionar propriedades, adicione os elementos ao dicionário de dados. Também é possível adicionar/excluir elementos e editar seus detalhes se você tiver carregado um esquema para obter uma estrutura básica do dicionário de dados.

    Você pode selecionar os três pontos no lado direito de um elemento e adicionar um elemento à estrutura do dicionário de dados.

    1_2_createanelement

    Selecione Elemento Composto, Elemento de Coleta ou Elemento Primitivo.

    • Um DDE composto contém outros DDEs, que podem ser do tipo primitivo, composto ou coleção. Por exemplo, um endereço, que consiste em um endereço de rua, cidade, província, país e código postal.
    • Os DDEs primitivos são elementos, como sequências, números, datas e valores booleanos que contêm informações, como um nome de cidade.
    • Uma coleção é uma lista de DDEs simples ou compostos semelhantes. Por exemplo, um cliente com vários locais ou endereços de cobrança e entrega diferentes.

    Veja a seguir algumas regras para criar um dicionário de dados:

    • Somente o tipo composto é permitido como DDE de nível superior em um dicionário de dados.
    • Nome, nome de referência e tipo de elemento são campos obrigatórios para um dicionário de dados e DDEs.
    • O nome da referência deve ser exclusivo.
    • Um DDE pai (composto) não pode ter dois filhos com o mesmo nome.
    • Enumerações contêm apenas tipos de String primitivos.

    Para obter mais informações sobre os elementos Composto, Coleção e Primitivo e trabalhar com elementos do dicionário de dados, consulte Mapeando elementos do dicionário de dados para o esquema XML.

    Para obter informações sobre validações no Dicionário de dados, consulte Validações do Editor do dicionário de dados.

    2_addddpropertiesbasic

  7. (Opcional) Depois de selecionar um elemento, na guia Avançado você pode adicionar propriedades (atributos). Também é possível selecionar Adicionar campo e estenda as propriedades de um elemento DD.

    3_addddpropertiesadvanced

  8. (Opcional) Você pode remover qualquer elemento tocando nos três pontos no lado direito de um elemento e selecionando Excluir.

    4_deleteelement

    OBSERVAÇÃO

    A exclusão de um elemento composto/de coleção com nós filhos também exclui seus nós filhos.

  9. (Opcional) Selecione um elemento no painel Estrutura do dicionário de dados e no painel Lista de campos e variáveis. Altere ou adicione atributos necessários associados ao elemento.

  10. Selecione Salvar.

Criar cópias de um ou mais dicionários de dados

Para criar rapidamente um ou mais dicionários de dados com propriedades e elementos semelhantes aos dicionários de dados existentes, você pode copiá-los e colá-los.

  1. Na lista de dicionários de dados, selecione os dicionários de dados apropriados. A interface do usuário do exibe o ícone Copiar.
  2. Selecione Copiar. A interface exibe o ícone Colar.
  3. Selecione Colar. A caixa de diálogo Colar é exibida. O sistema atribui automaticamente nomes e títulos aos novos dicionários de dados.
  4. Se necessário, edite o Título e o Nome com os quais deseja salvar a cópia do dicionário de dados.
  5. Selecione Colar. A cópia do dicionário de dados é criada. Agora você pode fazer as alterações necessárias no dicionário de dados recém-criado.

Consulte os fragmentos ou documentos do documento que se referem a um elemento do Dicionário de dados

Ao editar ou exibir um dicionário de dados, você pode ver quais elementos do dicionário de dados são referenciados em quais Textos, Condições, Letras e Comunicações interativas.

  1. Siga um destes procedimentos para editar o dicionário de dados:

    • Passe o mouse sobre um dicionário de dados e selecione Editar.
    • Selecione um dicionário de dados e, em seguida, selecione Editar no cabeçalho.
    • Passe o mouse sobre um dicionário de dados e selecione Selecionar. Em seguida, selecione Editar no cabeçalho.

    Ou selecione em um dicionário de dados para visualizá-lo.

  2. No dicionário de dados, selecione um elemento simples para selecioná-lo. Elementos compostos e de coleção não têm referências.

    Juntamente com as propriedades Básicas e Avançadas do elemento, o Conteúdo Emprestado também é exibido.

  3. Selecione Conteúdo Emprestado.

    A guia Conteúdo Emprestado é exibida com o seguinte: Textos, Condições, Cartas e Comunicações interativas. Cada um desses cabeçalhos também exibe o número de referências ao elemento selecionado.

  4. Selecione um cabeçalho para ver o nome dos ativos que se referem ao elemento.

    lentcontent

  5. Para exibir o conteúdo concedido de outro elemento, selecione o elemento.

  6. Para exibir um ativo que se refere ao elemento, selecione no nome. O navegador exibe o ativo, a carta ou a Comunicação interativa.

Trabalho com dados de teste

  1. Na página Dicionários de dados, selecione Selecionar.

  2. Selecione um dicionário de dados para o qual deseja baixar dados de teste e selecione Baixar dados de amostra XML.

  3. Selecionar OK na mensagem de alerta. Um arquivo XML é baixado.

  4. Abra o arquivo XML com o Bloco de notas ou outro editor XML. O arquivo XML tem a mesma estrutura que o dicionário de dados e as strings de espaço reservado nos elementos. Substitua as cadeias de caracteres de espaço reservado pelos dados com os quais deseja testar uma letra.

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <Company>
    <Name>string</Name>
    <Type>string</Type>
    <HeadOfficeAddress>
    <Street>string</Street>
    <City>string</City>
    <State>string</State>
    <Zip>string</Zip>
    </HeadOfficeAddress>
    <SalesOfficeAddress>
    <Street>string</Street>
    <City>string</City>
    <State>string</State>
    <Zip>string</Zip>
    </SalesOfficeAddress>
    <HeadCount>1.0</HeadCount>
    <CEO>
    <PersonName>
    <FirstName>string</FirstName>
    <MiddleName>string</MiddleName>
    <LastName>string</LastName>
    </PersonName>
    <DOB>string</DOB>
    <CurrAddress>
    <Street>string</Street>
    <City>string</City>
    <State>string</State>
    <Zip>string</Zip>
    </CurrAddress>
    <DOJ>14-04-1973</DOJ>
    <Phone>1.0</Phone>
    </CEO>
    </Company>
    
    OBSERVAÇÃO

    Neste exemplo, o XML cria espaço para três valores para um elemento de coleção, mas o número de valores pode ser aumentado/diminuído de acordo com o requisito.

  5. Depois de fazer as entradas de dados, você pode usar esse arquivo XML ao visualizar uma correspondência com dados de teste.

    Você pode adicionar esses dados de teste com DD (selecione DD e selecione Fazer upload de dados de teste e fazer upload deste arquivo xml). Assim, depois disso, quando você visualiza a correspondência normalmente (não personalizada), esses dados XML são usados na correspondência. Você também pode selecionar Personalizado e fazer upload desse XML.

Amostras

Os exemplos de código a seguir mostram os detalhes de implementação do Dicionário de dados.

Exemplo de esquema que pode ser carregado no dicionário de dados

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="DCT" targetNamespace="DCT" xmlns:xs="https://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="Company">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name" type="xs:string"/>
        <xs:element name="Type" type="xs:anySimpleType"/>
        <xs:element name="HeadOfficeAddress" type="Address"/>
        <xs:element name="SalesOfficeAddress" type="Address" minOccurs="0"/>
        <xs:element name="HeadCount" type="xs:integer"/>
        <xs:element name="CEO" type="Employee"/>
        <xs:element name="Workers" type="Employee" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="Employee">
    <xs:complexContent>
      <xs:extension  base="Person">
        <xs:sequence>
          <xs:element name="CurrAddress" type="Address"/>
          <xs:element name="DOJ" type="xs:date"/>
          <xs:element name="Phone" type="xs:integer"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Person">
    <xs:sequence>
      <xs:element name="PersonName" type="Name"/>
      <xs:element name="DOB" type="xs:dateTime"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Name">
    <xs:sequence>
      <xs:element name="FirstName" type="xs:string"/>
      <xs:element name="MiddleName" type="xs:string"/>
      <xs:element name="LastName" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element name="Street" type="xs:string"/>
      <xs:element name="City" type="xs:string"/>
      <xs:element name="State" type="xs:string"/>
      <xs:element name="Zip" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

Atributos comuns associados a um DDE

A tabela a seguir detalha os atributos comuns associados a um DDE:

Atributo Tipo Descrição
Nome String Obrigatório.
Nome do DDE. Ele deve ser exclusivo.
Referência
Nome
String Obrigatório. Nome de referência exclusivo para o DDE, permitindo referências ao DDE que são independentes de alterações na hierarquia ou na estrutura do dicionário de dados. Os módulos de texto são mapeados usando este nome
displayname String Um nome amigável opcional do DDE.
descrição String Descrição do DDE.
elementType String Obrigatório. O tipo de DDE: STRING, NUMBER, DATE, Boolean, COMPOSITE, COLLECTION.
elementSubType String O subtipo para DDE: ENUM. Permitido somente para STRING e NUMBER elementType.
Chave Booleano Um campo booleano para indicar se um DDE é um elemento principal.
Computado Booleano Um campo booleano para indicar se um DDE é calculado. Um valor DDE calculado é uma função de outros valores DDE. Por padrão, expressões jsp são suportadas.
expressão String A expressão para o DDE "calculado". O serviço de avaliação de expressão enviado por padrão oferece suporte a expressões JSP EL. Você pode substituir o serviço de expressão por uma implementação personalizada.
valueSet Lista Um conjunto de valores permitidos para um DDE do tipo Enum. Por exemplo, o tipo de conta pode ter somente valores (Salvando, Atual).
extendedProperties Objeto Um Mapa de propriedades personalizadas adicionado ao DDE (específico da interface do usuário ou qualquer outra informação).
Obrigatório Booleano O sinalizador indica que a origem dos dados da instância correspondentes ao dicionário de dados deve conter o valor desse DDE específico.
Vínculo BindingElement A vinculação XML ou Java do elemento.

Elementos do dicionário de dados computados

Um dicionário de dados também pode incluir elementos calculados. Um elemento do dicionário de dados calculado é sempre associado a uma expressão. Essa expressão é avaliada para obter o valor de um elemento do dicionário de dados no tempo de execução. Um valor DDE calculado é uma função de outros valores ou literais DDE. Por padrão, as expressões JSP Expression Language (EL) são suportadas. As expressões EL usam os caracteres ${ } e as expressões válidas podem incluir literais, operadores, variáveis (referências a elementos do dicionário de dados) e chamadas de função. Ao fazer referência a um elemento do dicionário de dados na expressão, o nome de referência do DDE é usado. O nome de referência é exclusivo para cada elemento do dicionário de dados em um dicionário de dados.

Um PersonFullName DDE calculado pode ser associado a uma expressão de concatenação EL, como ${PersonFirstName} ${PersonLastName}.

Mapeamento de tipo de dados entre XSD e dicionário de dados

A exportação de um XSD requer um mapeamento de dados específico, que é detalhado na tabela a seguir. A coluna DDI indica o tipo do valor DDE como disponível no DDI.

XSD

Dicionário de dados

DDI (Tipo de Dados de Valor da Instância)

xs:elemento do tipo - Tipo composto

DDE de tipo - COMPOSITE

java.util.Map

xs:element onde maxOccurs > 1

DDE de tipo - COLEÇÃO-
Um nó DDE é criado ao lado do DDE COLEÇÃO que captura informações do nó COLEÇÃO pai. O mesmo é criado para ambas as coleções de tipos de dados simples/composto. Sempre que você tem uma COLEÇÃO do tipo composto, a árvore do Dicionário de dados captura os campos constituintes nos filhos do DDE criado para capturar informações do tipo.
- DDE (COLEÇÃO)
- DDE(COMPOSITE para informações de tipo)
- Campo DDE(STRING)1
- Campo DDE(STRING) 2

java.util.List
Atributo do tipo - xs:id

DDE de tipo - STRING
java.lang.String
xs:attribute /xs:element of type - xs:string

DDE de tipo - STRING
java.lang.String
xs:attribute /xs:element of type - xs: boolean
DDE de tipo - Booleano
java.lang.Boolean
xs:attribute /xs:element of type - xs:date DDE de tipo - DATE java.lang.String
xs:attribute /xs:element of type - xs:integer DDE de tipo - NÚMERO java.lang.Double
xs:attribute /xs:element of type - xs:long DDE de tipo - NÚMERO java.lang.Double
xs:attribute /xs:element of type - xs:double DDE de tipo - NÚMERO java.lang.Double
Elemento do tipo enum e baseType - xs:string DDE de
type - STRING
subtipo - ENUM
valueSet - os valores permitidos para ENUM
java.lang.String

Baixar um arquivo de dados de amostra de um dicionário de dados

Depois de criar um dicionário de dados, você pode baixá-lo como um arquivo de dados de amostra XML para fazer entradas de texto nele.

  1. Na página Dicionários de dados, selecione Selecionar e, em seguida, selecione um dicionário de dados para selecioná-lo.

  2. Selecionar Baixar dados de amostra XML.

  3. Selecionar OK na mensagem de alerta.

    O Gerenciamento de correspondências cria um arquivo XML com base na estrutura do dicionário de dados selecionado e faz o download desse arquivo para seu computador com o nome <data-dictionary-name>-Dados de amostra. Agora é possível editar esse arquivo em um editor de texto ou XML para fazer entradas de dados enquanto criação de uma carta.

Internacionalização de metadados

Quando quiser enviar a mesma carta em idiomas diferentes para os clientes, você poderá localizar o nome de exibição, a descrição e os conjuntos de valores de enumeração do Dicionário de dados e dos Elementos do dicionário de dados.

Localizar dicionário de dados

  1. Na página Dicionários de dados, selecione Selecionar e, em seguida, selecione um dicionário de dados para selecioná-lo.

  2. Selecionar Baixar dados de localização.

  3. Selecionar OK no alerta. O Gerenciamento de correspondências baixa um arquivo zip para seu computador com o nome DataDictionary-<ddname>.zip.

  4. O arquivo Zip contém um arquivo .properties. Esse arquivo define o dicionário de dados baixado. O conteúdo do arquivo de propriedade é semelhante ao seguinte:

    #Wed May 20 16:06:23 BST 2015
    DataDictionary.EmployeeDD.description=
    DataDictionary.EmployeeDD.displayName=EmployeeDataDictionary
    DataDictionaryElement.name.description=
    DataDictionaryElement.name.displayName=name
    DataDictionaryElement.person.description=
    DataDictionaryElement.person.displayName=person
    

    A estrutura do arquivo de propriedades define uma linha para cada descrição e o nome de exibição do dicionário de dados, bem como cada elemento do dicionário de dados. Além disso, o arquivo de propriedades define uma linha para um valor de enumeração definido para cada elemento do dicionário de dados. Assim como em um dicionário de dados, o arquivo de propriedades correspondente pode ter várias definições de elementos do dicionário de dados. Além disso, o arquivo pode conter as definições de um ou mais conjuntos de valores de enumeração.

  5. Para atualizar o arquivo .properties em um local diferente, atualize o nome de exibição e os valores de descrição no arquivo. Crie mais instâncias do arquivo para cada idioma que você deseja traduzir. Somente os idiomas francês, alemão, japonês e inglês são suportados.

  6. Salve os diferentes arquivos de propriedades atualizados com os seguintes nomes:

    _fr_FR.properties Francês

    _de_DE.properties Alemão

    _ja_JA.properties Japonês

    _en_EN.properties Inglês

  7. Arquive o arquivo .properties (ou arquivos para várias localidades) em um único arquivo .zip.

  8. Na página Dicionários de dados, selecione Mais > Carregar dados de localização e selecione o arquivo zip com os arquivos de propriedades localizados.

  9. Para exibir as alterações de localização, altere o local do navegador.

Validações do dicionário de dados

O Editor do dicionário de dados aplica as seguintes validações ao criar ou atualizar um dicionário de dados.

  • Somente o tipo composto é permitido como Elemento de nível superior em um dicionário de dados.
  • Elementos compostos e de coleção não são permitidos no nível folha. Somente elementos Primitivos (String, Date, Number, Boolean) são permitidos no nível folha. Essa validação garante que não haja nenhum elemento composto e de coleção sem um DDE filho.
  • Ao fazer upload de um arquivo XSD para criar um dicionário de dados, o Editor do dicionário de dados solicita um elemento de nível superior, se houver vários, para criar o dicionário de dados.
  • O nome é o único parâmetro necessário para um dicionário de dados.
  • Um DDE pai (composto) não pode ter dois filhos com o mesmo nome
  • Garante que um DDE seja marcado como computado, somente se não for um parâmetro obrigatório. Um elemento necessário não pode ser calculado e um elemento calculado não pode ser necessário. Além disso, a coleção e o elemento composto não podem ser elementos computados.
  • Garante que um DDE seja marcado como obrigatório, somente quando não for calculado. Também garante que não seja o "collectionElement" que indica o tipo de Coleção (que são os únicos filhos de um Elemento de coleção).
  • Chaves vazias ou chaves duplicadas não são permitidas em extendedProperties para um dicionário de dados ou DDE.
  • Não use os caracteres dois pontos (:) ou barra vertical (|) dentro da chave ou valor de uma propriedade estendida. Não há validação para o uso desses caracteres proibidos.

Validações aplicadas no nível do dicionário de dados

  • O nome do dicionário de dados não deve ser nulo.
  • O nome do dicionário de dados deve conter apenas caracteres alfanuméricos.
  • A lista de elementos secundários no Dicionário de Dados não deve ser nula ou vazia.
  • O dicionário de dados não deve conter mais de um elemento de dicionário de dados de nível superior.
  • Somente o tipo composto é permitido como Elemento de nível superior em um Dicionário de dados.

Validações aplicadas no Nível do Elemento do Dicionário de Dados.

  • Todos os nomes DDE não devem ser nulos e não devem conter espaços.
  • Todos os DDEs devem ter um tipo de elemento "não nulo/não nulo".
  • Todos os nomes de referência DDE não devem ser nulos.
  • Todos os nomes de referência DDE devem ser exclusivos.
  • Todas as referências DDE devem conter apenas caracteres alfanuméricos e "_".
  • Todos os nomes de exibição DDE devem conter apenas caracteres alfanuméricos e "_".
  • Elementos compostos e de coleção não são permitidos no nível folha. Somente elementos Primitivos (String, Date, Number, Boolean) são permitidos no nível folha. Essa validação garante que não haja nenhum elemento composto e de coleção sem um DDE filho.
  • Um DDE pai composto não deve ter dois elementos filho com o mesmo nome.
  • O subtipo ENUM é usado apenas para elementos String e Number.
  • Os elementos Collection e Composite não podem ser computados.
  • Um DDE não pode ser computado e necessário ao mesmo tempo.
  • DDEs computados devem conter uma expressão válida.
  • DDEs computados não devem ter vínculo XML.
  • Um DDE que denota o tipo de um DDE de coleção não pode ser calculado ou exigido.
  • DDEs do subtipo ENUM não devem conter conjuntos de valores nulos ou vazios.
  • A associação XML de um DDE de coleção não deve mapear para um atributo.
  • A sintaxe da vinculação XML deve ser válida; por exemplo, somente um @ é exibido, o @ só é permitido quando seguido por um nome de atributo.

Mapeamento de elementos do dicionário de dados para o esquema XML

Você pode criar um dicionário de dados a partir de um esquema XML ou criá-lo usando a interface do usuário do dicionário de dados. Todos os elementos do dicionário de dados (DDEs) em um dicionário de dados têm um campo Ligação XML para armazenar a ligação do DDE a um elemento no esquema XML. A vinculação em cada DDE é relativa ao DDE principal.

Os seguintes modelos de amostra de detalhes e amostras de código que mostram detalhes de implementação do Dicionário de dados.

Mapeamento de elementos simples (primitivos)

Um DDE primitivo representa um campo ou atributo que é de natureza atômica. DDEs primitivos definidos fora do escopo de um tipo complexo (DDE composto) ou um elemento repetitivo (DDE coleção) podem ser armazenados em qualquer local dentro do Esquema XML. A localização dos dados correspondentes a um DDE primitivo não depende do mapeamento de seu DDE pai. O DDE primitivo usa as informações de mapeamento do campo Vinculação XML para determinar seu valor e os mapeamentos são traduzidos em um dos seguintes:

  • um atributo
  • um elemento
  • um contexto de texto
  • nada (um DDE ignorado)

O exemplo a seguir mostra um schema simples.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema">
  <xs:element name='age' type='integer'/>
  <xs:element name='price' type='decimal'/>
</xs:schema>
Elemento do dicionário de dados Vínculo XML padrão
idade /age
preço /price

Mapeamento de elementos compostos

A associação não é suportada para elementos Composite; se a associação for fornecida, ela será ignorada. A ligação para todos os DDEs filho constituintes do tipo primitivo deve ser absoluta. Permitir o mapeamento absoluto para elementos filhos de um DDE composto fornece mais flexibilidade em termos de XPath Binding. Mapear um DDE composto para um elemento de tipo complexo no esquema XML limita o escopo de vinculação para seus elementos filhos.

O exemplo a seguir mostra o schema para uma observação.

<xs:element name="note">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="to" type="xs:string"/>
            <xs:element name="from" type="xs:string"/>
            <xs:element name="heading" type="xs:string"/>
            <xs:element name="body" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>
Elemento do dicionário de dados Vínculo XML padrão
observação vazio (nulo)
para /note/to
de /note/from
cabeçalho /note/header
corpo /note/body

Mapeando Elementos de Coleta

Um elemento de coleção só é mapeado para outro elemento de coleção com cardinalidade > 1. Os DDEs filhos de um DDE de coleção têm uma Ligação XML relativa (local) em relação à Ligação XML do pai. Como os DDEs filhos de um elemento de coleção devem ter a mesma cardinalidade que o pai, a associação relativa é exigida para garantir a restrição de cardinalidade para que os DDEs filhos não apontem para um elemento de Esquema XML não repetitivo. No exemplo abaixo, a cardinalidade de "TokenID" deve ser igual a "Tokens", que é a coleção principal DDE.

Ao mapear um DDE de coleção para um elemento do esquema XML:

  • o vínculo para o DDE correspondente ao elemento Collection deve ser o XPath absoluto

  • Não forneça nenhuma vinculação para o DDE que representa o tipo de elemento Collection. Se fornecido, a vinculação será ignorada.

  • A associação para todos os DDEs filhos do elemento Collection deve ser relativa ao elemento Collection pai.

O Esquema XML abaixo declara um elemento com o nome Tokens e um atributo maxOccurs de "unbounded". Assim, Tokens é um elemento de coleção.

<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Tokens>
    <TokenID>string</TokenID>
    <TokenText>
      <TextHeading>string</TextHeading>
      <TextBody>string</TextBody>
    </TokenText>
  </Tokens>
  <Tokens>
    <TokenID>string</TokenID>
    <TokenText>
      <TextHeading>string</TextHeading>
      <TextBody>string</TextBody>
    </TokenText>
  </Tokens>
  <Tokens>
    <TokenID>string</TokenID>
    <TokenText>
      <TextHeading>string</TextHeading>
      <TextBody>string</TextBody>
    </TokenText>
  </Tokens>
</Root>

O Token.xsd associado a esta amostra seria:

<xs:element name="Root">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="Tokens" type="TokenType" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

<xs:complexType name="TokenType">
  <xs:sequence>
    <xs:element name="TokenID" type="xs:string"/>
    <xs:element name="TokenText">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="TextHeading" type="xs:string"/>
          <xs:element name="TextBody" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
Elemento do dicionário de dados Vínculo XML padrão
Raiz vazio (nulo)
Tokens /Root/Tokens
Composto vazio (nulo)
TokenID TokenID
TokenText vazio (nulo)
TokenHeading TextoToken/CabeçalhoTexto
TokenBody TokenText/CorpoDeTexto

Nesta página