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 :

transformation xml -> xsd


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Février 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 3
    Par défaut transformation xml -> xsd
    Bonsoir,
    Je vous sollicite parce que j'ai besoin d'aide pour réaliser une transformation en utilisant xslt.
    je suis débutante dans ce domaine.
    je vous propose le xml comme input et l'output en xsd
    pouvez-vous m'aidez à me proposer un xslt

    le input en xml
    <base> xml
    <user> admin </user>
    </base>

    le output en xsd
    <?xml version="1.0" encoding="UTF-8"?>

    <xs:schema xmlns : xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="xml">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="admin" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>

  2. #2
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    Qu'as tu déjà essayé ?

  3. #3
    Candidat au Club
    Inscrit en
    Février 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 3
    Par défaut
    j'ai essayé de faire 2 scénarios
    le 1ier marche

    input comme suit
    <?xml version="1.0" encoding="UTF-8"?>
    <base name="xml">
    <user name="admin">
    </user>
    </base>

    le source xslt
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns : xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns : xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">

    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/base">

    <xs:schema xmlns : xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name= "{@name}" >
    <xsl:apply-templates select="user" />
    </xs:element>
    </xs:schema>
    </xsl:template>
    <xsl:template match="user">

    <xs:complexType>
    <xs:sequence>
    <xs:element name="{@name}" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    </xsl:template>

    </xsl:stylesheet>
    le résulat obtenue
    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema xmlnss="http://www.w3.org/2001/XMLSchema">
    <xs:element name="xml">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="admin" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>

    Le 2ème scénarios contient des erreurs

    le input en xml:

    <base> xml
    <user> admin </user>
    </base>

    le xslt:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns : xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns : xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">

    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/base">

    <xs:schema xmlns : xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name=<xsl:value‐of select="base" /> >
    <xsl:apply-templates select="user" />
    </xs:element>
    </xs:schema>
    </xsl:template>
    <xsl:template match="user">

    <xs:complexType>
    <xs:sequence>
    <xs:element name=<xsl:value‐of select="user" /> minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    </xsl:template>

    </xsl:stylesheet>
    il me rapporte des erreurs dans les lignes
    <xs:element name=<xsl:value‐of select="base" /> >
    <xs:element name=<xsl:value‐of select="user" /> minOccurs="1" maxOccurs="unbounded"/>

    pouvez vous m'aidez je comprend pas les causes de ces erreurs

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Marss Voir le message
    pouvez vous m'aidez je comprend pas les causes de ces erreurs
    Bah c'est totalement mal formé, voilà la cause. Tu ne peux pas mettre une balise à l'intérieur d'une autre balise.

    Ce que tu essayais de faire, c'était :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xs:element name="{text()}" >
    <xs:element name="{text()}" minOccurs="1" maxOccurs="unbounded"/>
    ... Mais comme tu peux le constater, ça garde les espaces en trop.

    Du coup il vaudrait mieux normalize-space(text()) plutôt que juste text()
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club
    Inscrit en
    Février 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 3
    Par défaut
    ça marche parfaitement avec normalize-space(text()).
    je vous remercie.

Discussions similaires

  1. [XSD] Transformer XML en XSD
    Par tom_tom73 dans le forum Valider
    Réponses: 5
    Dernier message: 04/11/2009, 08h40
  2. [XSD] transformation xml/xsd pour une liste
    Par saner dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 15/05/2009, 11h40
  3. [XSD] Transformation XML vers XSD
    Par sabrina1973 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 23/08/2006, 15h30
  4. [XSLT] Xml validé XSD puis transformé via XSLT
    Par cash3000 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/06/2006, 12h09
  5. Pd de transformation XML/XSL sur un windows 2000 server US
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/03/2003, 11h00

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