? EDEX naar BV Access SQLite
Of een oplissing om dmv php deze bestanden om te zetten naar csv of excel.
Iemand anders ervaring met deze bestanden..?
ASCII bestanden.
Bedankt dit document had ik net nodig... Ik weet niet of ik verkeerd gezocht heb of dat iker over heen gekeken heb.
MVG
Andreas
Gewijzigd op 01/01/1970 01:00:00 door Andreas Warnaar
Dus het over zetten van EDEX naar EXCEL of ACCESS zou kunnen maar misschien gewoon naar XML zou ook een optie zijn..
Als iemand dergelijk script in heeft of weet waar ik meer informatie kan vinden heel graag!
MVG
Gewijzigd op 01/01/1970 01:00:00 door Andreas Warnaar
Regel voor regel inlezen en dan vervolgens dmv substr en trim een array opbouwen en deze omzetten in CSV of inserten in Access dmv ODBC (klik op mijn naam voor Tutorial).
Mijn EDEX bestanden komen uit Rovict ESIS. Ik heb in de toelichting een aantal afwijkingen / bijzonderheden toe gelicht.
Code (php)
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
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
<?php
// Laden van alle EDEX bestanden.
$aEDEXLL = file ('EDEXLL.txt');
$aEDEXLK = file ('EDEXLK.txt');
$aEDEXGR = file ('EDEXGR.txt');
$aEDEXGL = file ('EDEXLG.txt');
### Record-layout leerlinggegevens in EDEXLL.TXT ################################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLL.TXT bevat de volgende gegevens van een leerling. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 achternaam 40 karakters 01 t/m 40 #
# 2 tussenvoegsel 10 karakters 41 t/m 50 #
# 3 voornaam 20 karakters 51 t/m 70 #
# 4 geboortedatum 8 karakters 71 t/m 78 format: DD/MM/JJ [1] #
# 5 geslacht 1 karakter 79 format J of M #
# 6 land van herkomst 1 karakter 80 numeriek: 0 = autochtoon, 1 = allochtoon #
# 7 leerlingkey 5 karakters 81 t/m 85 numeriek [2] #
# 8 groeps key 5 karakters 86 t/m 90 alfanumeriek [3] #
#---------------------------------------------------------------------------------------------------------------#
# [1] Er zijn ook pakketten die een dash in plaats van een slash gebruiken, dus DD-MM-JJ. #
# Bij het importeren is het verstandig om met beide varianten rekening te houden. #
# [2] Er zijn ook pakketten die een (decimale) punt in de leerlingkey opnemen. #
# [3] Een leerling komt in precies één groep voor. #
#################################################################################################################
### Uitzonderling van EDEX export van ESIS .#####################################################################
# Esis reserveerd niet de juiste hoeveelheid tekens voor Groep dit zorgt voor onregelmatigheid in de regels. #
# Een groep kan uit meerdere tekens bestaan. #
# In de laatste regel van de foreach word er niet van het begin gerekent maar vanaf het einde. #
# Zo ontrekken we de datum en groep. #
# ESIS gebruikt ook een Schooljaar. Deze staat niet in record lay-out omschreven. #
#################################################################################################################
#### EDEXLL.TXT ####
foreach ($aEDEXLL as $line_num => $line) {
$aLL[$line_num]['achternaam'] =trim(substr($line, 0,40),""); // 1
$aLL[$line_num]['tussenvoeg'] =trim(substr($line,40,10),""); // 2
$aLL[$line_num]['voornaam'] =trim(substr($line,50,20),""); // 3
$aLL[$line_num]['geboortedatum']=trim(substr($line,70,8),""); // 4
$aLL[$line_num]['geslacht'] =trim(substr($line,78,1),""); // 5
$aLL[$line_num]['herkomst'] =trim(substr($line,79,1),""); // 6
$aLL[$line_num]['leerlingkey'] =trim(substr($line,80,5),""); // 7
$aLL[$line_num]['groep'] =trim(substr($line,85,-11),""); // 8
$aLL[$line_num]['schooljaar'] =trim(substr($line,-11),""); // 9
}
#### Einde EDEXLL.TXT ###########################################################################################
### Record-layout leerkrachtgegevens in EDEXLK.TXT ##############################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLK.TXT bevat de volgende gegevens van een leerkracht. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 achternaam 40 karakters 01 t/m 40 #
# 2 tussenvoegsel 10 karakters 41 t/m 50 #
# 3 voornaam 20 karakters 51 t/m 70 #
# 4 leerkrachtkey 5 karakters 71 t/m 75 alfanumeriek #
# #
#################################################################################################################
#### EDEX.TXT ####
foreach($aEDEXLK as $line_num =>$line){
$aLK[$line_num]['achternaam'] =trim(substr($line, 0,40),"");
$aLK[$line_num]['tussenvoeg'] =trim(substr($line, 40,10),"");
$aLK[$line_num]['voornaam'] =trim(substr($line, 50,20),"");
$aLK[$line_num]['leerkrachtkey'] =trim(substr($line, 70,5),"");
}
#### Einde EDEXLK.TXT ############################################################################################
### Record-layout groepgegevens in EDEXGR.TXT ###################################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXGR.TXT bevat de volgende gegevens van een groep. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 groepsnaam 30 karakters 01 t/m 30 #
# 2 jaargroep 1 karakter 31 1 t/m 8 voor jaargroepen 1 t/m 8; #
# S voor speciaal onderwijs; H voor historische groepen [1] #
# 3 groepkey 5 karakters 32 t/m 36 alfanumeriek #
# #
#################################################################################################################
### Uitzonderling van EDEX export van ESIS .#####################################################################
# ESIS staat mEer tekens toe in velden dan word aangegeven in Recaord lay-out #
# In het geval van speciaal onderwijs of combinatie groepen ( 7/8 ) kunnen er meerder tekens in het veld groep #
# voorkomen. In dit geval is er gekozen dan een groep uit maximaal 5 tekens kan bestaan. #
#################################################################################################################
#### EDEXGR.TXT ####
foreach($aEDEXGR as $line_num =>$line){
$aGR[$line_num]['groepsnaam'] =trim(substr($line, 0,30),""); // 1
$aGR[$line_num]['jaargroep'] =trim(substr($line, 29,5),""); // 2
$aGR[$line_num]['groepskey'] =trim(substr($line, 34),""); // 3
}
#### Einde EDEXGR.TXT ###########################################################################################
### Record-layout koppeling leerkrachten en groepen in EDEXLG.TXT ###############################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLG.TXT geeft aan welke leerkracht bij welke groep behoort. Hierbij kan het voorkomen dat een #
# leerkracht bij verschillende groepen behoort, en dat bij een groep verschillende leerkrachten horen. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 leerkrachtkey 5 karakters 01 t/m 05 alfanumeriek; zie EDEXLK.TXT; koppeling met veld 4 #
# 2 groepkey 5 karakters 06 t/m 10 alfanumeriek; zie EDEXGR.TXT; koppeling met veld 3 #
#################################################################################################################
foreach($aEDEXLG as $line_num =>$line){
$aLG[$line_num]['leerkrachtkey'] =trim(substr($line, 0,5),""); // 1
$aLG[$line_num]['groepskey'] =trim(substr($line, 5,5),""); // 2
}
#### Einde EDEXLG.TXT ###########################################################################################
?>
<PRE>
<?php
Print_r($aGR);
Print_r($aLG);
Print_r($aLL);
Print_r($aLK);
?>
</PRE>
// Laden van alle EDEX bestanden.
$aEDEXLL = file ('EDEXLL.txt');
$aEDEXLK = file ('EDEXLK.txt');
$aEDEXGR = file ('EDEXGR.txt');
$aEDEXGL = file ('EDEXLG.txt');
### Record-layout leerlinggegevens in EDEXLL.TXT ################################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLL.TXT bevat de volgende gegevens van een leerling. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 achternaam 40 karakters 01 t/m 40 #
# 2 tussenvoegsel 10 karakters 41 t/m 50 #
# 3 voornaam 20 karakters 51 t/m 70 #
# 4 geboortedatum 8 karakters 71 t/m 78 format: DD/MM/JJ [1] #
# 5 geslacht 1 karakter 79 format J of M #
# 6 land van herkomst 1 karakter 80 numeriek: 0 = autochtoon, 1 = allochtoon #
# 7 leerlingkey 5 karakters 81 t/m 85 numeriek [2] #
# 8 groeps key 5 karakters 86 t/m 90 alfanumeriek [3] #
#---------------------------------------------------------------------------------------------------------------#
# [1] Er zijn ook pakketten die een dash in plaats van een slash gebruiken, dus DD-MM-JJ. #
# Bij het importeren is het verstandig om met beide varianten rekening te houden. #
# [2] Er zijn ook pakketten die een (decimale) punt in de leerlingkey opnemen. #
# [3] Een leerling komt in precies één groep voor. #
#################################################################################################################
### Uitzonderling van EDEX export van ESIS .#####################################################################
# Esis reserveerd niet de juiste hoeveelheid tekens voor Groep dit zorgt voor onregelmatigheid in de regels. #
# Een groep kan uit meerdere tekens bestaan. #
# In de laatste regel van de foreach word er niet van het begin gerekent maar vanaf het einde. #
# Zo ontrekken we de datum en groep. #
# ESIS gebruikt ook een Schooljaar. Deze staat niet in record lay-out omschreven. #
#################################################################################################################
#### EDEXLL.TXT ####
foreach ($aEDEXLL as $line_num => $line) {
$aLL[$line_num]['achternaam'] =trim(substr($line, 0,40),""); // 1
$aLL[$line_num]['tussenvoeg'] =trim(substr($line,40,10),""); // 2
$aLL[$line_num]['voornaam'] =trim(substr($line,50,20),""); // 3
$aLL[$line_num]['geboortedatum']=trim(substr($line,70,8),""); // 4
$aLL[$line_num]['geslacht'] =trim(substr($line,78,1),""); // 5
$aLL[$line_num]['herkomst'] =trim(substr($line,79,1),""); // 6
$aLL[$line_num]['leerlingkey'] =trim(substr($line,80,5),""); // 7
$aLL[$line_num]['groep'] =trim(substr($line,85,-11),""); // 8
$aLL[$line_num]['schooljaar'] =trim(substr($line,-11),""); // 9
}
#### Einde EDEXLL.TXT ###########################################################################################
### Record-layout leerkrachtgegevens in EDEXLK.TXT ##############################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLK.TXT bevat de volgende gegevens van een leerkracht. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 achternaam 40 karakters 01 t/m 40 #
# 2 tussenvoegsel 10 karakters 41 t/m 50 #
# 3 voornaam 20 karakters 51 t/m 70 #
# 4 leerkrachtkey 5 karakters 71 t/m 75 alfanumeriek #
# #
#################################################################################################################
#### EDEX.TXT ####
foreach($aEDEXLK as $line_num =>$line){
$aLK[$line_num]['achternaam'] =trim(substr($line, 0,40),"");
$aLK[$line_num]['tussenvoeg'] =trim(substr($line, 40,10),"");
$aLK[$line_num]['voornaam'] =trim(substr($line, 50,20),"");
$aLK[$line_num]['leerkrachtkey'] =trim(substr($line, 70,5),"");
}
#### Einde EDEXLK.TXT ############################################################################################
### Record-layout groepgegevens in EDEXGR.TXT ###################################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXGR.TXT bevat de volgende gegevens van een groep. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 groepsnaam 30 karakters 01 t/m 30 #
# 2 jaargroep 1 karakter 31 1 t/m 8 voor jaargroepen 1 t/m 8; #
# S voor speciaal onderwijs; H voor historische groepen [1] #
# 3 groepkey 5 karakters 32 t/m 36 alfanumeriek #
# #
#################################################################################################################
### Uitzonderling van EDEX export van ESIS .#####################################################################
# ESIS staat mEer tekens toe in velden dan word aangegeven in Recaord lay-out #
# In het geval van speciaal onderwijs of combinatie groepen ( 7/8 ) kunnen er meerder tekens in het veld groep #
# voorkomen. In dit geval is er gekozen dan een groep uit maximaal 5 tekens kan bestaan. #
#################################################################################################################
#### EDEXGR.TXT ####
foreach($aEDEXGR as $line_num =>$line){
$aGR[$line_num]['groepsnaam'] =trim(substr($line, 0,30),""); // 1
$aGR[$line_num]['jaargroep'] =trim(substr($line, 29,5),""); // 2
$aGR[$line_num]['groepskey'] =trim(substr($line, 34),""); // 3
}
#### Einde EDEXGR.TXT ###########################################################################################
### Record-layout koppeling leerkrachten en groepen in EDEXLG.TXT ###############################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLG.TXT geeft aan welke leerkracht bij welke groep behoort. Hierbij kan het voorkomen dat een #
# leerkracht bij verschillende groepen behoort, en dat bij een groep verschillende leerkrachten horen. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 leerkrachtkey 5 karakters 01 t/m 05 alfanumeriek; zie EDEXLK.TXT; koppeling met veld 4 #
# 2 groepkey 5 karakters 06 t/m 10 alfanumeriek; zie EDEXGR.TXT; koppeling met veld 3 #
#################################################################################################################
foreach($aEDEXLG as $line_num =>$line){
$aLG[$line_num]['leerkrachtkey'] =trim(substr($line, 0,5),""); // 1
$aLG[$line_num]['groepskey'] =trim(substr($line, 5,5),""); // 2
}
#### Einde EDEXLG.TXT ###########################################################################################
?>
<PRE>
<?php
Print_r($aGR);
Print_r($aLG);
Print_r($aLL);
Print_r($aLK);
?>
</PRE>
Gewijzigd op 01/01/1970 01:00:00 door Andreas Warnaar
Ik zal het script in de scriptlib plaatse zodra het idee is uit gewerkt.. Tot die tijd zal ik de wijzigingen hier plaatsen..
Als je opmerkingen hebt of andere toevoegingen gaarne me het per PM te melden of in deze topic.
## Code update: Maakt nu een xml bestand aan van de leerlingen.
Code (php)
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<?php
// Laden van alle EDEX bestanden.
$aEDEXLL = file ('EDEXLL.txt');
$aEDEXLK = file ('EDEXLK.txt');
$aEDEXGR = file ('EDEXGR.txt');
$aEDEXLG = file ('EDEXLG.txt');
### Record-layout leerlinggegevens in EDEXLL.TXT ################################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLL.TXT bevat de volgende gegevens van een leerling. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 achternaam 40 karakters 01 t/m 40 #
# 2 tussenvoegsel 10 karakters 41 t/m 50 #
# 3 voornaam 20 karakters 51 t/m 70 #
# 4 geboortedatum 8 karakters 71 t/m 78 format: DD/MM/JJ [1] #
# 5 geslacht 1 karakter 79 format J of M #
# 6 land van herkomst 1 karakter 80 numeriek: 0 = autochtoon, 1 = allochtoon #
# 7 leerlingkey 5 karakters 81 t/m 85 numeriek [2] #
# 8 groeps key 5 karakters 86 t/m 90 alfanumeriek [3] #
#---------------------------------------------------------------------------------------------------------------#
# [1] Er zijn ook pakketten die een dash in plaats van een slash gebruiken, dus DD-MM-JJ. #
# Bij het importeren is het verstandig om met beide varianten rekening te houden. #
# [2] Er zijn ook pakketten die een (decimale) punt in de leerlingkey opnemen. #
# [3] Een leerling komt in precies één groep voor. #
#################################################################################################################
### Uitzonderling van EDEX export van ESIS .#####################################################################
# Esis reserveerd niet de juiste hoeveelheid tekens voor Groep dit zorgt voor onregelmatigheid in de regels. #
# Een groep kan uit meerdere tekens bestaan. #
# In de laatste regel van de foreach word er niet van het begin gerekent maar vanaf het einde. #
# Zo ontrekken we de datum en groep. #
# ESIS gebruikt ook een Schooljaar. Deze staat niet in record lay-out omschreven. #
#################################################################################################################
#### EDEXLL.TXT ####
foreach ($aEDEXLL as $line_num => $line) {
$aLL[$line_num]['achternaam'] =trim(substr($line, 0,40)," "); // 1
$aLL[$line_num]['tussenvoeg'] =trim(substr($line,40,10)," "); // 2
$aLL[$line_num]['voornaam'] =trim(substr($line,50,20)," "); // 3
$aLL[$line_num]['geboortedatum']=trim(substr($line,70,8)," "); // 4
$aLL[$line_num]['geslacht'] =trim(substr($line,78,1)," "); // 5
$aLL[$line_num]['herkomst'] =trim(substr($line,79,1)," "); // 6
$aLL[$line_num]['leerlingkey'] =trim(substr($line,80,5)," "); // 7
$aLL[$line_num]['groep'] =trim(substr($line,85,-11)," "); // 8
$aLL[$line_num]['schooljaar'] =trim(substr($line,-11)," "); // 9
}
#### Einde EDEXLL.TXT ###########################################################################################
### Record-layout leerkrachtgegevens in EDEXLK.TXT ##############################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLK.TXT bevat de volgende gegevens van een leerkracht. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 achternaam 40 karakters 01 t/m 40 #
# 2 tussenvoegsel 10 karakters 41 t/m 50 #
# 3 voornaam 20 karakters 51 t/m 70 #
# 4 leerkrachtkey 5 karakters 71 t/m 75 alfanumeriek #
# #
#################################################################################################################
#### EDEX.TXT ####
foreach($aEDEXLK as $line_num =>$line){
$aLK[$line_num]['achternaam'] =trim(substr($line, 0,40)," ");
$aLK[$line_num]['tussenvoeg'] =trim(substr($line, 40,10)," ");
$aLK[$line_num]['voornaam'] =trim(substr($line, 50,20)," ");
$aLK[$line_num]['leerkrachtkey'] =trim(substr($line, 70,5)," ");
}
#### Einde EDEXLK.TXT ############################################################################################
### Record-layout groepgegevens in EDEXGR.TXT ###################################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXGR.TXT bevat de volgende gegevens van een groep. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 groepsnaam 30 karakters 01 t/m 30 #
# 2 jaargroep 1 karakter 31 1 t/m 8 voor jaargroepen 1 t/m 8; #
# S voor speciaal onderwijs; H voor historische groepen [1] #
# 3 groepkey 5 karakters 32 t/m 36 alfanumeriek #
# #
#################################################################################################################
### Uitzonderling van EDEX export van ESIS .#####################################################################
# ESIS staat mEer tekens toe in velden dan word aangegeven in Recaord lay-out #
# In het geval van speciaal onderwijs of combinatie groepen ( 7/8 ) kunnen er meerder tekens in het veld groep #
# voorkomen. In dit geval is er gekozen dan een groep uit maximaal 5 tekens kan bestaan. #
#################################################################################################################
#### EDEXGR.TXT ####
foreach($aEDEXGR as $line_num =>$line){
$aGR[$line_num]['groepsnaam'] =trim(substr($line, 0,30)," "); // 1
$aGR[$line_num]['jaargroep'] =trim(substr($line, 29,5)," "); // 2
$aGR[$line_num]['groepskey'] =trim(substr($line, 34)," "); // 3
}
#### Einde EDEXGR.TXT ###########################################################################################
### Record-layout koppeling leerkrachten en groepen in EDEXLG.TXT ###############################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLG.TXT geeft aan welke leerkracht bij welke groep behoort. Hierbij kan het voorkomen dat een #
# leerkracht bij verschillende groepen behoort, en dat bij een groep verschillende leerkrachten horen. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 leerkrachtkey 5 karakters 01 t/m 05 alfanumeriek; zie EDEXLK.TXT; koppeling met veld 4 #
# 2 groepkey 5 karakters 06 t/m 10 alfanumeriek; zie EDEXGR.TXT; koppeling met veld 3 #
#################################################################################################################
foreach($aEDEXLG as $line_num =>$line){
$aLG[$line_num]['leerkrachtkey'] =trim(substr($line, 0,5)," "); // 1
$aLG[$line_num]['groepskey'] =trim(substr($line, 5,5)," "); // 2
}
#### Einde EDEXLG.TXT ###########################################################################################
class cls_EdexXML extends DomDocument{
private $m_Root;
private $m_Datum;
Private $m_aLL;
private $m_aLK;
private $m_aGL;
private $m_aGR;
function __construct(){
parent::__construct('1.0');
$this->m_Root= $this->createElement("root");
$this->m_Root= $this->appendChild($this->m_Root);
$this->m_Datum = $this->createElement("update_datum");
$this->m_Datum = $this->m_Root->appendChild($this->m_Datum);
$Node = $this->createTextNode(date("m-d-y H:i "));
$Node = $this->m_Datum->appendChild($Node);
}
function XML($ap_List, $p_ElementName){
foreach ($ap_List as $key => $value){
$p_ParentElement = $this->createElement($p_ElementName);
$p_ParentElement = $this->m_Root->appendChild($p_ParentElement);
$p_ParentElement->setAttribute("id", $key);
foreach ($value as $ChildElement =>$Node ){
if (!empty($ChildElement)){
$ChildElement = $this->createElement($ChildElement);
$ChildElement = $p_ParentElement->appendChild($ChildElement);
$Node = $this->createTextNode($Node);
$Node = $ChildElement->appendChild($Node);
}
}
}
}
}
?>
<?php
//Print_r($aLL);
$Object = new cls_EdexXML;
$Object->XML($aLL,'leerling');
$Object->XML($aLK,'leerkracht');
$Object->XML($aGR,'groepen');
$Object->XML($aLG,'Leerkachtengroepen');
$Object->save("edex.xml");
?>
// Laden van alle EDEX bestanden.
$aEDEXLL = file ('EDEXLL.txt');
$aEDEXLK = file ('EDEXLK.txt');
$aEDEXGR = file ('EDEXGR.txt');
$aEDEXLG = file ('EDEXLG.txt');
### Record-layout leerlinggegevens in EDEXLL.TXT ################################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLL.TXT bevat de volgende gegevens van een leerling. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 achternaam 40 karakters 01 t/m 40 #
# 2 tussenvoegsel 10 karakters 41 t/m 50 #
# 3 voornaam 20 karakters 51 t/m 70 #
# 4 geboortedatum 8 karakters 71 t/m 78 format: DD/MM/JJ [1] #
# 5 geslacht 1 karakter 79 format J of M #
# 6 land van herkomst 1 karakter 80 numeriek: 0 = autochtoon, 1 = allochtoon #
# 7 leerlingkey 5 karakters 81 t/m 85 numeriek [2] #
# 8 groeps key 5 karakters 86 t/m 90 alfanumeriek [3] #
#---------------------------------------------------------------------------------------------------------------#
# [1] Er zijn ook pakketten die een dash in plaats van een slash gebruiken, dus DD-MM-JJ. #
# Bij het importeren is het verstandig om met beide varianten rekening te houden. #
# [2] Er zijn ook pakketten die een (decimale) punt in de leerlingkey opnemen. #
# [3] Een leerling komt in precies één groep voor. #
#################################################################################################################
### Uitzonderling van EDEX export van ESIS .#####################################################################
# Esis reserveerd niet de juiste hoeveelheid tekens voor Groep dit zorgt voor onregelmatigheid in de regels. #
# Een groep kan uit meerdere tekens bestaan. #
# In de laatste regel van de foreach word er niet van het begin gerekent maar vanaf het einde. #
# Zo ontrekken we de datum en groep. #
# ESIS gebruikt ook een Schooljaar. Deze staat niet in record lay-out omschreven. #
#################################################################################################################
#### EDEXLL.TXT ####
foreach ($aEDEXLL as $line_num => $line) {
$aLL[$line_num]['achternaam'] =trim(substr($line, 0,40)," "); // 1
$aLL[$line_num]['tussenvoeg'] =trim(substr($line,40,10)," "); // 2
$aLL[$line_num]['voornaam'] =trim(substr($line,50,20)," "); // 3
$aLL[$line_num]['geboortedatum']=trim(substr($line,70,8)," "); // 4
$aLL[$line_num]['geslacht'] =trim(substr($line,78,1)," "); // 5
$aLL[$line_num]['herkomst'] =trim(substr($line,79,1)," "); // 6
$aLL[$line_num]['leerlingkey'] =trim(substr($line,80,5)," "); // 7
$aLL[$line_num]['groep'] =trim(substr($line,85,-11)," "); // 8
$aLL[$line_num]['schooljaar'] =trim(substr($line,-11)," "); // 9
}
#### Einde EDEXLL.TXT ###########################################################################################
### Record-layout leerkrachtgegevens in EDEXLK.TXT ##############################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLK.TXT bevat de volgende gegevens van een leerkracht. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 achternaam 40 karakters 01 t/m 40 #
# 2 tussenvoegsel 10 karakters 41 t/m 50 #
# 3 voornaam 20 karakters 51 t/m 70 #
# 4 leerkrachtkey 5 karakters 71 t/m 75 alfanumeriek #
# #
#################################################################################################################
#### EDEX.TXT ####
foreach($aEDEXLK as $line_num =>$line){
$aLK[$line_num]['achternaam'] =trim(substr($line, 0,40)," ");
$aLK[$line_num]['tussenvoeg'] =trim(substr($line, 40,10)," ");
$aLK[$line_num]['voornaam'] =trim(substr($line, 50,20)," ");
$aLK[$line_num]['leerkrachtkey'] =trim(substr($line, 70,5)," ");
}
#### Einde EDEXLK.TXT ############################################################################################
### Record-layout groepgegevens in EDEXGR.TXT ###################################################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXGR.TXT bevat de volgende gegevens van een groep. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 groepsnaam 30 karakters 01 t/m 30 #
# 2 jaargroep 1 karakter 31 1 t/m 8 voor jaargroepen 1 t/m 8; #
# S voor speciaal onderwijs; H voor historische groepen [1] #
# 3 groepkey 5 karakters 32 t/m 36 alfanumeriek #
# #
#################################################################################################################
### Uitzonderling van EDEX export van ESIS .#####################################################################
# ESIS staat mEer tekens toe in velden dan word aangegeven in Recaord lay-out #
# In het geval van speciaal onderwijs of combinatie groepen ( 7/8 ) kunnen er meerder tekens in het veld groep #
# voorkomen. In dit geval is er gekozen dan een groep uit maximaal 5 tekens kan bestaan. #
#################################################################################################################
#### EDEXGR.TXT ####
foreach($aEDEXGR as $line_num =>$line){
$aGR[$line_num]['groepsnaam'] =trim(substr($line, 0,30)," "); // 1
$aGR[$line_num]['jaargroep'] =trim(substr($line, 29,5)," "); // 2
$aGR[$line_num]['groepskey'] =trim(substr($line, 34)," "); // 3
}
#### Einde EDEXGR.TXT ###########################################################################################
### Record-layout koppeling leerkrachten en groepen in EDEXLG.TXT ###############################################
# #
# BRON: http://serveropschool.nl/?section=7&page=36 #
# #
# Een regel in EDEXLG.TXT geeft aan welke leerkracht bij welke groep behoort. Hierbij kan het voorkomen dat een #
# leerkracht bij verschillende groepen behoort, en dat bij een groep verschillende leerkrachten horen. #
# Nr - Veldnaam - Grootte - Positie - Toelichting #
# 1 leerkrachtkey 5 karakters 01 t/m 05 alfanumeriek; zie EDEXLK.TXT; koppeling met veld 4 #
# 2 groepkey 5 karakters 06 t/m 10 alfanumeriek; zie EDEXGR.TXT; koppeling met veld 3 #
#################################################################################################################
foreach($aEDEXLG as $line_num =>$line){
$aLG[$line_num]['leerkrachtkey'] =trim(substr($line, 0,5)," "); // 1
$aLG[$line_num]['groepskey'] =trim(substr($line, 5,5)," "); // 2
}
#### Einde EDEXLG.TXT ###########################################################################################
class cls_EdexXML extends DomDocument{
private $m_Root;
private $m_Datum;
Private $m_aLL;
private $m_aLK;
private $m_aGL;
private $m_aGR;
function __construct(){
parent::__construct('1.0');
$this->m_Root= $this->createElement("root");
$this->m_Root= $this->appendChild($this->m_Root);
$this->m_Datum = $this->createElement("update_datum");
$this->m_Datum = $this->m_Root->appendChild($this->m_Datum);
$Node = $this->createTextNode(date("m-d-y H:i "));
$Node = $this->m_Datum->appendChild($Node);
}
function XML($ap_List, $p_ElementName){
foreach ($ap_List as $key => $value){
$p_ParentElement = $this->createElement($p_ElementName);
$p_ParentElement = $this->m_Root->appendChild($p_ParentElement);
$p_ParentElement->setAttribute("id", $key);
foreach ($value as $ChildElement =>$Node ){
if (!empty($ChildElement)){
$ChildElement = $this->createElement($ChildElement);
$ChildElement = $p_ParentElement->appendChild($ChildElement);
$Node = $this->createTextNode($Node);
$Node = $ChildElement->appendChild($Node);
}
}
}
}
}
?>
<?php
//Print_r($aLL);
$Object = new cls_EdexXML;
$Object->XML($aLL,'leerling');
$Object->XML($aLK,'leerkracht');
$Object->XML($aGR,'groepen');
$Object->XML($aLG,'Leerkachtengroepen');
$Object->save("edex.xml");
?>
Gewijzigd op 01/01/1970 01:00:00 door Andreas Warnaar