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 :

problème d'utilisation de xsl:key


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Par défaut problème d'utilisation de xsl:key
    Bonjour à tous,

    J'ai un XML de la forme suivante :
    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
    <xml>
    	<Rooms>
    		<Room Quantity="1">
    			<Codes>
    				<Code Value="D01" Role="Reference"/>
    				<Code Role="Session" Value="H5"/>
    			</Codes>
    			<Travellers>
    				<Traveller Ref="T1"/>
    				<Traveller Ref="T2"/>
    			</Travellers>
    		</Room>
    		<Room Quantity="1">
    			<Codes>
    				<Code Value="D02" Role="Reference"/>
    				<Code Role="Session" Value="H5"/>
    			</Codes>
    			<Traveller Ref="T3"/>
    		</Room>
    		<Room Quantity="1">
    			<Codes>
    				<Code Value="D02" Role="Reference"/>
    				<Code Role="Session" Value="H5"/>
    			</Codes>
    			<Traveller Ref="T4"/>
    		</Room>
    	</Rooms>
    	<Travellers>
    		<Traveller Type="Adult" ID="T1" BirthDate="1970-11-12"/>
    		<Traveller Type="Adult" ID="T2" BirthDate="1975-12-30"/>
    		<Traveller Type="Adult" ID="T3" BirthDate="1971-02-12"/>
    		<Traveller Type="Adult" ID="T4" BirthDate="1983-07-10"/>
    	</Travellers>
    </xml>
    afin de regrouper les chambres par code Session et par type d'occupation (nombre adultes, nombre d'enfants) ,

    étant donné la variable key qui sera utilisé dans le calcul du nombre des voyageur par type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:key name="IDTraveller" match="/xml/Travellers/Traveller" 		use="@ID"/>
    j'utlise la variable key suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:key name="ticket" match="/xml/Rooms/Room"
    		use="concat(Code[@Role='Session']/@Value,'_',count((Travellers|.)/Traveller[key('IDTraveller',@Ref)[not(@Type='Child') and not(@Type='Infant')]]),'_',count((Travellers|.)/Traveller[key('IDTraveller',@Ref)[@Type='Child' or @Type='Infant']]))"/>
    la transformation en utilisant Oxygen (xsltproc) fonctionne très bien et j'obtiens le rsultat souhaité. Mon problème est que cette transformation ne marche pas avec Dotnet et ça me retourne une erreur :
    La fonction 'key()' ne peut pas être utilisée dans les attributs 'use' et 'match' de l'élément 'xsl:key'

    pouvez vous svp m'aider soit à faire fonctionner cette transformation via Dotnet soit me proposer une autre solution pour faire ce regroupement.

    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    1) Dotnet à raison on ne doit pas utiliser de key dans une key
    2) xsl:key n'a rien à voir avec une variable, c'est plus proche de l'index d'une base de donnée
    3) pour les regroupements il y a plein de thread sur ce sujet dans ce forum (certainement la question la plus posé)
    exemple :
    http://www.developpez.net/forums/d10...id-balise-xml/
    http://www.developpez.net/forums/d99...upement-theme/
    http://www.developpez.net/forums/d97...ent-dattribut/
    http://www.developpez.net/forums/d96...-regroupement/

    etc...

Discussions similaires

  1. [XSLT]Problème d'utilisation de XSL avec fichier GPX.
    Par robiwan dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/05/2010, 14h17
  2. Problème d'utilisation de <xsl:include>
    Par Brunettia dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 23/06/2008, 15h13
  3. [XSLT] Utilisation de xsl:key
    Par blupin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 21/09/2007, 10h45
  4. Problème d'utilisation de Mysql avec dev-c++
    Par Watchi dans le forum Dev-C++
    Réponses: 10
    Dernier message: 06/08/2004, 14h35
  5. problème d'utilisation avec turbo pascal 7.0
    Par le 27 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 03/12/2003, 10h44

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