[XML-XSD] Tag met attribuut valideert niet*

Pagina: 1
Acties:

  • XTREEMRaGE
  • Registratie: April 2003
  • Laatst online: 10:31

XTREEMRaGE

XTRËËM|RåGË

Topicstarter
Ik en een klasgenoot maken een xml opdracht:
Wat we moeten doen is een xml schema maken van een xml document.

xml document:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0"?>
<klant klantid="1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Week1.xsd">
<naam>
 <voorletters>J.P.</voorletters>
 <voorvoegsel/>
 <achternaam>Liu</achternaam>
</naam>
<adres>
 <straat>Paulus Laan</straat>
 <huisnr>99</huisnr>
 <woonplaats>Den Haag</woonplaats>
 <postcode>2500 BH</postcode>
 <telefoonnr teltype="huis">0701234567</telefoonnr>
</adres>
<soortabonnee>Basis pakket</soortabonnee>
<kosten>
 <bedrag>20</bedrag>
 <eenheid>Euro</eenheid>
</kosten>
<inschrijfdatum>07-09-2005</inschrijfdatum>
<rekeningnr rektype="giro">1234567891</rekeningnr>
</klant>


XSD document
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<!-- definition of simple elements -->
<xs:element name="voorletters" type="xs:string"/>
<xs:element name="voorvoegsel" type="xs:string"/>
<xs:element name="achternaam" type="xs:string"/>
<xs:element name="straat" type="xs:string"/>
<xs:element name="huisnr" type="xs:string"/>
<xs:element name="woonplaats" type="xs:string"/>
<xs:element name="postcode" type="xs:string"/>
<xs:element name="soortabonnee" type="xs:string"/>
<xs:element name="bedrag" type="xs:integer"/>
<xs:element name="eenheid" type="xs:string"/>
<xs:element name="inschrijfdatum" type="xs:string"/>

<!-- definition of attributes -->
<xs:attribute name="klantid" type="xs:integer"/>
<xs:attribute name="teltype" type="xs:string"/>
<xs:attribute name="rektype" type="xs:string"/>

<!-- definition of complex elements -->
<xs:element name="naam">
 <xs:complexType>
  <xs:sequence>
   <xs:element ref="voorletters"/>
   <xs:element ref="voorvoegsel"/>
   <xs:element ref="achternaam"/>
  </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="adres">
 <xs:complexType>
  <xs:sequence>
   <xs:element ref="straat"/>
   <xs:element ref="huisnr"/>
   <xs:element ref="woonplaats"/>
   <xs:element ref="postcode"/>
   <xs:element ref="telefoonnr"/>
  </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="telefoonnr">
 <xs:complexType>
  <xs:sequence>
  </xs:sequence>
   <xs:attribute ref="teltype" use="required"/>
 </xs:complexType>
</xs:element>

<xs:element name="kosten">
 <xs:complexType>
  <xs:sequence>
   <xs:element ref="bedrag"/>
   <xs:element ref="eenheid"/>
  </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="rekeningnr">
 <xs:complexType>
  <xs:sequence>
  </xs:sequence>
   <xs:attribute ref="rektype" use="required"/>
 </xs:complexType>
</xs:element>

<xs:element name="klant">
 <xs:complexType>
  <xs:sequence>
   <xs:element ref="naam"/>
   <xs:element ref="adres"/>
   <xs:element ref="soortabonnee"/>
   <xs:element ref="kosten"/>
   <xs:element ref="inschrijfdatum"/>
   <xs:element ref="rekeningnr"/>
  </xs:sequence>
  <xs:attribute ref="klantid" use="required"/>
 </xs:complexType>
</xs:element>

</xs:schema>


De error die wij krijgen is:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Validation error: 


<?xml version="1.0"?>
<klant klantid = "1" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "Week1.xsd">
<naam>
 <voorletters>J.P.</voorletters>
 <voorvoegsel/>
 <achternaam>Liu</achternaam>
</naam>
<adres>
 <straat>Paulus Laan</straat>
 <huisnr>99</huisnr>
 <woonplaats>Den Haag</woonplaats>
 <postcode>2500 BH</postcode>
 <telefoonnr teltype = "huis"
Error at (15,29): The element cannot contain text or white space. Content model is empty. An error occurred at , (15, 29).
>0701234567</telefoonnr>
</adres>
<soortabonnee>Basis pakket</soortabonnee>
<kosten>
 <bedrag>20</bedrag>
 <eenheid>Euro</eenheid>
</kosten>
<inschrijfdatum>07-09-2005</inschrijfdatum>
<rekeningnr rektype = "giro"
Error at (23,28): The element cannot contain text or white space. Content model is empty. An error occurred at , (23, 28).
>1234567891</rekeningnr>
</klant>


Hoe kunnen wij dit oplossen, als wij de attribute teltype en rektype weghalen valideert ie wel lekker.
Maar als wij de attribute weer toevoegen in het xml document krijgen wij de errors hierboven vermeld.
Het zal wel weer iets simpel zijn voor de mensen hier, maar plz help. Wij komen er echt niet uit.
Ik hoop dat de vraag duidelijk is,

bedankt :)

Edit: Ik heb even code-tags toegevoegd aan je post, dat leest wat makkelijker dan quote-tags. Wil je daar de volgende keer zelf even aan denken? :)

[ Voor 25% gewijzigd door NMe op 26-09-2005 15:47 ]

GöÐ, ®Ë§þËÇT åñÐ Höñöµ® | LÜ©K>SkïLL | XT®ËËM|®åGË ||Funky Monkeys || Fm


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 08-04 12:54

Jaspertje

Max & Milo.. lief

<xs:complexType>
<xs:sequence>
</xs:sequence>
<xs:attribute ref="rektype" use="required"/>
</xs:complexType>
Waarom sluit je je <xs:sequence> af voordat er iets gebeurt?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 29-04 21:54

mulder

ik spuug op het trottoir

<rekeningnr rektype="giro">
ipv
<rekeningnr rektype = "giro">
?

oogjes open, snaveltjes dicht


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Don Facundo schreef op maandag 26 september 2005 @ 15:49:
<rekeningnr rektype="giro">
ipv
<rekeningnr rektype = "giro">
?
Ik weet niet welke code jij daar ziet, maar voor zover ik kan zien doet hij dat ook? :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 08-04 12:54

Jaspertje

Max & Milo.. lief

XML:
1
2
3
4
5
6
7
8
9
<xs:element name="rekeningnr">
        <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute ref="rektype" use="required"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
    </xs:element>

en natuurlijk geldt voor girorekeningdingen hetzelfde

http://www.w3schools.com/schema/schema_complex_text.asp

[ Voor 97% gewijzigd door Jaspertje op 26-09-2005 16:34 . Reden: Zal ook ff XML bij de codetag toevoegen ]


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 29-04 21:54

mulder

ik spuug op het trottoir

-NMe- schreef op maandag 26 september 2005 @ 15:51:
[...]

Ik weet niet welke code jij daar ziet, maar voor zover ik kan zien doet hij dat ook? :P
In z'n XML bericht niet?

EDIT: Aha... 8) <-met rood-wit stokje

[ Voor 10% gewijzigd door mulder op 26-09-2005 16:05 ]

oogjes open, snaveltjes dicht


  • XTREEMRaGE
  • Registratie: April 2003
  • Laatst online: 10:31

XTREEMRaGE

XTRËËM|RåGË

Topicstarter
tnx voor de reply's

Jasper's voorbeeld werkte!

XML:
1
2
3
4
5
6
7
8
9
<xs:element name="telefoonnr">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute ref="teltype" use="required"/>
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>


tnx for de mod, van het wijzigen van mijn bericht(je) ;)

GöÐ, ®Ë§þËÇT åñÐ Höñöµ® | LÜ©K>SkïLL | XT®ËËM|®åGË ||Funky Monkeys || Fm


Verwijderd

En bij mij heeft het ook gewerkt...

Zat er al drie avonden op te puzzelen en ben dus blij dat het gelukt is.
Pagina: 1