IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Sélectionner tous les éléments sauf un seul


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre expert
    Profil pro
    Dév
    Inscrit en
    Juin 2007
    Messages
    1 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dév

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 161
    Points : 3 693
    Points
    3 693
    Par défaut Sélectionner tous les éléments sauf un seul
    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.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 619
    Points
    21 619
    Par défaut
    Citation Envoyé par DuyBinh Voir le message
    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.
    Dans ce cas la clé doit porter sur le functional_group et sur la section.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:key name="functional" match="KEY" use="concat(../@name, '|', @functional_group)"/>
    Ce qui, pour le premier, va faire un "use" de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hk_lm\software\config scg|Language

    Citation Envoyé par DuyBinh Voir le message
    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"
    Deux possibilité :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:key name="functional" match="KEY[@functional_group != 'Obsolete']" use="truc"/>
    ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    key('functional', truc)[@functional_group != 'Obsolete']
    Citation Envoyé par DuyBinh Voir le message
    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.
    T'as mal recopié Muench.
    Il te faut un truc genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:variable name="group" select="@functional_group"/>
    ...
    <xsl:for-each select="../KEY[@functional_group = $group]/@name">

  3. #3
    Membre expert
    Profil pro
    Dév
    Inscrit en
    Juin 2007
    Messages
    1 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dév

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 161
    Points : 3 693
    Points
    3 693
    Par défaut
    Merci de ton aide, presque tout est OK sauf le dernier point. Je comprends ta logique pour le dernier point mais le moteur n'arrive à retrouver aucun résultat donc mes tableaux sont vides . J'ai essayé de séparer ça dans un xsl:template à part mais rien à faire aussi.
    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
    <xsl:for-each select="KEY[generate-id() = generate-id(key('functional', concat(../@name, '|', @functional_group))[1])]">
    							<tr>
    								<td><strong><xsl:value-of select="@functional_group" /></strong></td>
    								<xsl:variable name="group" select="@functional_group"/>
    								<td>
    									<table>
    										<tbody>
    											<xsl:for-each select="../KEY[@functional_group = $group]/@name">							
    												<tr>
    													<td><xsl:value-of select="../KEY[@functional_group = $group]/@name"/></td>
    												</tr>
    											</xsl:for-each>
    										</tbody>
    									</table>
    								</td>

  4. #4
    Membre expert
    Profil pro
    Dév
    Inscrit en
    Juin 2007
    Messages
    1 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dév

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 161
    Points : 3 693
    Points
    3 693
    Par défaut
    J'ai résolu le problème, cela venait en fait de mon xsl:value-of qui n'était pas correcte. Là j'utilise value-of select=current() et ça affiche bien ce que je veux.

    Merci .

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 619
    Points
    21 619
    Par défaut
    Edit: oui, voilà.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment sélectionner tous les champs sauf quelques uns?
    Par bankette dans le forum Langage SQL
    Réponses: 5
    Dernier message: 14/06/2007, 02h40
  2. Appliquer un style à tous les éléments sauf un
    Par ner0lph dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 24/04/2007, 08h55
  3. comment sélectionner tous les champ sauf quelques uns
    Par r0d dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/11/2006, 09h34
  4. [Listbox]Sélectionner tous les éléments
    Par Hayato dans le forum 4D
    Réponses: 4
    Dernier message: 13/06/2006, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo