Transformações UML-para-XSD

Na UML, você pode criar uma representação visual de um esquema Extensible Markup Language (XML) e, em seguida, utilizar a transformação UML-to-XSD para gerar um arquivo XML Schema Definition (XSD).

Há duas transformações UML-para-XSD disponíveis: UML-para-XSD e UML-para-XSD (Reprovada). A transformação UML-para-XSD substitui a UML-para-XSD (Reprovada); nenhum novo recurso está planejado para a transformação UML-para-XSD (Reprovada).

Os seguintes recursos estão incluídos na transformação de UML em XSD, mas não de UML em XSD (Reprovada):
Nota: Em toda a ajuda on-line, as transformações UML-para-XSD e UML-para-XSD (Reprovada) são referidas simplesmente como "transformação UML-para-XSD". Nos casos em que uma transformação específica seja indicada, as frases "apenas transformação UML-para-XSD" ou "apenas UML para XSD (Reprovada)" são utilizadas para distinguir a transformação desejada.

Arquivos XSD

Um arquivo XSD é uma instância de um esquema XML que está gravada na linguagem do Esquema XML. Um arquivo, ou esquema, XSD descreve a estrutura de um arquivo XML. Também define os elementos e atributos que podem ser incluídos em um esquema XML, os relacionamentos entre os elementos e atributos, assim como as restrições nos elementos e atributos. Primeiramente, você modelará a estrutura de um esquema XML aplicando um conjunto de regras de mapeamento UML-para-XSD. Em seguida, você aplicará a transformação UML-para-XSD ao modelo para gerar um arquivo XSD, que pode ser utilizado para validar um arquivo XML.

Um arquivo XSD é útil nas seguintes situações:
  • Para validar dados verificando itens como, por exemplo, as tags necessárias
  • Para gerar uma descrição da estrutura de um arquivo XML que você pode utilizar como um padrão de conteúdo de dados entre equipes
  • Para gerar a documentação do sistema, anotando o esquema para fornecer informações adicionais
  • Para especificar valores padrão que um aplicativo poderá utilizar se um determinado arquivo XML não especificar todos os valores necessários para um aplicativo
  • Para identificar as informações específicas para um determinado aplicativo e que o aplicativo utiliza para processar um documento XML

Diretrizes para Modelar um Esquema XML na UML

Você pode utilizar a UML para criar uma representação visual de um esquema XML e, em seguida, pode executar a transformação UML-para-XSD para gerar um arquivo XSD. Um modelo pode conter elementos que representam elementos XSD, assim como elementos não relacionados ao XSD.

Utilize as seguintes diretrizes quando criar modelos UML que representam esquemas XML:

Como a Transformação Transforma Elementos UML em Elementos do Esquema XSD

A transformação UML-para-XSD utiliza um conjunto de propriedades para determinar como a transformação gera saída a partir de elementos de modelo de origem. Você deve definir o valor das propriedades em uma configuração de transformação UML-para-XSD. A transformação utiliza esses valores das propriedades para determinar as seguintes informações:
  • O espaço de nomes de destino do esquema gerado
  • O prefixo para o espaço de nomes de destino do esquema gerado
  • Se os arquivos de saída da transformação devem ser sobrescritos sem aviso
  • Como transformar classes aninhadas
  • Se uma classe que não possui um estereótipo ou palavra-chave deve ser transformada
  • Se um esquema para um pacote que não possui um estereótipo ou palavra-chave deve ser gerado
  • (Apenas transformação UML-para-XSD) Se todos os arquivos XSD devem ser gerados na pasta "schema" ou em uma pasta que siga o nome do pacote
  • (Apenas transformação UML-para-XSD) Se todas as classes devem ser geradas no mesmo pacote em um arquivo XSD ou se cada classe deve ser gerada em um arquivo XSD diferente

Por padrão, a transformação gera um esquema para cada pacote e seu conteúdo que você seleciona no modelo de origem. Você pode especificar se a transformação UML-para-XSD deve gerar um esquema para pacotes que não possuem o estereótipo «schema» ou a palavra-chave schema. A transformação não gera um esquema para um pacote aninhado.

Por padrão, a transformação processa todas as classes contidas nos pacotes selecionados como a origem da transformação. Você pode especificar se a transformação UML-para-XSD deve processar classes que não possuem um estereótipo ou palavra-chave.

Origens Válidas para a Transformação UML-para-XSD

A transformação UML-para-XSD gera arquivos XSD a partir das seguintes origens UML: Você pode selecionar vários elementos válidos como a origem da transformação.

Destinos Válidos para a Transformação UML-para-XSD

Você pode especificar qualquer projeto ou pasta em seu espaço de trabalho como destino para a saída da transformação UML-para-XSD.

Local da Saída da Transformação

O arquivo XSD que a transformação UML-para-XSD (Reprovada) gera é armazenado em um diretório, chamado schema, no projeto especificado como o destino para a saída da transformação. O arquivo que contém o esquema possui o mesmo nome que o pacote no modelo de origem. O esquema gerado possui .xsd como sua extensão de nome de arquivo. A transformação exibe o esquema gerado na visualização Navegador.

O local da saída da transformação UML-para-XSD depende do valor configurado para a propriedade Pasta de Destino. As opções adicionais possibilitam que a saída seja criada em um nome ou nomes de pacote de sua escolha e possibilitam a criação de arquivos separados para cada tipo de dados para suportar projetos do IBM® WebSphere Integration Developer.

Elementos UML que se Transformam em Elementos de um Esquema XSD

Você pode modelar vários elementos XSD em UML. A transformação utiliza um conjunto de regras de mapeamento para determinar como gerar elementos XSD a partir de seus elementos UML correspondentes.

A tabela a seguir lista como a transformação UML-para-XSD transforma os elementos de modelo UML em elementos XSD.

Elemento de Modelo UML Elemento do Esquema XSD
Pacote Espaço de nomes único com um prefixo
Classe Tipos e grupos reutilizáveis:
  • Grupo de atributos, grupo de modelos nomeados e grupo de substituição
  • Tipo complexo
  • Elemento global, atributo
  • Tipo simples
Enumeração Restrição de um tipo simples de cadeia XSD com facetas de enumeração iguais aos literais de enumeração UML
Nota: Isto difere de uma classe UML com o estereótipo «enumeration» do perfil de transformação UML-para-XSD. Uma classe UML com estereótipo fornece enumerações XSD gerais adicionais.
Propriedades de uma classe Atributos de um grupo de atributos

Elementos e atributos de um tipo complexo

Elementos e atributos de um grupo de modelos nomeados

Propriedade com estereótipo de atributo Atributo do tipo complexo, se a propriedade for um tipo simples e tiver uma multiplicidade de [0..1]; caso contrário, será convertido em um elemento
Associação (Agregação) Elemento-filho de um elemento contido (tipo complexo)
Generalização Derivação por extensão de tipo complexo

Integração com a Equipe de Suporte

A transformação fornece funcionalidade de integração com os sistemas de controle de versão IBM Rational Team Concert, CVS, Rational ClearCase, e Rational ClearCase LT, que possibilita efetuar o registro de saída dos arquivos automaticamente ou incluir novos arquivos. É necessário ativar os recursos de equipe para trabalhar com os sistemas de gerenciamento de configuração.


Feedback