Jul/080
Introdução ao XML Schema
Explicando o que é um Schema
Na realidade o Schema é usado para definir os blocos de construção de um arquivo XML, que pode ser visto como um suplente para DTDs.
O
O XML Schema pode ser traduzido como XSD (XML Schema Definition / XMLs Definidos por Esquemas), segue um exemplo simples para estudo...
Vamos chamar esse aquivo de "teste01.xsd"
<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> ... aqui colocamos o resto da estrutura Schema </xsd:schema>
Depois de criado o Schema pode ser associado a um arquivo XML como no exemplo do código a seguir
<?xml version="1.0" ?> <principal xmlns="http://www.tedk.com.br" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.tedk.com.br colocar_schema.xsd">"> <arquivo tid="1"> <item_numeral>COD: 600</item_numeral> <item_nome> <teste_nome>Coloque qualquer coisa 001</teste_nome> <valor_nome>Coloque qualquer coisa 002</valor_nome> </item_nome> <descricao>Aqui você digita qualquer descricao</descricao> <foto>imagem.gif</foto> </arquivo> </principal>
o Schema é referenciado logo no inicio do elemento raiz do aquixo XML que está sendo configurado:
O xmlns="http://www.tedk.com.br" é uma declaração, uma namespace. Essa namespace diz ao validador que todos os elementos do que serão utilizados irão vim da url especificada.
A segunda parte, xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" indica a localização do Schema, a instância que vai ser utilizada. O segundo valor é a localização do Schema que pretende utilizar para que namespace: xsi:schemaLocation = "http://www.tedk.com.br colocar_schema.xsd".
Nos próximos Posts irei colocar mais a respeito do Schema, foi só uma simples e breve introdução.
Bons estudos.
Mar/082
DOM com XML
É um código pronto, todo comentado, simples de entender!!
Arquivo: Banco.xml
<catalog>
<cd>
<titulo>Empire Burlesque</titulo>
<artista>Bob Dylan</artista>
<outro01>USA</outro01>
<ipresa>Columbia</ipresa>
<preco>10.90</preco>
<ano>1985</ano>
</cd>
<cd>
<titulo>Hide your heart</titulo>
<artista>Bonnie Tyler</artista>
<outro01>UK</outro01>
<ipresa>CBS Records</ipresa>
<preco>9.90</preco>
<ano>1988</ano>
</cd>
<cd>
<titulo>Greatest Hits</titulo>
<artista>Dolly Parton</artista>
<outro01>USA</outro01>
<ipresa>RCA</ipresa>
<preco>9.90</preco>
<ano>1982</ano>
</cd>
<cd>
<titulo>Still got the blues</titulo>
<artista>Gary Moore</artista>
<outro01>UK</outro01>
<ipresa>Virgin records</ipresa>
<preco>10.20</preco>
<ano>1990</ano>
</cd>
<cd>
<titulo>Eros</titulo>
<artista>Eros Ramazzotti</artista>
<outro01>EU</outro01>
<ipresa>BMG</ipresa>
<preco>9.90</preco>
<ano>1997</ano>
</cd>
</catalog>
A mágia está toda aqui...
Arquivo: index.html
<script type="text/javascript">
var xmlDoc;
// Verificando o IE
if (window.ActiveXObject) {
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
// Verificando o Mozilla, Firefox, Opera, etc.
else if (document.implementation.createDocument) {
xmlDoc=document.implementation.createDocument("","",null);
}
else {
alert("Seu site não suporta essa plataforma"); // Caso não tenha suporte a plataforma
}
xmlDoc.async = false;
xmlDoc.load("Banco.xml"); // Carrega o arquivo XML
var x = xmlDoc.getElementsByTagName("CD"); // Carregando a pag principal
i = 0;
// Função para avançar os valores
function avancar() {
if (i < x.length) {
i++;
display();
}
}
// Função para voltar os valores
function voltar() {
if (i>0) {
i–;
display();
}
}
// Função que carrega quando o site é exibido
function display() {
var artista, titulo, ano;
// Dando valor para as variáveis
artista = (x[i].getElementsByTagName("artista")[0].childNodes[0].nodeValue);
titulo = (x[i].getElementsByTagName("titulo")[0].childNodes[0].nodeValue);
ano = (x[i].getElementsByTagName("ano")[0].childNodes[0].nodeValue);
// Caregando o HTML dentro da div Show
document.getElementById("show").innerHTML="<b>Artista:</b> "+artista+" <b>Título:</b> "+titulo+" <b>Ano:</b> "+ano;
}
</script>
<p id="show" style="font-family: verdana; font-size: 12px">
<input onClick="voltar()" value="<< Voltar" type="button" />
<input onClick="avancar()" value="Avançar >>" type="button" />


