https://manuais.iessanclemente.net/index.php?title=O_elemento_Schema&feed=atom&action=historyO elemento Schema - Historial de revisiones2024-03-28T14:44:08ZHistorial de revisiones de esta página en el wikiMediaWiki 1.36.2https://manuais.iessanclemente.net/index.php?title=O_elemento_Schema&diff=31401&oldid=prevEpl: /* Os espazos de nomes */2013-02-05T11:17:14Z<p><span dir="auto"><span class="autocomment">Os espazos de nomes</span></span></p>
<p><b>Página nueva</b></p><div>== O elemento Schema ==<br />
<br />
O elemento <schema> é o elemento raíz en cada Schema XML.<br />
<source lang="xml"><br />
<?xml version="1.0"?><br />
<xs:schema><br />
...<br />
...<br />
</xs:schema><br />
</source><br />
<br />
O elemento <schema> pode conter algúns atributos. A miúdo a declaración dun schema é como a seguinte:<br />
<br />
<source lang="xml"><br />
<?xml version="1.0"?><br />
<br />
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"<br />
targetNamespace="http://www.iessanclemente.net"<br />
xmlns="http://www.iessanclemente.net"><br />
...<br />
...<br />
</xs:schema><br />
</source><br />
==Os espazos de nomes==<br />
Na declaración anterior, o seguinte fragmento:<br />
<br />
<source lang="xml"><br />
xmlns:xs="http://www.w3.org/2001/XMLSchema"<br />
</source><br />
indica que os elementos e os tipos de datos empregados no schema e que levan o prefixo '''xs''' (schema, element, complexType, sequence, string, bolean, integer, etc.) proveñen do espazo de nomes (namespace) "http://www.w3.org/2001/XMLSchema". <br />
<br />
O seguinte fragmento:<br />
<source lang="xml"><br />
targetNamespace="http://www.iessanclemente.net"<br />
</source><br />
indica que os elementos definidos neste esquema asignaranse ao espazo de nomes http://www.iessanclemente.net. que chamaremos de destino (target). Cando creemos un documento instancia XML no que usemos as etiquetas definidas neste esquema, indicarémoslle que use ese espazo de nomes.<br />
<br />
xmlns="http://www.iessanclemente.net" indica o espazo de nomes por defecto do esquema, <br />
que será: http://www.iessanclemente.net, de forma que cando aparece unha referencia como ref="ingrediente" sen ningún prefixo, sábese que se refire á declaración do elemento ingrediente neste espazo de nomes. Nótese que o espazo de nomes por defecto aplícase só a referencias nun esquema e, por tanto, estes espazos por defecto non teñen impacto nos seus documentos instancia.<br />
<br />
<h2 style="margin:0; background:#E6ECFF; font-size:100%; border:1px solid #cccccc; text-align:left; padding:0.2em 0.4em; -moz-border-radius:6px">[[Imagen:aprende.png|left]]'''INTERÉSACHE'''<br />
<br><br />
<p>O validador non usa o URL do namespace para buscar información. A súa función é darlle ao espazo de nomes un nome único. Con todo, as compañías adoitan usar este URL como un enlace a unha páxina web que contén información sobre o espazo de nomes. Proba a acceder á páxina http://www.w3.org/2001/XMLSchema.<br />
</p><br />
</h2><br />
<br />
Por tanto, na declaración anterior faise referencia a tres espazos de nomes con distintas funcións:<br />
#'''O que define os Esquemas''' ( xmlns:xs=http://www.w3.org/2001/XMLSchema).<br />
#'''O ( os ) de destino''' ( targetNamespace ) específicos do esquema construído ao que se refiren os correspondentes documentos instancia.<br />
#'''O espazo de nomes "por defecto"''' que pode ser ou non un dos dous anteriores.<br />
<br />
A continuación móstrase un exemplo de documento XML que emprega dous namespaces distintos:<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<continente<br />
xmlns:xeografia="http://www.iessanclemente.net/xeografia"<br />
xmlns:finanzas="http://www.iessanclemente.net/finanzas"><br />
<br />
<xeografia:pais><br />
<xeografia:nome>España</xeografia:nome><br />
<xeografia:capital>Madrid</xeografia:capital><br />
<finanzas:capital>1.438.356</finanzas:capital> <br />
</xeografia:pais><br />
</continente><br />
</source><br />
<br />
== Referenciando un Schema nun documento XML ==<br />
<br />
O seguinte documento XML fai unha referencia a un Schema XML:<br />
<br />
<source lang="xml"><br />
<?xml version="1.0"?><br />
<correo xmlns="http://www.iessanclemente.net"<br />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
xsi:schemaLocation="http://www.iessanclemente.net correo.xsd"><br />
<br />
<destinatario>Rafael</destinatario><br />
<remitente>María</remitente><br />
<cabeceira>Aniversario</cabeceira><br />
<corpo>Lémbrate do aniversario de Ramiro en febreiro.</corpo><br />
</correo><br />
</source><br />
<br />
O seguinte fragmento:<br />
<br />
<source lang="xml"><br />
xmlns="http://www.iessanclemente.net"<br />
</source><br />
especifica a declaración do espazo de nomes por defecto. Esta declaración indica ao validador de schema que todos os elementos empregados neste documento XML son declarados dentro do espazo de nomes (namespace) "http://www.iessanclemente.net".<br />
<br />
O espazo de nomes da Instancia do Schema XML encárgase de pasar do espazo de nomes do esquema ao espazo de nomes da instancia, é dicir, relaciona o documento instancia co seu correspondente esquema.<br />
<br />
<source lang="xml"><br />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
</source><br />
<br />
Tamén poderemos usar o atributo schemaLocation. Este atributo ten dous valores. O primeiro é o nome de espazo a usar. O segundo é a localización do schema XML para usar con ese namespace.<br />
<br />
<source lang="xml"><br />
xsi:schemaLocation="http://www.iessanclemente.net correo.xsd"<br />
</source></div>Epl