Toon posts:

[XML/XSD] XSD sheet maken voor xml pagina

Pagina: 1
Acties:
  • 151 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig om een XSD check over het volgende XML documenten te maken.

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
  <?xml version="1.0" ?> 
- <Test>
- <Testen>
- <field id="1" taborder="1">
  <Antwoord>bla</Antwoord> 
  <VraagTXT>Naam van uw onderneming</VraagTXT> 
  <VraagID>1</VraagID> 
  <OnderdeelID>1</OnderdeelID> 
  <OnderdeelTXT>Uw onderneming</OnderdeelTXT> 
  </field>
- <field id="2" taborder="2">
  <Antwoord>Bla</Antwoord> 
  <VraagTXT>Adres</VraagTXT> 
  <VraagID>2</VraagID> 
  <OnderdeelID>1</OnderdeelID> 
  <OnderdeelTXT>Uw onderneming</OnderdeelTXT> 
  </field>
- <field id="3" taborder="3">
  <Antwoord>654654654</Antwoord> 
  <VraagTXT>Telefoonnummer(s)</VraagTXT> 
  <VraagID>3</VraagID> 
  <OnderdeelID>1</OnderdeelID> 
  <OnderdeelTXT>Uw onderneming</OnderdeelTXT> 
  </field>
</Testen>
</test>


Nu moet de xsd controlleren dat <Antwoord> altijd verplicht, alleen omdat <field> zich steeds herhaald kom ik er niet uit hoe ik dat kan instellen.

  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

Wat heb je tot nu toe al in je xsd staan? Hoe ziet die er nu uit?

Skill is when luck becomes a habit.


  • japsai
  • Registratie: Augustus 2003
  • Niet online
code:
1
minOccurs="1"


als attribuut van de element declaratie van 'Antwoord' .

Maar dit hoort thuis in: Webdesign, Markup & Clientside Scripting denk ik.

[ Voor 8% gewijzigd door japsai op 06-10-2006 10:38 ]


  • TheNameless
  • Registratie: September 2001
  • Laatst online: 07-02-2025

TheNameless

Jazzballet is vet!

Had toch niks te doen :)
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
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/NewXMLSchema" xmlns:tns="http://www.example.org/NewXMLSchema">
    <element name="field">
        <complexType>
            <sequence>
                <element name="Antwoord" type="string" minOccurs="1" maxOccurs="1"/>
                <element name="VraagTXT" type="string"/>
                <element name="VraagID" type="int"/>
                <element name="OnderdeelID" type="int"/>
                <element name="OnderdeelTXT" type="string"/>
            </sequence>
            <attribute name="id" type="int"/>
            <attribute name="taborder" type="int"/>
        </complexType>
    </element>

    <element name="test">
        <complexType>
            <sequence>
                <element ref="tns:Testen" minOccurs="1" maxOccurs="unbounded"/>
            </sequence>
        </complexType>
    </element>
    
    <element name="Testen">
        <complexType>
            <sequence minOccurs="1" maxOccurs="unbounded">
                <element ref="tns:field"/>
            </sequence>
        </complexType>
    </element>
</schema>


Let op de minOccurs="1" en de maxOccurs="1"
Dit betekend dus dat hij minimaal 1 keer, en maximaal 1 keer mag voorkomen, dus aanwezig moet zijn.

edit: Volgens mij hoeft de minOccurs en maxOccurs niet eens als ze in een <sequence> blok staan, maar dat weet ik niet zeker.

[ Voor 26% gewijzigd door TheNameless op 06-10-2006 12:40 ]

Ducati: making mechanics out of riders since 1946