|
||
|
|
Conheça o Plugfeed | » Início » Programação » XML » Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 4
Conheça o Plugfeed | » Início » Programação » XML » Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 4
--> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 27/12/2006Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 4
Gustavo Maia Aguiar é graduado em Administração de Empresas e pós-graduado em bancos de dados, 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 (MCP, MOS, MCDBA, MCAD, MCTS, MCITP, MCT, MVP e Itil Certified Professional). Já trabalhou em instituições do governo, iniciativa privada e parceiros Microsoft em atividades de suporte, consultoria e treinamento. É membro ativo e moderador dos fóruns de SQL Server do MSDN e TechNet e das comunidades SQL Server Brasil e SQL Brasil (Orkut). Semanalmente publica artigos de banco de dados e SQL Server em seu blog.
Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 4
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
![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
|
|