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>