O <schema> elemento é o elemento raiz de cada Schema XML.
O <schema> Elemento
O <schema> elemento é o elemento raiz de cada esquema XML:
<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>
O <schema> elemento pode conter alguns atributos. A declaração de esquema muitas vezes é algo como isto:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3ii.com"
xmlns="http://www.w3ii.com"
elementFormDefault="qualified">
...
...
</xs:schema>
O seguinte fragmento:
xmlns:xs="http://www.w3.org/2001/XMLSchema"
indica que os elementos e tipos de dados usados no esquema vêm do "http://www.w3.org/2001/XMLSchema" namespace. Ele também especifica que os elementos e tipos de dados que vêm do "http://www.w3.org/2001/XMLSchema" namespace devem ser prefixados com xs:
Este fragmento:
targetNamespace="http://www.w3ii.com"
indica que os elementos definidos por esse esquema (note, to, from, heading, body.) vêm do "http://www.w3ii.com" namespace.
Este fragmento:
xmlns="http://www.w3ii.com"
indica que o namespace padrão é "http://www.w3ii.com" .
Este fragmento:
elementFormDefault="qualified"
indica que todos os elementos utilizados pelo documento de instância XML que foram declaradas neste esquema deve ser namespace qualificado.
Fazendo referência a um esquema em um documento XML
Este documento XML tem uma referência a um esquema XML:
<?xml version="1.0"?>
<note xmlns="http://www.w3ii.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3ii.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
O seguinte fragmento:
xmlns="http://www.w3ii.com"
especifica a declaração de namespace padrão. Esta declaração diz ao esquema validador que todos os elementos usados neste documento XML são declarados no "http://www.w3ii.com" namespace.
Depois de ter o namespace XML Schema Instância disponíveis:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
você pode usar o schemaLocation atributo. Este atributo tem dois valores, separados por um espaço. O primeiro valor é o espaço de nomes de usar. O segundo valor é a localização do esquema XML para usar para esse namespace:
xsi:schemaLocation="http://www.w3ii.com note.xsd"