[DTD+XSD] Probleem validatie xml?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Chip.
  • Registratie: Mei 2006
  • Niet online
Ik zit met het volgende. Ik heb een VB applicatie die gegevens haalt uit een xml bestand. Aan dit xml bestand zit een dtd of xsd bestand aan gekoppeld. Nu is het me wel gelukt om gewoon de data te lezen van de xml file wanneer die gekoppeld is aan de dtd file maar niet wanneer de xml file is gekoppeld aan de xsd file.

De bestandjes...
XML: movies.xml
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0"?>
<!--<movies xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="movies.xsd">-->
<!DOCTYPE movies SYSTEM "movies.dtd">
<movies>
    <movie id="m1">
    </movie>
    <movie id="m2">
    </movie>
    <movie id="m3">
    </movie>
</movies>

Ik heb even de manier om xsd te gebruiken gecomment <!-- -->. Let er ook op dat bij dtd de id moet beginnen met een letter vandaar m1. Wanneer ik de xsd bestand gebruik is het gewoon 1 ... 2 ... 3 i.p.v. m1...m2...m3

De dtd file ziet er als volgt uit
code: movies.dtd
1
2
3
4
<!ELEMENT movies ( movie+ ) >

<!ELEMENT movie ( title, rating, imdbid, year, description ) >
<!ATTLIST movie id ID #REQUIRED>


En de xsd file ziet er zo uit:
XML: movies.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0"?>
<xsd:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">

<xsd:element name="movies">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="movie" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:attribute name="id" type="xsd:ID" use="required"/>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

</xsd:schema>


Nu is mijn vraag dus wat is er fout aan mijn xsd structuur? Het probleem ligt bij de atribuut ID. In mijn VB code haal ik namelijk met de commando [url]nodeFromId[/url] de data op. Dit is ook het punt waar het dus fout gaat wanneer ik de xsd bestand gebruik. Ik ga er dus eigenlijk vanuit dat de fout ligt in de xsd structuur omdat bij dtd bestand wel gewoon werkt. Verder is zover ik weet mijn xsd structuur gewoon goed als ik moet afgaan op wikipedia, w3schools en andere webpagina's.... Iemand een idee?

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Wouser schreef op dinsdag 18 november 2008 @ 14:45:
Nu is mijn vraag dus wat is er fout aan mijn xsd structuur?
Mijn vraag is: Wat is er goed aan? ;) Wat doen al die 'xsd:...' elementen?
Probeer anders eerst eens wat te doen met bijvoorbeeld deze online xsd/dtd generators. En post ook de bijbehorende .NET-code als het niet lukt.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten