Bonjour,

J'ai un cherché durant toute la nuit mais je n'ai pas réussi à faire ce que je voulais. J'ai un énorme fichier xml et je dois modifier sa xsl.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
<?xml version="1.0"?>
<?xml-stylesheet href="keys.xslt" type="text/xsl"?>
<SCG>
	<CONFIGURATION_KEYS>
		<base_de_registre>
			<SECTION
				name="hk_lmsystem\currentcontrolset\control\computername\activecomputername">
				<KEY name="ComputerName" type="" default="" version_min=""
					description="" functional_group="" />
			</SECTION>
		</base_de_registre>
		<configscg.ini>
			<SECTION name="hk_lm\software\config scg">
				<KEY name="Abrv. Langue" type="Character" default="FR"
					version_min="2.2.11.0"
					description="The parameter that will be passed through configuration will be FR if nothing is precised at first test"
					functional_group="Language">
					<POSSIBLE_VALUES value="FR" description="French" />
					<POSSIBLE_VALUES value="EN" description="English" />
				</KEY>
				<KEY name="ActivationFunctionFFC" type="integer" default="0"
					version_min="2.3.8.0"
					description="value 0 : FFE desactivation 	, value 1 : Activate precal thickening, but no FFE shape generated and no impact on the manufacturing process  	, value 2 : Activate full functionalities of FFE V2 	, value 3 : Activate precal thickening and FFE (add 2.3.7.0)"
					functional_group="Digital cribbing">
					<POSSIBLE_VALUES value="0" description="FFE off" />
					<POSSIBLE_VALUES value="1"
						description="precal thickening on &amp; FFE off" />
					<POSSIBLE_VALUES value="2" description="FFE V2 on" />
					<POSSIBLE_VALUES value="3"
						description="precal thickening &amp; FFE on" />
				</KEY>
				<KEY name="Archivage DIGIT" type="boolean" default="False"
					version_min="2.2.11.0"
					description="Indicates if the DIGIT module archive is activated or not"
					functional_group="Archive">
					<POSSIBLE_VALUES value="1" description="Archive activated" />
					<POSSIBLE_VALUES value="0" description="no archive" />
				</KEY>
				<KEY name="Archivage FAB" type="boolean" default="False"
					version_min="2.2.11.0"
					description="Indicates if the FAB module archive is activated or not"
					functional_group="Archive">
					<POSSIBLE_VALUES value="1" description="Archive activated" />
					<POSSIBLE_VALUES value="0" description="no archive" />
				</KEY>
				<KEY name="Archivage OPT" type="boolean" default="False"
					version_min="2.2.11.0"
					description="Indicates if the OPT module archive is activated or not"
					functional_group="Archive">
					<POSSIBLE_VALUES value="1" description="Archive activated" />
					<POSSIBLE_VALUES value="0" description="no archive" />
				</KEY>
				<KEY name="Archivage TEST" type="boolean" default="False"
					version_min="2.2.11.0"
					description="Indicates if the TEST module archive is activated or not"
					functional_group="Archive">
					<POSSIBLE_VALUES value="1" description="Archive activated" />
					<POSSIBLE_VALUES value="0" description="no archive" />
				</KEY>
				<KEY name="Astigmatisme" type="boolean" default="False"
					version_min="2.2.11.0"
					description="one can choose the calculation mode of the spherical lenses :    if the value = 1, the calculation will be done with the astigmatism at the FV point, if the value = 0, the calculation will be done without the astigmatism at the FV point"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="1"
						description="astigmatism at the FV position" />
					<POSSIBLE_VALUES value="0"
						description="no astigmatism at the FV position" />
				</KEY>
				<KEY name="AutoBus" type="boolean" default="0" version_min="2.2.11.0"
					description="enables to recall the latest used bus"
					functional_group="Unknown">
					<POSSIBLE_VALUES value="1"
						description="the latest used bus can be recalled" />
					<POSSIBLE_VALUES value="0"
						description="the latest used bus canno be recalled" />
				</KEY>
				<KEY name="BaseForcedOption" type="boolean" default="0"
					version_min="2.3.10.0"
					description="0 : no activation and 1, function activation --&gt; Search the closer basis in function of the asked one without   takinf into account the diameter value then, diameter checking in function of the asked shape. If the diameter of the found basis   does not meet the diameter requirements then &quot;Diameter insufficient for the wanted basis&quot;"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="0" description="no activation" />
					<POSSIBLE_VALUES value="1" description="function activation" />
				</KEY>
				<KEY name="BaseMatchingToAllDiameters" type="boolean" default="False"
					version_min="2.3.10.0"
					description="0 (Default value) : no change in base matching rules, 1 : different diameters in base matching rules --&gt; ELOA : base Matching to all diameters"
					functional_group="Obsolete">
					<POSSIBLE_VALUES value="1"
						description="base matching authorized when different diameters" />
					<POSSIBLE_VALUES value="0"
						description="base matching unauthorized when different diameters" />
				</KEY>
				<KEY name="BTF Control type" type="boolean" default="0"
					version_min="2.2.11.0"
					description="There are two means of controling the BTF (Bi / Tri Focal) products, if the value is 0, the BTF product is controled at the Geometrical Center, if the value is 1,    the BTF product is controled at the PRP"
					functional_group="Manufacturing calculation">
					<POSSIBLE_VALUES value="1"
						description="the BTF product is controled at the PRP point" />
					<POSSIBLE_VALUES value="0"
						description="the BTF product is controled at the GC point" />
				</KEY>
				<KEY name="CachedModelisationFiles" type="boolean" default="False"
					version_min="2.3.9.0"
					description="With values 0 or 1, if activated (value =1), all the files that are gotten back from the database are kept in memory"
					functional_group="Surface files">
					<POSSIBLE_VALUES value="0" description="deactivated" />
					<POSSIBLE_VALUES value="1" description="activated" />
				</KEY>
				<KEY name="CacheSize" type="integer" default="0" version_min="2.3.9.0"
					description="With values 0 to n : number of surface files to be kept in the cache"
					functional_group="Surface files">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="Calcul SCG FAB" type="boolean" default="True"
					version_min="2.2.11.0"
					description="returns the value of the execution of SCG Fab calculation , if value = 1, the Fab execution calculation is returned, if value = 0, the Fab execution calculation is not returned"
					functional_group="Manufacturing calculation">
					<POSSIBLE_VALUES value="1"
						description="value of the execution of SCG Fab calculation returned" />
					<POSSIBLE_VALUES value="0"
						description="value of the execution of SCG Fab calculation not returned" />
				</KEY>
				<KEY name="Check SCGnet for updates" type="" default="0"
					version_min="" description="" functional_group="Obsolete" />
				<KEY name="Chemin Archive DIGIT" type="character"
					default="MyGetSCGCommonFiles+'Digit\'" version_min="2.2.11.0"
					description="Indicates where SCG will read the shape files needed for calculation"
					functional_group="Files">
					<POSSIBLE_VALUES value="path" />
				</KEY>
				<KEY name="CheminBD" type="" default="" version_min=""
					description="" functional_group="Obsolete" />
				<KEY name="ClearCache" type="boolean" default="False"
					version_min="2.3.9.0"
					description="With values 0 or 1, If activated (value =1), the cache will be emptied during   next calculation and value of this key will be automatically changed to 0."
					functional_group="Surface files">
					<POSSIBLE_VALUES value="0" description="clear cache" />
					<POSSIBLE_VALUES value="1" description="keep cache" />
				</KEY>
				<KEY name="DeclinaisonApproximationOption" type="boolean"
					default="False" version_min="2.2.11.0"
					description="It concerns the Ipseo AB product, if the value is 0, we don't authorise the declension of the back surface, if the value is 1, we authorize it"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="1"
						description="the declension of the back surface is authorized" />
					<POSSIBLE_VALUES value="0"
						description="the declension of the back surface is not authorized" />
				</KEY>
				<KEY name="DefaultAlloyDiameter" type="?" default="50"
					version_min="?" description="?" functional_group="Unknown">
					<POSSIBLE_VALUES value="?" />
				</KEY>
				<KEY name="DistanceFromEdge" type="Double" default="2.3"
					version_min="2.2.11.0"
					description="It concerns the Essilor logo that we want to be printed on the finite lense : the logo will be printed   at the distance from the edge of the lense defined by this parameter"
					functional_group="Unknown">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="EpMiniVanneILC" type="double" default="0.8"
					version_min="2.2.11.0"
					description="Minimum thickness of the valve for the ILC Process in mm, ILC (In Lab Casting : technics so as to manufacture finite lenses   by injection between two matrixes"
					functional_group="Obsolete">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="ExtrapolationCritereRayonTore" type="Double" default="60"
					version_min="2.2.11.0"
					description="The back surface is extrapolated when radii smaller than RayonTore value in mm is found on this surface"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="ExtrapolationDiametreConserve" type="Double" default="50"
					version_min="2.2.11.0"
					description="When the back surface is extrapolated, it is a diameter value we keep for the calculation.   The surface is extrapolated according to this value given in mm"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="ExtrapolationDiametreFinal" type="Double" default="120"
					version_min="2.2.11.0"
					description="The back surface is extrapolated on a maximum diameter value that is this DiametreFinal given in mm"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="FFCSharpEdgeAllowed" type="boolean" default="false"
					version_min="2.3.6.0" description="authorization for glass cutting (&lt;FFE_EpBmini)"
					functional_group="Digital cribbing">
					<POSSIBLE_VALUES value="0..1" />
				</KEY>
				<KEY name="FFCStopAllowed" type="boolean" default="true"
					version_min="2.3.6.0"
					description="authorization for machining fusible metal when there is edging"
					functional_group="Digital cribbing">
					<POSSIBLE_VALUES value="0..1" />
				</KEY>
				<KEY name="FocimeterSimulationAvailableForToric" type="boolean"
					default="True" version_min="2.3.11.0"
					description="For the Calculation of the Fronto Componants for SRF and TDS products, it enables to calculate these componants : if value = 1, the componants are calculated, if value = 0, the componants are not calculated"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="1"
						description="Fronto Components calculated" />
					<POSSIBLE_VALUES value="0"
						description="fronto components not calculated" />
				</KEY>
				<KEY name="ForcedRangeUselessOption" type="boolean" default="False"
					version_min="2.2.11.0"
					description="When the range of basis is useless forced, if the value is 0, we keep taking this range into account, if the value is 1, we move back to the standard range"
					functional_group="Unknown">
					<POSSIBLE_VALUES value="1"
						description="we move back to the standard range (range of basis useless forced)" />
					<POSSIBLE_VALUES value="0"
						description="we don't move back to the standard range (range of basis useless forced)" />
				</KEY>
				<KEY name="Impression" type="boolean" default="False"
					version_min="2.3.10.0"
					description="authorization for printing the result, if value = 0, no printing, if value = 1, the printing is authorized"
					functional_group="Unknown">
					<POSSIBLE_VALUES value="0" description="no printing" />
					<POSSIBLE_VALUES value="1" description="the printing is authorized" />
				</KEY>
				<KEY name="IsolateModelisationFiles" type="boolean" default="False"
					version_min="2.3.9.0"
					description="Isolate surface files, with values 0 or 1: If activated (value=1) all the surface files are isolated in a subdirectory"
					functional_group="Surface files">
					<POSSIBLE_VALUES value="0" description="deactivated" />
					<POSSIBLE_VALUES value="1" description="activated" />
				</KEY>
				<KEY name="Keep Surface/Control files" type="boolean" default="False"
					version_min="2.2.11.0"
					description="Keep or delete all intermediate files generated by SCG during calculation"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="0" description="Delete intermediate files" />
					<POSSIBLE_VALUES value="1" description="Keep intermediate files" />
				</KEY>
				<KEY name="Langue" type="Character" default="FRANCAIS"
					version_min="2.2.11.0"
					description="Configuration Options : if Fran?ais is chosen, the whole language will be french, if nothing is precised at first"
					functional_group="Language">
					<POSSIBLE_VALUES value="Fran?ais"
						description="French set at default language" />
					<POSSIBLE_VALUES value="English"
						description="English set at default language" />
				</KEY>
				<KEY name="LoginAuto" type="boolean" default="0" version_min="2.2.11.0"
					description="enables to display the login window" functional_group="Unknown">
					<POSSIBLE_VALUES value="1"
						description="the login window is displayed" />
					<POSSIBLE_VALUES value="0"
						description="the login window is not displayed" />
				</KEY>
				<KEY name="MacrosDiametrePupilleCercle1" type="" default="4"
					version_min="" description="" functional_group="Unknown" />
				<KEY name="MacrosDiametrePupilleCercle2" type="" default="6"
					version_min="" description="" functional_group="Unknown" />
				<KEY name="MacrosIndice" type="" default="1.53" version_min=""
					description="" functional_group="Unknown" />
				<KEY name="MacrosRayonCercle1" type="" default="17.5"
					version_min="" description="" functional_group="Unknown" />
				<KEY name="MacrosRayonCercle2" type="" default="25" version_min=""
					description="" functional_group="Unknown" />
				<KEY name="Max_FvCylinder_Machining" type="double" default="6.5"
					version_min="2.3.9.0"
					description="if the calculated cylinder in Far Vision for machining is greater than this value 					, an error message appear : &quot;Design of the lens not guaranteed because prescription out 					of the validated range&quot;"
					functional_group="Machining calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="Max_FvCylinder_Polishing" type="double" default="6.5"
					version_min="2.3.11.0"
					description="if the calculated cylinder in Far Vision for polishing is greater than this value, an error message 					appear : &quot;Design of the lens not guaranteed because prescription out of the validated range&quot;"
					functional_group="Polishing calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="Max_PowerVariation_Machining" type="double" default="4.5"
					version_min="2.3.9.0"
					description="if the &quot;calculated PowerVariation&quot; for machining is greater than this value, the same error message as above appears."
					functional_group="Machining calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="Max_PowerVariation_Polishing" type="double" default="4.5"
					version_min="2.3.11.0"
					description="if the &quot;calculated PowerVariation&quot; for polishing is greater than this value, an error message 					appear : &quot;Design of the lens not guaranteed because prescription out of the validated range&quot;"
					functional_group="Polishing calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="MinEdgeThickness" type="" default="0.3" version_min=""
					description="" functional_group="Unknown" />
				<KEY name="Nb Jours Archivage DIGIT" type="integer" default="0"
					version_min="2.2.11.0" description="Number of days for the DIGIT files to be archieved"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="1..unbound" />
				</KEY>
				<KEY name="Nb Jours Archivage FAB" type="integer" default="0"
					version_min="2.2.11.0" description="Number of days for the FAB files to be archieved"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="1..unbound" />
				</KEY>
				<KEY name="Nb Jours Archivage OPT" type="integer" default="0"
					version_min="2.2.11.0" description="Number of days for the OPT files to be archieved"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="1..unbound" />
				</KEY>
				<KEY name="Nb Jours Archivage TEST" type="integer" default="0"
					version_min="2.2.11.0" description="Number of days for the TEST files to be archieved"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="1..unbound" />
				</KEY>
				<KEY name="NoToolOption" type="boolean" default="False"
					version_min="2.2.11.0"
					description="Request from Germany : traditional surfacing techno, when the tool is not present in the DataBase   , if the value is 0, nothing is done, if the value is 1, the manufacturing calculation is proposed to be done anyway"
					functional_group="Manufacturing calculation">
					<POSSIBLE_VALUES value="0" description="nothing is done" />
					<POSSIBLE_VALUES value="1"
						description="the manufacturing calculation is proposed to be done anyway" />
				</KEY>
				<KEY name="OptimJCServerName" type="character" default="localhost"
					version_min="2.2.11.0"
					description="used in the asynchronous mode to define the JC address. In practical it seems to work only in localhost"
					functional_group="Parrallel optimization">
					<POSSIBLE_VALUES value="abcdef?" />
				</KEY>
				<KEY name="OptimPortJC" type="character" default="5022"
					version_min="2.2.11.0"
					description="used in the asynchronous mode to define the port with which SCG will talk to the JC"
					functional_group="Parrallel optimization">
					<POSSIBLE_VALUES value="abcdef?" />
				</KEY>
				<KEY name="OptimPortMGR" type="character" default="5023"
					version_min="2.2.11.0"
					description="used in the synchronous mode to define the port with which SCG will talk to the remote manager"
					functional_group="Obsolete">
					<POSSIBLE_VALUES value="abcdef?" />
				</KEY>
				<KEY name="OptimRemoteCall" type="" default="0" version_min=""
					description="" functional_group="" />
				<KEY name="OptimServerName" type="character" default="FredYYYY"
					version_min="2.2.11.0"
					description="used in the synchronous mode to define the remote computer address"
					functional_group="Obsolete">
					<POSSIBLE_VALUES value="abcdef?." />
				</KEY>
				<KEY name="Password" type="Character" default="" version_min="2.2.11.0"
					description="If nothing is precised at first, the default Password will be empty so as for the user to enter the connection password"
					functional_group="Database connection">
					<POSSIBLE_VALUES value="the user password" />
				</KEY>
				<KEY name="ReportMessageOpt" type="integer" default="0"
					version_min="2.3.11.0"
					description="If the value = 0, the Opt messages are not reported in Fab part , if the value = 1, the Opt messages are reported in Fab Part."
					functional_group="Technical">
					<POSSIBLE_VALUES value="0"
						description="Opt message not reported in Fab part" />
					<POSSIBLE_VALUES value="1"
						description="Opt message reported in Fab part" />
				</KEY>
				<KEY name="Round_Cribbing_Precal_Diam_Activation" type="boolean"
					default="false" version_min="2.3.10.0"
					description="0 : usual cribbing diameter calculation (not rounded), if 1(all values &lt;&gt;0), round the cribbing diameter"
					functional_group="Step cribbing">
					<POSSIBLE_VALUES value="1" description="round mode on" />
					<POSSIBLE_VALUES value="0" description="round mode off" />
				</KEY>
				<KEY name="Round_Cribbing_Precal_Diam_Marging" type="double"
					default="0.0" version_min="2.3.10.0"
					description="Margin applied to rounded diameter to be sure the lens fit the support."
					functional_group="Step cribbing">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="SCGnet" type="" default="http://freda369/SCGnet/"
					version_min="" description="" functional_group="" />
				<KEY name="SecurityMargin" type="" default="0" version_min=""
					description="" functional_group="Unknown" />
				<KEY name="Serveur COM Digit" type="" default="False"
					version_min="" description="" functional_group="Obsolete" />
				<KEY name="TempsBlocage" type="Double" default="15" version_min="2.2.11.0"
					description="When the fusible metal has been cast, we have to wait this time given in mins for the constraints to be relaxed"
					functional_group="Manufacturing calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="ThicknessAdjustmentAllowed" type="boolean" default="false"
					version_min="2.3.6.0" description="authorisation of the over-thickening FFE"
					functional_group="Digital cribbing">
					<POSSIBLE_VALUES value="0..1" />
				</KEY>
				<KEY name="Tool_Diameter_Gap" type="double" default="-1.0"
					version_min="2.3.9.0"
					description="gap advised between the polishing tool diameters --&gt; no effect for the moment 				  associated algorithm will be integrated in a future release"
					functional_group="Polishing calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="TraceOptim" type="boolean" default="0" version_min="2.2.11.0"
					description="The command line that launches the optimization so_opo will be created in the bus result if the value associated to the key = 1"
					functional_group="Unknown">
					<POSSIBLE_VALUES value="1"
						description="the command line is created" />
					<POSSIBLE_VALUES value="0"
						description="the command line is not created" />
				</KEY>
				<KEY name="tsBus" type="boolean" default="1" version_min="2.2.11.0"
					description="enables to display the Bus tag" functional_group="Unknown">
					<POSSIBLE_VALUES value="1"
						description="the Bus tag can be displayed" />
					<POSSIBLE_VALUES value="0"
						description="the Bus tag cannot be displayed" />
				</KEY>
				<KEY name="tsConfiguration" type="boolean" default="1"
					version_min="2.2.11.0" description="enables to display the Configuration tag"
					functional_group="Unknown">
					<POSSIBLE_VALUES value="1"
						description="the Configuration tag can be displayed" />
					<POSSIBLE_VALUES value="0"
						description="the Configuration tag cannot be displayed" />
				</KEY>
				<KEY name="User" type="Character" default="scg" version_min="2.2.11.0"
					description="If nothing is precised at first, the default User will be &quot;sa&quot; for the connection parameters"
					functional_group="Database connection">
					<POSSIBLE_VALUES value="sa, scg, usercode" />
				</KEY>
				<KEY name="Xbord_Gap" type="double" default="-1.0" version_min="2.3.9.0"
					description="X abscisse close to the polished lenses --&gt; no effect for the moment 					associated algorithm will be integrated in a future release"
					functional_group="Polishing calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
			</SECTION>
			<SECTION name="hk_lm\software\config scg\log">
				<KEY name="LogActivate" type="boolean" default="0" version_min="2.2.11.0"
					description="if value = 0, the log are not activated, if value = 1, the log are activated"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="1" description="log activated" />
					<POSSIBLE_VALUES value="0" description="log not activated" />
				</KEY>
				<KEY name="LogFormSize" type="???" default="10000" version_min="2.3.7.0"
					description="TO BE COMPLETED WITH FABRICE" functional_group="Logging policy">
					<POSSIBLE_VALUES value="???" />
				</KEY>
				<KEY name="LogMaxSize" type="integer" default="0" version_min="2.2.11.0"
					description="maximum size of the log file generated (10 Mo by default)"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="LogName" type="character" default="DebugSCG.log"
					version_min="2.2.11.0" description="the name of the Log file generated (OPT or FAB)"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="any name" />
				</KEY>
				<KEY name="LogNivel" type="integer|char" default="0"
					version_min="2.3.9.0"
					description="2 new values for the existing key LogNivel: 		value A : allows to log each SCG function call an return 		, value B allows to log each SCG function call and return with access to database 		, value C allows to log each SCG function call and return with R&amp;D libraries use 		, Other values : it is possible to cumulate these new log levels (Values A, B, C) 							or to cumulate them with existing log levels (1, 2, 3, 4, 5, 6, 7) 		, A new log level to track all access to surfaces files (get from DB, cache management, delete, ?.): 		  new level 8 has been added to existing 1 to 7 levels (add 2.3.7.0)"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="1" description="missing description" />
					<POSSIBLE_VALUES value="2" description="missing description" />
					<POSSIBLE_VALUES value="3" description="missing description" />
					<POSSIBLE_VALUES value="4" description="missing description" />
					<POSSIBLE_VALUES value="5" description="missing description" />
					<POSSIBLE_VALUES value="6" description="missing description" />
					<POSSIBLE_VALUES value="7" description="missing description" />
					<POSSIBLE_VALUES value="8" description="access to surface files" />
					<POSSIBLE_VALUES value="A" description="log function call" />
					<POSSIBLE_VALUES value="B"
						description="log DB access function call" />
					<POSSIBLE_VALUES value="C" description="log R&amp;D function call" />
				</KEY>
				<KEY name="LogType" type="integer" default="0" version_min="2.3.7.0"
					description="Enable to activate the log type level (information or performance)"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="1"
						description="default value, classical log files as before" />
					<POSSIBLE_VALUES value="2"
						description="generate a new log in a new format that allows to write the SCG functions calls tree with their unitary execution time" />
					<POSSIBLE_VALUES value="1.2"
						description="activate the two log types simultaneously (classical and new)." />
				</KEY>
			</SECTION>
			<SECTION name="hk_lm\software\organisation">
				<KEY name="ShowCOMWindows" type="Boolean" default="True"
					version_min="2.2.11.0" description="display or not on the screen the p_ServeurTCP_Bus"
					functional_group="ServerTCP">
					<POSSIBLE_VALUES value="0"
						description="Do not display p_ServeurTCP_Bus screen" />
					<POSSIBLE_VALUES value="1"
						description="Display p_ServeurTCP_Bus screen" />
				</KEY>
			</SECTION>
		</configscg.ini>
		<configscgversion.ini>
			<SECTION name="hk_lm\software\config scg">
				<KEY name="Atelier" type="Character" default="ATE01"
					version_min="2.2.11.0"
					description="In the Register Basis, the default workshop is the Atelier value that is entered via Config SCG"
					functional_group="Manufacturing calculation">
					<POSSIBLE_VALUES value="The wanted workshop" />
				</KEY>
				<KEY name="Chemin Archive FAB" type="character"
					default="ExtractFilePath(ComServer.ServerFileName" version_min="2.2.11.0"
					description="name of the directory where .bus files will be stored after FAB calculation"
					functional_group="Archive">
					<POSSIBLE_VALUES value="path" />
				</KEY>
				<KEY name="Chemin Archive OPT" type="character"
					default="ExtractFilePath(ComServer.ServerFileName" version_min="2.2.11.0"
					description="name of the directory where .bus files will be stored after OPT calculation"
					functional_group="Archive">
					<POSSIBLE_VALUES value="path" />
				</KEY>
				<KEY name="Chemin Archive TEST" type="character"
					default="ExtractFilePath(ComServer.ServerFileName" version_min="2.2.11.0"
					description="name of the directory where .bus test files will be stored"
					functional_group="Archive">
					<POSSIBLE_VALUES value="path" />
				</KEY>
				<KEY name="Diameter for Tore Approximation" type="double"
					default="8" version_min="2.3.10.0"
					description="For the calculation of the best Fit Tore (OPT and FAB), the diameter on which the surface is processed in mm"
					functional_group="Backside geometry approximation">
					<POSSIBLE_VALUES value="0..unbounded" />
				</KEY>
				<KEY name="DumpPercentageValue" type="integer" default="50"
					version_min="2.2.11.0"
					description="It indicated the percentage of total line number of the bus to be traced"
					functional_group="Obsolete">
					<POSSIBLE_VALUES value="1..unbound" />
				</KEY>
				<KEY name="Echange" type="Character" default="45712"
					version_min="2.2.11.0"
					description="t regards the Config SCG program --&gt; configuration used by SCG read in the Register Base.   If the value is 45712, the configuration is for Essilor, if the value is 65320, the configuration is for BBGR   , if the value is 85632, the configuration is for Nikon."
					functional_group="Unknown">
					<POSSIBLE_VALUES value="The wanted code" />
				</KEY>
				<KEY name="Fournisseur" type="Character" default="ESS"
					version_min="2.2.11.0"
					description="In the Register Basis, the default supplier is the Fournisseur value that is entered via Config SCG"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="The wanted supplier" />
				</KEY>
				<KEY name="GEM Admin Path" type="" default="" version_min=""
					description="" functional_group="Obsolete" />
				<KEY name="GEM Default Tint" type="" default="100" version_min=""
					description="" functional_group="Obsolete" />
				<KEY name="GEM Module activation" type="" default="0"
					version_min="" description="" functional_group="Obsolete" />
				<KEY name="GEM Module activation" type="" default="0"
					version_min="" description="" functional_group="Obsolete" />
				<KEY name="GEM Path" type="" default="" version_min=""
					description="" functional_group="Obsolete" />
				<KEY name="HscRotationAngle" type="" default="180" version_min="2.3.10.0"
					description="Define the value of the back surface rotation angle in degrees within [0?, 90?, 180? and 270?]   (applied on .hsc file) --&gt; DEO Surface Referential"
					functional_group="Manufacturing calculation" />
				<KEY name="Index tolerance" type="Double" default="0.000"
					version_min="2.3.10.0"
					description="Maximum difference accepted between Blank index and Product index --&gt; DEO Free Blanks (no unit)"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="MaxTraceFileSize" type="integer" default="50"
					version_min="2.2.11.0"
					description="It indicates the maximal size of the log file to be created in Mo when traced"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="1..unbound" />
				</KEY>
				<KEY name="MaxTraceValue" type="" default="50" version_min=""
					description="" functional_group="Obsolete" />
				<KEY name="NbJourPurge" type="integer" default="1" version_min="2.3.11.0"
					description="The Log files are kept during one sliding day (by default), one can change this time by changing the value of this key"
					functional_group="Logging policy">
					<POSSIBLE_VALUES value="0..unbound" />
				</KEY>
				<KEY name="NRe Module activation" type="boolean" default="False"
					version_min="2.2.11.0"
					description="if the value = 0, the FCS module is not activated, if the value = 1, the FCS module is activated"
					functional_group="FCS">
					<POSSIBLE_VALUES value="0"
						description="the FCS module is not activated" />
					<POSSIBLE_VALUES value="1"
						description="the FCS module is activated" />
				</KEY>
				<KEY name="NRe Module config" type="character" default=".\"
					version_min="2.3.11.0"
					description="the FCS files will be gathered in the directory whose name is given via this key"
					functional_group="FCS">
					<POSSIBLE_VALUES value="Name of FCS directory" />
				</KEY>
				<KEY name="OldFileDeletion" type="" default="0" version_min=""
					description="" functional_group="Obsolete" />
				<KEY name="OrientationBlocage" type="boolean" default="1"
					version_min="2.2.11.0" description="Allows yes or not the .hsc file rotation"
					functional_group="Manufacturing calculation">
					<POSSIBLE_VALUES value="0..1" />
				</KEY>
				<KEY name="Process" type="Character" default="SRF" version_min="2.2.11.0"
					description="In the Register Basis, the default process is the Process value that is entered via Config SCG"
					functional_group="Optical calculation">
					<POSSIBLE_VALUES value="The wanted process" />
				</KEY>
				<KEY name="Repertoire Imp/Ex" type="character" default=".\"
					version_min="2.2.11.0"
					description="Name of the directory where temporary files for import or export are created"
					functional_group="Files">
					<POSSIBLE_VALUES value="Valid directory name" />
				</KEY>
				<KEY name="Repertoire Imp/Ex" type="character"
					default="ExtractFilePath(ComServer.ServerName" version_min="2.3.11.0"
					description="name of the directory where the import / export files will be stored"
					functional_group="Files">
					<POSSIBLE_VALUES
						value="name of the directory where the .ech (coming from Import or Export tool) have to be stored" />
				</KEY>
				<KEY name="Repertoire pilote SCG" type="character" default=".\"
					version_min="2.2.11.0" description="path generated by the convertor (Fribourg pilot)"
					functional_group="Files">
					<POSSIBLE_VALUES
						value="name of the .ARC files directory (Fribourg pilot)" />
				</KEY>
				<KEY name="Repertoire pilote UPX" type="character" default=".\"
					version_min="2.3.11.0"
					description="path of destination of the .ARC files (archieve files)"
					functional_group="Files">
					<POSSIBLE_VALUES value="name of the .ARC files directory" />
				</KEY>
				<KEY name="Repertoire Surface 2D" type="character" default=".\"
					version_min="2.2.11.0"
					description="name of the directory where all the Surface files coming from MODELISATION table are and the params.txt file created sent to SO_OPO"
					functional_group="Files">
					<POSSIBLE_VALUES value="Valid directory name" />
				</KEY>
				<KEY name="SCG root folder" type="character" default=""
					version_min="2.2.11.0" description="name of the root directory for SCG files"
					functional_group="Technical">
					<POSSIBLE_VALUES
						value="Directory name containing source file using for computing" />
				</KEY>
				<KEY name="ShowMainForm" type="Boolean" default="0" version_min="2.2.11.0"
					description="TO BE COMPLETED WITH FABRICE" functional_group="Unknown">
					<POSSIBLE_VALUES value="0"
						description="TO BE COMPLETED WITH FABRICE" />
					<POSSIBLE_VALUES value="1"
						description="TO BE COMPLETED WITH FABRICE" />
				</KEY>
				<KEY name="Toric compensation orientation" type="integer"
					default="90" version_min="2.3.11.0"
					description="Contain the angle of the torus that must be added to the back surface for the toric compensation"
					functional_group="Manufacturing calculation">
					<POSSIBLE_VALUES value="0..360" />
				</KEY>
				<KEY name="TraceInDB" type="boolean" default="0" version_min="2.2.11.0"
					description="If the value is 0, the bus cannot be traced in Data Base, if the value is 1, the bus can be traced in Data base"
					functional_group="Unknown">
					<POSSIBLE_VALUES value="0"
						description="the bus cannot be traced in Data Base" />
					<POSSIBLE_VALUES value="1"
						description="the bus can be traced in Data base" />
				</KEY>
				<KEY name="TraceInFiles" type="boolean" default="0" version_min="2.2.11.0"
					description="If the value is 0, the bus cannot be traced in .log file, if the value is 1, the bus can be traced in .log file"
					functional_group="Unknown">
					<POSSIBLE_VALUES value="0"
						description="the bus cannot be traced in .log file" />
					<POSSIBLE_VALUES value="1"
						description="the bus can be traced in .log file" />
				</KEY>
			</SECTION>
			<SECTION name="hk_lm\software\config scg\log">
				<KEY name="LogForm" type="???" default="0" version_min="2.3.7.0"
					description="TO BE COMPLETED WITH FABRICE" functional_group="Logging policy">
					<POSSIBLE_VALUES value="???" />
				</KEY>
			</SECTION>
		</configscgversion.ini>
		<p_serveurtcp_bus.ini>
			<SECTION name="configuration">
				<KEY name="HeaderSize" type="Integer" default="0" version_min="2.2.11.0"
					description="????" functional_group="ServerTCP">
					<POSSIBLE_VALUES value="????" />
				</KEY>
				<KEY name="RemoteCalcul" type="Integer" default="False"
					version_min="2.2.11.0" description="????" functional_group="ServerTCP">
					<POSSIBLE_VALUES value="????" />
				</KEY>
				<KEY name="RemoteCalculTimeOut(mn)" type="Integer" default="10"
					version_min="2.2.11.0" description="????" functional_group="ServerTCP">
					<POSSIBLE_VALUES value="????" />
				</KEY>
				<KEY name="UsedPort" type="Integer" default="8848" version_min="2.2.11.0"
					description="????" functional_group="ServerTCP">
					<POSSIBLE_VALUES value="????" />
				</KEY>
				<KEY name="ViewLog" type="Integer" default="False" version_min="2.2.11.0"
					description="????" functional_group="ServerTCP">
					<POSSIBLE_VALUES value="????" />
				</KEY>
			</SECTION>
		</p_serveurtcp_bus.ini>
	</CONFIGURATION_KEYS>
</SCG>
La première version de ce xsl est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?xml version='1.0'?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="html" encoding="Windows-1252"/>
 <xsl:template match="/"> 
<html>
<head>
 
</head>
<body>
	<h1>SCG configuration keys</h1>
	<xsl:for-each select="SCG/CONFIGURATION_KEYS/node()">
		<h2><xsl:value-of select="local-name()"/></h2>
		<xsl:apply-templates /> 
	</xsl:for-each>
</body> 
</html>
</xsl:template> 
<xsl:template match="SECTION">
		<table>
			<caption><xsl:value-of select="@name"/></caption> 
			<thead> 
				 <tr> 
				<th>Functional group</th>
				<th>Name</th>
				<th>Type</th>
				<th>Default value</th>
				<th>Min SCG version</th>
				<th>Description</th>
				<th>Possible values</th>
				</tr>
			</thead>
			<tbody>
				<xsl:for-each select="KEY">
					<tr> 
					<th><xsl:value-of select="@functional_group"/></th>
					<td><xsl:value-of select="@name"/></td>
					<td><xsl:value-of select="@type"/></td> 
					<td><xsl:value-of select="@default"/></td> 
					<td><xsl:value-of select="@version_min"/></td> 
					<td><xsl:value-of select="@description"/></td> 
					<td>
						<table>
							<tbody>
								<xsl:for-each select="POSSIBLE_VALUES">							
									<tr>
										<td><xsl:value-of select="@value"/></td>
										<td><xsl:value-of select="@description"/></td>
									</tr>
								</xsl:for-each>
							</tbody>
						</table>
					</td>
					</tr> 
				</xsl:for-each>
			</tbody>
		</table>
</xsl:template>
</xsl:stylesheet>
Je souhaite regrouper les clés par la colonne functional_group. J'essaie donc comme dans les tuto la méthode muench. Mais je me heurte à plusieurs problèmes :

  1. Je veux regrouper le functional group pour chaque SECTION. Avec le tuto, les doublons sont bien enlevés. Cependant, si un attribut functional_group a été déjà utilisé avant, il ne sera pas réutilisé dans une autre section alors alors que 2 sections sont sensées être indépendantes.
  2. Pour la fonction key(), je n'arrive pas à dire au moteur de prendre tous les attributs functional_group sauf ceux ayant la valeur "Obsolete"
  3. Le moteur ne m'affiche que les premiers attributs d'un functionnal_group et ne prend pas en compte le reste. En gros, mon tableau pour description, name, description, etc. ne marche pas.


Mon code actuel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
	<xsl:key name="functional" match="KEY" use="@functional_group"/>
	<xsl:template match="/">
		<html>
			<head>
 
			</head>
			<body>
			<h1>SCG configuration keys</h1>
			<xsl:for-each select="SCG/CONFIGURATION_KEYS/node()">
				<h2><xsl:value-of select="local-name()"/></h2>
				<xsl:apply-templates /> 
			</xsl:for-each>
			</body>
		</html>
	</xsl:template>
	<xsl:template match="SECTION">
			<table>
				<caption><xsl:value-of select="@name"/></caption> 
				<thead> 
					 <tr> 
					<th>Functional group</th>
					<th>Name</th>
					<th>Type</th>
					<th>Default value</th>
					<th>Min SCG version</th>
					<th>Description</th>
					<th>Possible values</th>
					</tr>
				</thead>
				<tbody>
					<xsl:copy>
						<xsl:for-each select="KEY[generate-id() = generate-id(key('functional', @functional_group)[1])]">
 
							<tr>
								<td><strong><xsl:value-of select="@functional_group" /></strong></td>
								<td>
									<table>
										<tbody>
											<xsl:for-each select="@name">							
												<tr>
													<td><xsl:value-of select="@name"/></td>
												</tr>
											</xsl:for-each>
										</tbody>
									</table>
								</td>
								<td>
									<table>
										<tbody>
											<xsl:for-each select="@default">							
												<tr>
													<td><xsl:value-of select="@default"/></td>
												</tr>
											</xsl:for-each>
										</tbody>
									</table>
								</td>
								<td>
									<table>
										<tbody>
											<xsl:for-each select="@version_min">							
												<tr>
													<td><xsl:value-of select="@version_min"/></td>
												</tr>
											</xsl:for-each>
										</tbody>
									</table>
								</td>
								<td>
									<table>
										<tbody>
											<xsl:for-each select="@description">							
												<tr>
													<td><xsl:value-of select="@description"/></td>
												</tr>
											</xsl:for-each>
										</tbody>
									</table>
								</td>
								<td>
									<table>
										<tbody>
											<xsl:for-each select="POSSIBLE_VALUES">							
												<tr>
													<td><xsl:value-of select="@value"/></td>
													<td><xsl:value-of select="@description"/></td>
												</tr>
											</xsl:for-each>
										</tbody>
									</table>
								</td>
							</tr>
 
 
						</xsl:for-each>
					</xsl:copy>
				</tbody>
			</table>
	</xsl:template>
</xsl:stylesheet>
Merci d'avance.