XSD - Elemento <schema>

<schema> elemento é o elemento raiz de cada XML Schema.

<schema> elemento

<schema> elemento é o elemento raiz de cada XML Schema:

<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>

<schema> elemento pode conter atributos. Uma declaração de schema geralmente parece assim:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
targetNamespace="http://www.codew3c.com"
xmlns="http://www.codew3c.com"
elementFormDefault="qualified">
...
...
</xs:schema>

Explicação do código:

A seguir, o trecho:

xmlns:xs="http://www.w3.org/2001/XMLSchema"

Mostra que os elementos e tipos de dados usados no schema vêm do espaço de nomes "http://www.w3.org/2001/XMLSchema". Além disso, ele determina que os elementos e tipos de dados provenientes do espaço de nomes "http://www.w3.org/2001/XMLSchema" devem usar o prefixo xs:

Este trecho:

targetNamespace="http://www.codew3c.com"

Mostra que os elementos definidos por este schema (note, to, from, heading, body) vêm do espaço de nomes: "http://www.codew3c.com".

Este trecho:

xmlns="http://www.codew3c.com"

Indica que o espaço de nomes padrão é "http://www.codew3c.com".

Este trecho:

elementFormDefault="qualified"

Indica que todos os elementos usados em qualquer documento de instância XML e declarados neste schema devem ser limitados por espaço de nomes.

Referência ao Schema no documento XML

Este documento XML contém referências ao XML Schema:

<?xml version="1.0"?>
<note xmlns="http://www.codew3c.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.codew3c.com note.xsd">
<to>George</to>
<from>John</from>
<heading>Recordatório</heading>
<body>¡Não se esqueça da reunião!</body>
</note>

Explicação do código:

A seguir, o trecho:

xmlns="http://www.codew3c.com"

Define a declaração de espaço de nomes padrão. Esta declaração informa ao validador de schema que todos os elementos usados neste documento XML estão declarados no espaço de nomes "http://www.codew3c.com".

Assim que você possuir um espaço de nomes de instância de XML Schema disponível:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Você pode usar a propriedade schemaLocation. Esta propriedade tem dois valores. O primeiro valor é o namespace a ser usado. O segundo valor é a localização do XML schema para o namespace:

xsi:schemaLocation="http://www.codew3c.com note.xsd"