Gostaria que me explicassem o que exatamente são esses dois conceitos. Sei que eles interagem, portanto preciso saber como é a intereção de XML com XML-schema. Além disso, como uso ambos em meus softwares java?
Primeira coisa, você sabe o que é um XML?
Se a sua resposta for sim, ótimo, então vamos partir para explicar o que é um XML-Schema.
Se a sua resposta for não, então vamos primeiro tentar te explicar o que é um XML e só depois você poderá entender o que é um XML-Schema.
Sim…Em suma imagino que XML seja uma forma através da qual podemos marcar dados de forma estruturada…Mas não entendi direito onde entra o schema na jogada…
XML é muuuuuuuuuito mais do que isso. Ele tem uma sintaxe própria com regras própria e tudo mais. O schema é uma das partes desta regra (e não é nada simples).
Basicamente, há elementos e atributos. Os elementos têm a forma de :
<elemento_raiz>
<outro_elemento>Texto</outro_elemento>
<mais_outro_elemento>Texto</outro_elemento>
<elemento_com_subelementos>
<subelemento>conteudo</subelemento>
</elemento_com_subelementos>
<elemento_vazio/>
<elemento_com_atributo valor="1" tamanho="22">
<alguma_coisa_qualquer nome="Maria Aparecida"/>
</elemento_com_atributo>
</elemento_raiz>
Se você entende até aqui perfeitamente, então daí sim, vamos ver o que é um schema.
Imagine que vc PRECISE receber um xml assim:
<upload id="666">
<descricao>minha descricao</descricao>
<usuario>meu.login</usuario>
<duracao>120</duracao>
<temas>
<tema id="1">jornalismo</tema>
<tema id="6">off-topic</tema>
<tema id="100">centenario</tema>
</temas>
<version>1.0</version>
<upload>
Ai o camarada resolve enfiar uma tag NADA HAVER la no meio e estraga toda a parada (ou manda um texto no lugar da duração, que deveria ser numérica). Uma forma de evitar isso é vc desenvolver o schema desse xml que diz “magrão, o xml só é valido se tiver essas e essas caracteristicas”. Ai o cara tendo o schema ele pode ver se o seu xml é válido.
http://www.w3schools.com/Schema/default.asp
Perceba que, se o xml mudar, vc pode criar outra versão e ter varios XSDs
Bom…Eu tentei resumir XML atentando para a sua dimensão funcional. Sei que estruturalmente ele tem sinteaxe e tudo mais…
Só realmente não conseguia entender onde entravam exatamente os tais schemas…Imaginei que fossem um tipo de meta-estrutura. Mas não sabia exatamente como usar. Até queria exemplos de casos de uso do XML com o XML Schema. Casos de uso reais seriam de grande ajuda até…
[quote]
Ai o camarada resolve enfiar uma tag NADA HAVER la no meio e estraga toda a parada (ou manda um texto no lugar da duração, que deveria ser numérica). Uma forma de evitar isso é vc desenvolver o schema desse xml que diz “magrão, o xml só é valido se tiver essas e essas caracteristicas”. Ai o cara tendo o schema ele pode ver se o seu xml é válido.[/quote]
Bom…No fim das contas era essa a impressão que eu tinha fo XML-Schema. Mas não entendo exatamente como utilizá-lo.
Pois é…Sabe que agora até fiquei em dúvida. Não sei se estávamos falando da mesma coisa.
Você teria algum exemplo bem básico que ilustre algumas dessas regras e sintaxe?
Outra questão…
Em termos de estrutura de arquivo…O XML e seu Schama estão inseridos no mesmo arquivo?
Introduzo o documento com o Schema dele e em seguida tenho minha estrutura de dados XML?
Ninguém?