|
||
|
|
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 27/12/2006Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 4
Gustavo Maia Aguiar é administrador de Empresas pela Universidade de Brasília (UnB) e pós-graduado em bancos de dados pela Universidade Católica de Brasília (UCB), atua na área de tecnologia de informação desde 2001, exercendo funções de desenvolvedor, analista, administrador de banco de dados (DBA) e administrador de dados (AD). É profissional certificado (MOS, MCDBA, MCAD, MCTS (SQL 2005), MCITP (DB Dev), MCITP (DB Admin), MCT e Itil Certified Professional) e suas áreas de interesse incluem .NET, XML, SQL Server, banco de dados em geral e Business Intelligence. É membro ativo dos fóruns MSDN e TechNet além de moderador da comunidade SQL Server Brasil (Orkut).
Nos artigos anteriores, o XML Schema Definition (XSD) foi apresentado e houve a demonstração de algumas construções de esquemas para validar documentos XML. Com o conteúdo dos três artigos anteriores já é possível construir mecanismos de validações de arquivos XML bem eficazes. A construção de estruturas de validação de documentos XML é menos trabalhosa que desenvolver complexas rotinas de validação via alguma linguagem de programação. Esse é um dos pontos mais poderosos do XML Schema. É sempre mais fácil rever um arquivo XML Schema Definition (XSD) do que rever um módulo de aplicação principalmente se ela envolver componentes, recompilação, versionamento, etc. Ainda assim é possível ganhar um pouco mais de eficiência e velocidade na construção de arquivos XSD utilizando algumas técnicas de reutilização. Derivação de tiposA derivação de tipos, por si só, já é uma forma de reutilização. Toda derivação de tipos simples utiliza algum tipo base em sua construção. É possível utilizar inclusive tipos derivados como base para outros tipos. O exemplo abaixo representa a construção de um tipo de dados “Empresa”. Esse tipo de dados é composto por um CNPJ, um nome (Razão Social) e um valor de faturamento todos derivados por restrição. Primeiramente é definido um tipo de dados CNPJ. O tipo tCNPJ é construído a partir do tipo string. O elemento xsd:pattern define que o CNPJ deverá obedecer a máscara XX.XXX.XXX\XXXX-XX onde X será sempre numérico. <!-- Definição do tipo CNPJ--> Os espaços duplicados e tabulações no campo nome devem ser substituídos por um único espaço em branco. O comprimento máximo para a razão social de uma empresa é de 300 caractéres. <!-- Definição do tipo Razão Social--> O faturamento de uma empresa pode conter até 20 dígitos (sendo 18 dígitos para a parte inteira e 2 dígitos para a parte decimal). É admissível que a empresa não venda, mas não é admissível faturamentos negativos. <!-- Definição do tipo Faturamento--> Uma empresa para ser considerada “Micro Empresa” precisa ter faturamento anual até R$ 240.000 e para ser considerada “Pequena Empresa” precisa ter faturamento anual até R$ 2,4 milhões. Para criar dois elementos faturamento para essas realidades, pode haver um reaproveitamento do elemento já definido. <!-- Definição do tipo Faturamento (Micro Empresa)--> <!-- Definição do tipo Faturamento (Pequena Empresa)--> Dessa forma as declarações do tipo “tFaturamento” já são automaticamente herdadas para as declarações dos tipos “tFaturamentoMicroEmpresa” e “tFaturamentoPequenaEmpresa”. Ambas contemplam até 20 dígitos (18 para a parte inteira e 2 para a parte decimal) e valores negativos não são permitidos. Este artigo é a parte 4 de 5 da seguinte série:
Leandro <leandro_ro7@hotmail.com>
Parabens!!!
![]() ![]() ![]() ![]() ![]() Paulo <prsb2003@hotmail.com>
Parabéns pelo material!!! Muito prático e didático!
![]() ![]() ![]() ![]() ![]() cleocimar <cleocimar@hotmail.com>
Tiru 80% das minhas dúvidas
![]() ![]() ![]() ![]() ![]() Ricardo
Muito bom o artigo!!
![]() ![]() ![]() ![]() ![]() Bruno <brunomau@gmail.com>
Muito bom. Aproveito para tirar uma dúvida. Existe alguma ferramenta que faça o mapeamento (um export) de um modelo de dados para XSD? Um abraço
![]() ![]() ![]() ![]() ![]() ![]() |
|
|