Redefinindo Componentes do Esquema XSD

Você pode estender ou modificar um esquema XSD substituindo as definições dos componentes no modelo que representa o esquema e executando a transformação UML-para-XSD para criar o esquema XSD de redefinição. Um esquema de redefinição modifica ou estende um outro esquema. A redefinição do esquema é útil para originar um novo esquema XSD a partir de um esquema XSD existente.
Por Que e Quando Desempenhar Esta Tarefa

Também é possível importar um arquivo XSD para seu espaço de trabalho, que possibilita visualizar o arquivo em um modelo UML. Você pode redefinir os componentes do esquema no modelo e executar a transformação para criar o esquema de redefinição.

O mecanismo de redefinição do esquema possibilitar especificar novas definições para os componentes do esquema, fornecendo mais flexibilidade que o mecanismo de inclusão, que não possibilita especificar novas definições para componentes do esquema.

Os seguintes tipos de componentes podem ser redefinidos:
  • Tipos simples
  • Tipos complexos
  • Grupos de modelos nomeados
  • Grupos de atributos
Ao redefinir um componente do esquema, você substitui a definição original do componente e as referências ao componente original.

É necessário ter um esquema XSD no espaço de trabalho antes de poder redefinir o esquema. Também é necessário aplicar o perfil de transformação XSD a seu modelo, o qual deve conter pelo menos um tipo simples ou complexo e um espaço de nomes.

O procedimento a seguir descreve como redefinir um tipo complexo nomeado Class1 que está em um pacote UML nomeado Package1. Esse tipo complexo contém um atributo, nomeado attribute1, que é do tipo Cadeia. Neste exemplo, você criará um novo pacote nomeado Package2, que contém o esquema que redefine Class1.

  1. Crie um pacote no modelo UML de origem. Por exemplo, crie um pacote chamado Package2.
  2. Aplique o estereótipo «schema» ao novo pacote.
  3. Configure o atributo de espaço de nomes de destino no estereótipo «schema» como igual ao espaço de nomes de destino do esquema que você deseja redefinir.

    Esta imagem mostra a página Estereótipos da visualização Propriedades.

    Nota: Você também pode configurar a propriedade de espaço de nomes de destino da configuração de transformação como igual ao espaço de nomes do esquema original.
  4. Crie um tipo complexo que seja do mesmo tipo que você deseja redefinir. Por exemplo, se você desejar redefinir Class1 em Package1, deverá criar uma classe nomeada Class1 em Package2 e aplicar o estereótipo «complexType» à nova versão de Class1:

    Esta imagem mostra um modelo UML, na perspectiva Modelagem, que contém um pacote com um tipo complexo.

  5. Crie um relacionamento de generalização do tipo de redefinição para o tipo redefinido. Por exemplo, crie um relacionamento de generalização de Class1 em Package2 para Class1 em Package1.

    Esta imagem mostra um relacionamento de generalização no qual Class1 em Package1 é o pai e Class1 em Package2 é o filho.

  6. Aplique o estereótipo «redefine» ao relacionamento de generalização.

    Esta imagem mostra um relacionamento de generalização com o estereótipo redefine aplicado; Class1 em Package1 é o pai e Class1 em Package2 é o filho.

  7. Redefina o tipo criado. Por exemplo, você pode alterar a definição do tipo ou incluir atributos no tipo. Neste exemplo, em Class1, que está localizado em Package2, redefina attribute1 alterando seu tipo para UnlimitedNatural. Você também pode incluir um novo atributo, nomeado attribute2, que é do tipo Cadeia.

    Esta imagem mostra o tipo de redefinição e o tipo redefinido. O tipo de redefinição contém um UnlimitedNatural nomeado attribute1 e uma nova Cadeia nomeada attribute2.

  8. Clique em Arquivo > Salvar.
  9. Edite a configuração de transformação UML-para-XSD. Especifique o esquema de redefinição como a origem da transformação. Neste exemplo, especifique Package2 como a origem da transformação.
  10. Clique em Arquivo > Salvar.
  11. Execute a transformação UML-para-XSD.
O que Fazer Depois
A transformação gera um arquivo de esquema de redefinição no projeto de destino que você especifica na configuração de transformação. O arquivo de esquema de redefinição contém os componentes do esquema redefinido. O atributo schemaLocation especifica o nome do esquema redefinido. A imagem a seguir exibe o esquema de redefinição gerado pela transformação.

Esta imagem mostra o arquivo XSD gerado pela transformação. Attribute1 transforma-se no tipo longo e attribute2 transforma-se no tipo cadeia.


Feedback