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 :

[XSLT] probleme avec la fonction matches()


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Par défaut [XSLT] probleme avec la fonction matches()
    Bonjour à tous !

    Tout d'abord quelques mots sur le contexte de mon application : je cherche à coder une espece de petite base de données sur des sortilèges du jeu de rôle 'l'appel de cthulhu'. La première étape, la plus simple consiste à rechercher tous les sortilèges dont le nom contient un mot-clef ou un fragment de mot-clef entré par un utilisateur.

    Exemple : chaîne entrée --> "Defl" ; resultat attendu --> "Deflagration mentale"

    La base de données en question est stockée sous forme de fichier XML, dont la structure est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <spellbook>
      <spell type="general">
        <name>Deflagration mentale</name>
        <effect>bla bla</effect>
      </spell>
    </spellbook>
    J'ai donc créé une feuille de style, que voici :
    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
     
    <xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
     
    	<xsl:param name="spellName" />
    	 <xsl:param name="spellType" />
     
    	<xsl:template match="/cthulhu/spellbook">
     
    		<xsl:if test="$spellName">
    			<p>spellName specified : <xsl:value-of select="$spellName"/></p>
    			<xsl:call-template name="name-filtering"/>
    		</xsl:if>
     
    		<xsl:if test="$spellType"><p>spellType specified : <xsl:value-of select="$spellType"/></p></xsl:if>
     
     
     
    	</xsl:template>
     
     
    	<xsl:template name="name-filtering">
    		<xsl:for-each select="spell">
    			<xsl:choose>
    				<xsl:when test='matches(string(name),string($spellName))'>Hit : <xsl:value-of select="name"/><br/></xsl:when>
    				<xsl:otherwise><xsl:value-of select="name"/><br/></xsl:otherwise>
    			</xsl:choose>
    		</xsl:for-each>
    	</xsl:template>
     
    </xsl:stylesheet>
    Le problème, c'est que la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:when test='matches(string(name),string($spellName))'>
    provoque une erreur du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80600005 [nsIXSLTProcessor.importStylesheet]"  nsresult: "0x80600005 (<unknown>)"  location: "JS frame :: file:///home/indy/Documents/Call%20of%20Cthulhu%20Web%20Project/callofcthulhu.js :: Init :: line 22"  data: no]
    J'ai essayé toutes les variantes de 'matches' que je pouvais essayer, mais rien n'y fait : toujours la même erreur ! Est ce que quelqu'un pourrait m'indiquer où je me trompe ?

    Merci d'avance !

  2. #2
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    matches() est une fonction XPath 2.0... L'erreur ne vient-elle pas de là ?

Discussions similaires

  1. [ XSLT ] probleme avec generate-id()
    Par Pi2 dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 02/11/2005, 12h11
  2. Probleme avec la fonction rename()
    Par TheZenZen dans le forum C
    Réponses: 6
    Dernier message: 08/10/2005, 15h59
  3. [LG] Problème avec la Fonction ReadLn en fin de programme
    Par killermano dans le forum Langage
    Réponses: 6
    Dernier message: 23/07/2005, 15h16
  4. [LG]Probleme avec une fonction
    Par xavier1936 dans le forum Langage
    Réponses: 7
    Dernier message: 08/02/2005, 22h48

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