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]Problème de namespace sur un export XMi (UML 2.1/XMi 2.1)


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2004
    Messages : 44
    Par défaut [XSLT]Problème de namespace sur un export XMi (UML 2.1/XMi 2.1)
    Bonjour à tous,

    Dans le cadre d'un projet, je fais des exports XMi de mes diagrammes de classe sous Enterprise Architect.
    J'aimerai pouvoir appliquer une feuille XSL sur cet export, mais je n'arrive pas à parcourir le fichier XMi.

    Je ne demande pas un truc tout fait, mais juste des indications afin que je puisse me documenter ou bien avoir un retour sur expérience de quelqu'un qui aurai déjà fait ca.

    Merci d'avance

    Voici le une partie du fichier XMi (XML)
    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
    <xmi:XMI xmi:version="2.1" xmlns:uml="http://schema.omg.org/spec/UML/2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1">
    	<xmi:Documentation exporter="Enterprise Architect" exporterVersion="6.5"/>
    	<uml:Model xmi:type="uml:Model" name="EA_Model" visibility="public">
    		<packagedElement xmi:type="uml:Package" xmi:id="EAPK_755FA594_455F_4cfb_BEA2_61DB6D6E5121" name="Class Model" visibility="public">
    			<packagedElement xmi:type="uml:Class" xmi:id="EAID_F9A8FF89_1589_4711_BF2B_60051EACFBD3" name="test1" visibility="public"/>
    			<packagedElement xmi:type="uml:Association" xmi:id="EAID_115DDBFA_8387_4b78_A09C_3B4F503B1C70" name="linke" visibility="public">
    				<memberEnd xmi:idref="EAID_dst5DDBFA_8387_4b78_A09C_3B4F503B1C70"/>
    				<memberEnd xmi:idref="EAID_src5DDBFA_8387_4b78_A09C_3B4F503B1C70"/>
    				<ownedEnd xmi:type="uml:Property" xmi:id="EAID_src5DDBFA_8387_4b78_A09C_3B4F503B1C70" visibility="public" association="EAID_115DDBFA_8387_4b78_A09C_3B4F503B1C70" isOrdered="false" isDerived="false" isDerivedUnion="false" aggregation="none">
    					<type xmi:idref="EAID_E06D3873_A305_40ed_A075_B2EF9E41003D"/>
    				</ownedEnd>
    			</packagedElement>
    			<packagedElement xmi:type="uml:Class" xmi:id="EAID_E06D3873_A305_40ed_A075_B2EF9E41003D" name="test2" visibility="public">
    				<ownedAttribute xmi:type="uml:Property" xmi:id="EAID_dst5DDBFA_8387_4b78_A09C_3B4F503B1C70" visibility="public" association="EAID_115DDBFA_8387_4b78_A09C_3B4F503B1C70" isOrdered="false" isDerived="false" isDerivedUnion="false" aggregation="shared">
    					<type xmi:idref="EAID_F9A8FF89_1589_4711_BF2B_60051EACFBD3"/>
    				</ownedAttribute>
    			</packagedElement>
    			<packagedElement xmi:type="uml:Package" xmi:id="EAPK_BE44AF4E_CA10_4843_A609_98B98F954E04" name="reusable" visibility="public">
    				<packagedElement xmi:type="uml:Class" xmi:id="EAID_0AD32B60_B7AA_4a07_80BA_C2112E1A72A5" name="party" visibility="public">
    					<ownedAttribute xmi:type="uml:Property" xmi:id="EAID_97539091_05A8_4bcc_AC0F_B6590011FA93" name="age" visibility="private" isDerived="false">
    						<lowerValue xmi:type="uml:LiteralInteger" xmi:id="EAID_LI000001_05A8_4bcc_AC0F_B6590011FA93" value="1"/>
    						<upperValue xmi:type="uml:LiteralInteger" xmi:id="EAID_LI000002_05A8_4bcc_AC0F_B6590011FA93" value="1"/>
    					</ownedAttribute>
    					<ownedAttribute xmi:type="uml:Property" xmi:id="EAID_367EBAF3_6229_4f9c_8D45_294BEF973F3A" name="id" visibility="private" isDerived="false">
    						<lowerValue xmi:type="uml:LiteralInteger" xmi:id="EAID_LI000003_6229_4f9c_8D45_294BEF973F3A" value="1"/>
    						<upperValue xmi:type="uml:LiteralInteger" xmi:id="EAID_LI000004_6229_4f9c_8D45_294BEF973F3A" value="1"/>
    					</ownedAttribute>
    					<ownedAttribute xmi:type="uml:Property" xmi:id="EAID_4FAAAF96_268A_45a1_AD7C_B9555FFF60BF" name="prenom" visibility="private" isDerived="false">
    						<lowerValue xmi:type="uml:LiteralInteger" xmi:id="EAID_LI000005_268A_45a1_AD7C_B9555FFF60BF" value="1"/>
    						<upperValue xmi:type="uml:LiteralInteger" xmi:id="EAID_LI000006_268A_45a1_AD7C_B9555FFF60BF" value="1"/>
    					</ownedAttribute>
    				</packagedElement>
    			</packagedElement>
    			<packagedElement xmi:type="uml:Package" xmi:id="EAPK_5CCD3D2F_A71E_4a8b_82E2_F98DE93D3772" name="type" visibility="public"/>
    		</packagedElement>
    	</uml:Model>
    Et une partie très simple de mon 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
    <?xml version="1.0" encoding="iso-8859-1"?><!-- DWXMLSource="test.xml" -->
    <xsl:stylesheet version="1.0"
    				xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:thecustomprofile="http://www.sparxsystems.com/profiles/thecustomprofile/1.0"
                    xmlns:uml="http://schema.omg.org/spec/UML/2.1/uml.xml"
                    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
                    exclude-result-prefixes="uml">
    <xsl:output method="xml" encoding="iso-8859-1" indent="yes" />
     
    <xsl:template match="/">
    	<xsl:apply-templates select="xmi:XMI" />
    </xsl:template>
     
    <xsl:template match="xmi:XMI">
    	<xsl:value-of select="@xmi:version" />
        <xsl:apply-templates select="xmi:XMI/uml:Model" />
    </xsl:template>
     
    <xsl:template match="xmi:XMI/uml:Model">
        <xsl:value-of select="@name" />
    </xsl:template>
     
    </xsl:stylesheet>
    Désolé d'avoir posté le même topic dans 2 sections (Conception/UML et Technologies/Divers :: XML/XSL et SOAP :: XSL/XSLT/XPATH) mais en fait il me semble que les 2 catégories sont concernées

  2. #2
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2004
    Messages : 44
    Par défaut
    Bon j'avance un peu, a priori le problème viendrai de la ligne <uml:Model ...>
    Je ne sait pas pourquoi, mais impossible de lire les attributs de cette ligne

    De même si je fais un chemin absolu et que donc j'utilise select=".../uml:Modle/...", ca ne fonctionne pas...

    Si quelqu'un a une explication je suis preneur

    Pour le moment je penche vers une histoire de namespace mais je ne sais pas trop...

  3. #3
    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
    Il y a deux erreurs dans ton xslt
    -une simple erreur de chemin

    ce n'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:apply-templates select="xmi:XMI/uml:Model" />
    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <xsl:apply-templates select="uml:Model" />
    - un namesapce différent dans le xslt et le xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     xmlns:uml="http://schema.omg.org/spec/UML/2.1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      xmlns:uml="http://schema.omg.org/spec/UML/2.1/uml.xml"
    Après cela ça marche chez moi

  4. #4
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2004
    Messages : 44
    Par défaut
    Merci à toi Erwy
    Je ne savais pas que les URI des namespace avaient autant d'importance

    Je commence la semaine moins bête

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/04/2009, 22h42
  2. [XSLT] Problème de namespace
    Par totoen dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/01/2009, 16h34
  3. Problème décimales sur requete exportée
    Par david5959 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 13/12/2007, 11h25
  4. [XSLT] Problème sur une comparaison de deux noeuds
    Par NicaeaCivitas dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 09/01/2007, 11h51
  5. [XSLT] Problème de condition sur un XSLT
    Par alex.nd dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/09/2006, 15h16

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