Hallo,
Voor het querien van een remote database dient middels XML een uitvraag gedaan te worden om records op te halen. Nu heb ik in VBA een script gebouwd wat dit perfect uitvoert waarin onderstaand XML schema als response wordt gegeven. Volgende stap is om dit script onder te brengen in SSIS oackage zodat het script in een scheduled task kan runnen. Het probleem is dat SSIS naast het XML schema ook een XSD eist. Nu heb ik vanuit de XML de XSD opgebouwd maar ik blijf een foutmelding krijgen als ik het de XML tegen de XSD afzet.
Ik heb gebruik gemaakt van de volgende site om dit te testen.
Zowel de XML als de XSD zijn volgens deze site vormtechnisch correct.
De fout lijkt te zitten in het stukje bij regel 86 - 96 in de XSD resp. regel 70-77 in de XML.
Foutmelding uit de check van bovenstaande site :
Hieronder de XML en XSD
XSD:
Voor het querien van een remote database dient middels XML een uitvraag gedaan te worden om records op te halen. Nu heb ik in VBA een script gebouwd wat dit perfect uitvoert waarin onderstaand XML schema als response wordt gegeven. Volgende stap is om dit script onder te brengen in SSIS oackage zodat het script in een scheduled task kan runnen. Het probleem is dat SSIS naast het XML schema ook een XSD eist. Nu heb ik vanuit de XML de XSD opgebouwd maar ik blijf een foutmelding krijgen als ik het de XML tegen de XSD afzet.
Ik heb gebruik gemaakt van de volgende site om dit te testen.
Zowel de XML als de XSD zijn volgens deze site vormtechnisch correct.
De fout lijkt te zitten in het stukje bij regel 86 - 96 in de XSD resp. regel 70-77 in de XML.
Foutmelding uit de check van bovenstaande site :
Wie-o-wie kan mij hiermee helpen en de fout aanwijzen?Not valid.
Error - Line 71, 21: org.xml.sax.SAXParseException; lineNumber: 71; columnNumber: 21; cvc-complex-type.2.4.a: Invalid content was found starting with element 'activeposition'. One of '{activePosition, position}' is expected.
Hieronder de XML en XSD
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
85
86
87
88
89
90
91
92
93
94
| <response> <valid></valid> <resource> <email></email> <code></code> <lastName></lastName> <firstNames></firstNames> <fullName></fullName> <initials></initials> <infix></infix> <forename></forename> <titleBefore></titleBefore> <titleAfter></titleAfter> <isMaterial></isMaterial> <gender></gender> <language></language> <contactPerson></contactPerson> <privateAddress></privateAddress> <privatePostcode></privatePostcode> <privateCity></privateCity> <privateCountry></privateCountry> <privateTelephone></privateTelephone> <privateFax></privateFax> <privateMobile></privateMobile> <privateEmail></privateEmail> <birthDate></birthDate> <businessTelephone></businessTelephone> <businessFax></businessFax> <businessMobile></businessMobile> <isActive></isActive> <mailing></mailing> <freefield1></freefield1> <freefield2></freefield2> <freefield3></freefield3> <startDate></startDate> <endDate></endDate> <employeeNumber></employeeNumber> <bankAccountNumber></bankAccountNumber> <backupTime></backupTime> <backupExpenses></backupExpenses> <productivity></productivity> <numberOfHolidays></numberOfHolidays> <balanceHolidaysLastYear></balanceHolidaysLastYear> <regionCalendar></regionCalendar> <isExternalResource></isExternalResource> <sendEmailNotificationDueTimesheets></sendEmailNotificationDueTimesheets> <workingHoursMonday></workingHoursMonday> <workingHoursTuesday></workingHoursTuesday> <workingHoursWednesday></workingHoursWednesday> <workingHoursThursday></workingHoursThursday> <workingHoursFriday></workingHoursFriday> <workingHoursSaturday></workingHoursSaturday> <workingHoursSunday></workingHoursSunday> <startTimeMonday></startTimeMonday> <startTimeTuesday></startTimeTuesday> <startTimeWednesday></startTimeWednesday> <startTimeThursday></startTimeThursday> <startTimeFriday></startTimeFriday> <startTimeSaturday></startTimeSaturday> <startTimeSunday></startTimeSunday> <color></color> <organisationalUnits> <activeOrganisationalUnit></activeOrganisationalUnit> <organisationalUnit> <code></code> <name></name> <date></date> </organisationalUnit> </organisationalUnits> <positions> <activeposition></activeposition> <position> <code></code> <name></name> <date></date> </position> </positions> <skills> <skill> <skill></skill> <level></level> <date></date> </skill> </skills> <rates> <rate> <rate></rate> <type></type> <date></date> <currency></currency> </rate> </rates> </resource> </response> |
XSD:
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
| <?xml version="1.0"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="valid" type="xs:string" /> <xs:element minOccurs="0" name="resource"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="email" type="xs:string" /> <xs:element minOccurs="0" name="code" type="xs:string" /> <xs:element minOccurs="0" name="lastName" type="xs:string" /> <xs:element minOccurs="0" name="firstNames" type="xs:string" /> <xs:element minOccurs="0" name="fullName" type="xs:string" /> <xs:element minOccurs="0" name="initials" type="xs:string" /> <xs:element minOccurs="0" name="infix" type="xs:string" /> <xs:element minOccurs="0" name="forename" type="xs:string" /> <xs:element minOccurs="0" name="titleBefore" type="xs:string" /> <xs:element minOccurs="0" name="titleAfter" type="xs:string" /> <xs:element minOccurs="0" name="isMaterial" type="xs:string" /> <xs:element minOccurs="0" name="gender" type="xs:string"/> <xs:element minOccurs="0" name="language" type="xs:string"/> <xs:element minOccurs="0" name="contactPerson" type="xs:string"/> <xs:element minOccurs="0" name="privateAddress" type="xs:string"/> <xs:element minOccurs="0" name="privatePostcode" type="xs:string"/> <xs:element minOccurs="0" name="privateCity" type="xs:string" /> <xs:element minOccurs="0" name="privateCountry" type="xs:string" /> <xs:element minOccurs="0" name="privateTelephone" type="xs:string" /> <xs:element minOccurs="0" name="privateFax" type="xs:string" /> <xs:element minOccurs="0" name="privateMobile" type="xs:string" /> <xs:element minOccurs="0" name="privateEmail" type="xs:string" /> <xs:element minOccurs="0" name="birthDate" type="xs:string" /> <xs:element minOccurs="0" name="businessTelephone" type="xs:string" /> <xs:element minOccurs="0" name="businessFax" type="xs:string" /> <xs:element minOccurs="0" name="businessMobile" type="xs:string" /> <xs:element minOccurs="0" name="isActive" type="xs:string" /> <xs:element minOccurs="0" name="mailing" type="xs:string" /> <xs:element minOccurs="0" name="freefield1" type="xs:string" /> <xs:element minOccurs="0" name="freefield2" type="xs:string" /> <xs:element minOccurs="0" name="freefield3" type="xs:string" /> <xs:element minOccurs="0" name="startDate" type="xs:string" /> <xs:element minOccurs="0" name="endDate" type="xs:string" /> <xs:element minOccurs="0" name="employeeNumber" type="xs:string" /> <xs:element minOccurs="0" name="socialSecurityNumber" type="xs:string" /> <xs:element minOccurs="0" name="bankAccountNumber" type="xs:string" /> <xs:element minOccurs="0" name="backupTime" type="xs:string" /> <xs:element minOccurs="0" name="backupExpenses" type="xs:string" /> <xs:element minOccurs="0" name="productivity" type="xs:string" /> <xs:element minOccurs="0" name="numberOfHolidays" type="xs:string" /> <xs:element minOccurs="0" name="balanceHolidaysLastYear" type="xs:string" /> <xs:element minOccurs="0" name="balanceTimeForTime" type="xs:string" /> <xs:element minOccurs="0" name="regionCalendar" type="xs:string" /> <xs:element minOccurs="0" name="isExternalResource" type="xs:string" /> <xs:element minOccurs="0" name="sendEmailNotificationDueTimesheets" type="xs:string"/> <xs:element minOccurs="0" name="workingHoursMonday" type="xs:string" /> <xs:element minOccurs="0" name="workingHoursTuesday" type="xs:string" /> <xs:element minOccurs="0" name="workingHoursWednesday" type="xs:string" /> <xs:element minOccurs="0" name="workingHoursThursday" type="xs:string" /> <xs:element minOccurs="0" name="workingHoursFriday" type="xs:string" /> <xs:element minOccurs="0" name="workingHoursSaturday" type="xs:string" /> <xs:element minOccurs="0" name="workingHoursSunday" type="xs:string" /> <xs:element minOccurs="0" name="startTimeMonday" type="xs:string"/> <xs:element minOccurs="0" name="startTimeTuesday" type="xs:string"/> <xs:element minOccurs="0" name="startTimeWednesday" type="xs:string"/> <xs:element minOccurs="0" name="startTimeThursday" type="xs:string" /> <xs:element minOccurs="0" name="startTimeFriday" type="xs:string" /> <xs:element minOccurs="0" name="startTimeSaturday" type="xs:string" /> <xs:element minOccurs="0" name="startTimeSunday" type="xs:string" /> <xs:element minOccurs="0" name="color" type="xs:string"/> <xs:element name="organisationalUnits" > <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="activeOrganisationalUnit" type="xs:string"/> <xs:element minOccurs="0" maxOccurs="unbounded" name="organisationalUnit" > <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="code" type="xs:string" /> <xs:element minOccurs="0" name="name" type="xs:string" /> <xs:element minOccurs="0" name="date" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="positions" > <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="activePosition" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="position" > <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="code" type="xs:string" /> <xs:element minOccurs="0" name="name" type="xs:string" /> <xs:element minOccurs="0" name="date" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="skills" > <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="skill" > <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="skill" type="xs:string" /> <xs:element minOccurs="0" name="level" type="xs:string" /> <xs:element minOccurs="0" name="date" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="rates" > <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="rate" > <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="rate" type="xs:string" /> <xs:element minOccurs="0" name="type" type="xs:string" /> <xs:element minOccurs="0" name="date" type="xs:string" /> <xs:element minOccurs="0" name="currency" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> |
M@Dd09