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] Récupérer un attribut sur un élément pointé par un IDREF


Sujet :

XSL/XSLT/XPATH XML

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 61
    Par défaut [XSLT] Récupérer un attribut sur un élément pointé par un IDREF
    Bonjour,

    Dans le cadre d'un projet d'étude, je travaille actuellement sur une feuille XSL pour transformer un document XML en XHTML.

    A l'intérieur de ce document, tous les éléments ou presque dispose d'un attribut id unique. Cet attribut a pour fonction d'une part de faciliter la manipulation des documents - XML et XHTML - par la suite et d'autre part de permettre de spécifier, pour chacun des éléments pour lesquels cela est possible, un type faisant directement référence à un autre élément du document XML via le mécanisme ID/IDREF - le but est de manipuler et représenter des schémas de type Merise/UML simples -.

    Au moment de l'affichage, je souhaiterais récupérer l'attribut 'name' de l'élément pointé par l'attribut 'type'. La solution à laquelle je suis arrivé consiste pour le moment en un template paramétré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <!-- Appel du template lors du travail sur l'élément typé -->
    <xsl:call-template name="get-datatype">
    	<xsl:with-param name="datatype" select="id(@type)"/>
    </xsl:call-template>
     
    <!-- Template -->
    <xsl:template name="get-datatype">
    	<xsl:param name="datatype" select="." />
     
    	<xsl:value-of select="$datatype/@name" />
    </xsl:template>
    Malheureusement, j'ai eu beau essayer de multiples syntaxes, je n'arrive pas à obtenir l'effet désiré. Et je n'arrive pas à mettre le doigt sur mon erreur...

    Si vous souhaitez avoir un exemple de fichier XML, il est disponible à cette adresse - DTD -. La feuille XSL complète est quant à elle visible ici et un exemple du résultat est disponible - sous réserve d'inscription et de connexion - dans la section "Plan de travail" de ce site.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/11/2014, 22h38
  2. XSD - attribut sur un élément simple avec restriction
    Par melleb dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 29/03/2013, 11h27
  3. Réponses: 2
    Dernier message: 13/11/2011, 15h37
  4. [SimpleXML] Récupérer l'attribut d'un élément xml
    Par yann123456 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 01/12/2008, 19h00
  5. [XSLT] Récupérer un attribut contenant un espace de noms
    Par GLSpirit dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 20/07/2007, 10h12

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