ciao, sono uno studente universitario che si avvicina per la prima volta al mondo dell'xml.


Per esercizio ho provato a fare una coppia schema/istanza.

Usando dtd per lo schema non ho avuto problemi, mentre usando xml schema non riesco ad ottenere un documento valido.

Potreste dirmi dove sbaglio?


Grazie!

studente.xlm
codice:
<?xml version="1.0"?>
<studente xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="studente.xsd">
	<annoScolastico>
		<numeroAnno> 1 </numeroAnno>
		<esame>
			<nomeEsame> Analisi 1 </nomeEsame>
			<voto> 25 </voto>
		</esame>
		<esame>
			<nomeEsame> Fisica 1 </nomeEsame>
			<voto> 26 </voto>
		</esame>
		<esame>
			<nomeEsame> Elettrotecnica </nomeEsame>
		</esame>
	</annoScolastico>
	<annoScolastico>
		<numeroAnno> 2 </numeroAnno>
		<esame>
			<nomeEsame> Automatica </nomeEsame>
			<voto> 20 </voto>
		</esame>
	</annoScolastico>
</studente>
studente.xsd
codice:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xsd:complexType name="studenteT">
		<xsd:sequence>
			<xsd:element name="annoScolastico" type="annoScolasticoT" minOccours="1" maxOccours="5"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="annoScolasticoT">
		<xsd:sequence>
			<xsd:element name="numeroAnno" type="numeroAnnoT"/>
			<xsd:element name="esame" type="esameT" maxOccours="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="numeroAnnoT">
		<xsd:restriction base="xsd:integer">
			<xsd:minInclusive value="1"/>
			<xsd:maxInclusive value="5"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="esameT">
		<xsd:sequence>
			<xsd:element nome="nomeEsame" type="xsd:string"/>
			<xsd:element nome="voto" type="votoT" minOccours="0" maxOccours="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="votoT">
		<xsd:restriction base="xsd:integer">
			<xsd:minInclusive value="0"/>
			<xsd:maxInclusive value="30"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="studente" type="studenteT"/>
</xsd:schema>