Ir para conteúdo
Fórum Script Brasil
  • 0

XML Schema


Ted k'

Pergunta

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 elemento é o elemento raiz de todo XML

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”'>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.

Editado por Ted k'
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá amigo,

Estamos utilizando o SAX + Validação por Schema XSD em um grande projeto e nos deparamos com um problema que até agora não encontramos uma solução nem mesmo na internet…

O problema envolve a tradução das mensagens enviadas pelo parse do SAX quando validamos um arquivo XML utlizando XSD. As mensagens de erro de validação vêm na lingua inglesa, porém queremos informá-las em português. Um exemplo de mensagem:

Message: cvc-pattern-valid: Value ‘bvfhdh’ is not facet-valid with respect to pattern ‘\w+([\-+.']\w+)*@\w+([\-.]\w+)*\.\w+([\-.]\w+)*’ for type ‘emailSimpleType’.

A questão é que esperávamos que a API tivesse um suporte a multi-línguas, ao invés de ter que nos preocuparmos em montar as mensagens traduzidas, tendo que para isso utilizar subistituição de strings, etc…

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...