Ok, evo je lista problema koji more tvoj XSD da ne bi jedno po jedno trebili:
1. Koristis xs:string tip za jedan element iako si taj namespace registrovao sa prefixom xsn
2. Fali ti targetNamespace, onaj po kome ce se XML pozivati na njega.
3. xsd:choice ne sluzi za limitiranje mogucih vrednosti taga, sluzi za odabir jednog od pod-tagova, ono sto ti trazis je simple type enumeration restriction.
4. Ako tag sadrzi ista vise od osnovnih podataka, nor atribut ili podtagove, automatski postaje complex type i uvek mora eksplicitno da se napomene

5. Nigde ne pominjes tipove podataka koji su ti u implicitnim ili simple tipovima.
6. Ako imas XSD ne treba ti DTD, sve sto ti treba za validaciju je vec u xsd-u i xsd ima mnogo vise mogucnosti za preciznije definisanje, a i brate u XML formatu je

7. MNOGO MNOGO vaznije, imas fundamentalnu gresku u razumevanju XMLa i XSDa. Xml nosi podatke, xsd nosi semu tog xml-a, njime odredjujes tagove i njihove tipove, ne sadrzaj koji ide u njih. Dakle sema koju ti trazis je sledeca:
Code:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.elitesecurity.org/t300733"
attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="abgabe">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="projekt">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="projektbezeichnung" type="xs:string" />
<xs:element name="benutzer">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="Bilder">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="skale">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1x1"/>
<xs:enumeration value="2x1"/>
<xs:enumeration value="1x2"/>
<xs:enumeration value="2x2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pixelitem">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="owner" type="xs:string" />
<xs:element name="name" type="xs:string" />
<xs:element name="id" type="xs:decimal" />
<xs:element name="Desc" type="xs:string" />
<xs:element name="link" type="xs:string" />
<xs:element name="img-path" type="xs:string" />
<xs:element name="hScale" type="xs:int" />
<xs:element name="hScaleto" type="xs:int" />
<xs:element name="vScale" type="xs:int" />
<xs:element name="vScaleto" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="status">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="abgabetoolstatus" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Kad target namespace ubasic u XML kao default namespace, validacija prolazi bez problema:
Code:
<?xml version="1.0" encoding="utf-8"?>
<abgabe xmlns="http://www.elitesecurity.org/t300733">
<projekt>
<projektbezeichnung>Keine Dokumentation keiner Webapplikation</projektbezeichnung>
<benutzer>
<Bilder>
<skale>1x1</skale>
<skale>2x1</skale>
<skale>1x2</skale>
<skale>2x2</skale>
</Bilder>
</benutzer>
<pixelitem>
<owner>vlasnik</owner>
<name>proba</name>
<id>0.1</id>
<Desc>slika</Desc>
<link>http://nowhere.com</link>
<img-path>http://imageshack.us</img-path>
<hScale>34</hScale>
<hScaleto>4</hScaleto>
<vScale>34</vScale>
<vScaleto>4</vScaleto>
</pixelitem>
<status>
<abgabetoolstatus>CLOSED</abgabetoolstatus>
</status>
</projekt>
</abgabe>
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić