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).
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.
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:
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.
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.
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.
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:
|
| 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 |
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.