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

XML/XSL et SOAP Discussion :

Exemple de XML ! (Hello World)


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Par défaut Exemple de XML ! (Hello World)
    bonjour...
    SVP, quelque pourrait m'aider à faire un exemple de XML, jusqu'au bout, les exemples que j'ai trouvé sur net sont tres denses.
    le but c'est d'essayer de faire un exemple avec XML, en lui appliquant une feulle de style XSL pour le visualiser, apres ce fichier XML on va le transferer en fichier XSL-FO pour permetre de l'editer en PDF avec FOP.
    1- Comprendre XML en faisant un exmple simple.
    2- Visualiser le contenu de ce fichier en lui appliquant une feulle de style XSL.
    3- Transferer les resultat de ce fichier en XSL-FO.
    4- avec FOP editer ce resultat en PDF.
    Merci pour votre aide

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Tiré des examples de FOP (version 0.20):

    XML de donnée :
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <projectteam>
      <projectname>The Killer Application</projectname>
      <member>
        <name>John Doe</name>
        <function>lead</function>
        <email>jon.doe@killerapp.fun</email>
      </member>
      <member>
        <name>Paul Coder</name>
        <function>dev</function>
        <email>paul.coder@killerapp.fun</email>
      </member>
      <member>
        <name>Max Hacker</name>
        <function>dev</function>
        <email>max.hacker@killerapp.fun</email>
      </member>
      <member>
        <name>Donna Book</name>
        <function>doc</function>
        <email>donna.book@killerapp.fun</email>
      </member>
      <member>
        <name>Henry Tester</name>
        <function>qa</function>
        <email>henry.tester@killerapp.fun</email>
      </member>
    </projectteam>
    XSL transformant le XML de Donnée en XSL-FO :
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">
      <xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes"/>
      <!-- ========================= -->
      <!-- root element: projectteam -->
      <!-- ========================= -->
      <xsl:template match="projectteam">
        <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
          <fo:layout-master-set>
            <fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
              <fo:region-body/>
            </fo:simple-page-master>
          </fo:layout-master-set>
          <fo:page-sequence master-reference="simpleA4">
            <fo:flow flow-name="xsl-region-body">
              <fo:block font-size="16pt" font-weight="bold" space-after="5mm">Project: <xsl:value-of select="projectname"/>
              </fo:block>
              <fo:block font-size="10pt">
                <fo:table table-layout="fixed">
                  <fo:table-column column-width="4cm"/>
                  <fo:table-column column-width="4cm"/>
                  <fo:table-column column-width="5cm"/>
                  <fo:table-body>
                    <xsl:apply-templates/>
                  </fo:table-body>
                </fo:table>
              </fo:block>
            </fo:flow>
          </fo:page-sequence>
        </fo:root>
      </xsl:template>
      <!-- ========================= -->
      <!-- child element: member     -->
      <!-- ========================= -->
      <xsl:template match="member">
        <fo:table-row>
          <xsl:if test="function = 'lead'">
            <xsl:attribute name="font-weight">bold</xsl:attribute>
          </xsl:if>
          <fo:table-cell>
            <fo:block>
              <xsl:value-of select="name"/>
            </fo:block>
          </fo:table-cell>
          <fo:table-cell>
            <fo:block>
              <xsl:value-of select="function"/>
            </fo:block>
          </fo:table-cell>
          <fo:table-cell>
            <fo:block>
              <xsl:value-of select="email"/>
            </fo:block>
          </fo:table-cell>
        </fo:table-row>
      </xsl:template>
    </xsl:stylesheet>
    Pour les utiliser : http://xmlgraphics.apache.org/fop/0.94/running.html

    Il serait assez simple de faire un autre XSL qui transforme l'XML de donnée en entrée en HTML par exemple.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Par défaut Erreur code XML
    bonjour je vous remercie pour votre reponse..
    j'ai essayé de copier le fichier XSL et j'ai ensuite essayé de le transformer en PDF à l'aide de FOP, mais il m'affiche des erreurs:
    ----------------------------------------------------------------
    C:\fop-0.20.5>fop -fo aa.xsl test11.pdf
    [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
    [INFO] FOP 0.20.5
    [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
    [INFO] building formatting object tree
    [INFO] setting up fonts
    [ERROR] Unsupported element encountered: stylesheet (Namespace: http://www.w3.or
    g/1999/XSL/Transform). Source context: file:/C:/fop-0.20.5/aa.xsl (line: 2, col:
    154)
    [ERROR] Expected XSL-FO (root, page-sequence, etc.), SVG (svg, rect, etc.) or el
    ements from another supported language.
    [ERROR] file:/C:/fop-0.20.5/aa.xsl:2:154 Root element must be root, not http://w
    ww.w3.org/1999/XSL/Transform:stylesheet
    -------------------------------------------------------------------------
    2- ce fichier le code FO, est ce que je dois le coder moi meme ou il existe un moyen de transfrer un fichier XML en fichier XSL-FO ?

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Par défaut erreur code XML
    Erreur code XML

    --------------------------------------------------------------------------------

    bonjour je vous remercie pour votre reponse..
    j'ai essayé de copier le fichier XSL et j'ai ensuite essayé de le transformer en PDF à l'aide de FOP, mais il m'affiche des erreurs:
    ----------------------------------------------------------------
    C:\fop-0.20.5>fop -fo aa.xsl test11.pdf
    [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
    [INFO] FOP 0.20.5
    [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
    [INFO] building formatting object tree
    [INFO] setting up fonts
    [ERROR] Unsupported element encountered: stylesheet (Namespace: http://www.w3.or
    g/1999/XSL/Transform). Source context: file:/C:/fop-0.20.5/aa.xsl (line: 2, col:
    154)
    [ERROR] Expected XSL-FO (root, page-sequence, etc.), SVG (svg, rect, etc.) or el
    ements from another supported language.
    [ERROR] file:/C:/fop-0.20.5/aa.xsl:2:154 Root element must be root, not http://w
    ww.w3.org/1999/XSL/Transform:stylesheet
    -------------------------------------------------------------------------
    2- ce fichier le code FO, est ce que je dois le coder moi meme ou il existe un moyen de transfrer un fichier XML en fichier XSL-FO ?

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Heu, il y a confusion là.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fop -fo aa.xsl test11.pdf
    Implique que aa.xsl soit un fichier XSL-FO.
    En général on suffixe ces fichier par fo, mais ce n'est qu'une convention.

    Je ne t'ai donné aucun fichier fo, mais un xml et un xsl de transformation vers un fo.
    Je ne sais pas comment tu as nommé tes fichiers, mais la syntaxe logique dans ce cas est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fop -xml aa.xml -xsl aa.xsl -pdf aa.pdf
    Ou si tu veux voir le fo intermédiaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fop -aa.xml -xsl aa.xsl -foout aa.fo

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Par défaut ça mache, un autre exemple
    je vous remercie beaucoup ça marche la premiere commande :
    Fop -xml aa.xml -xsl aa.xsl -pdf aa.pdf
    alors j'ai reussi à obtenir un fichier PFG.
    SVP, j'ai une chose ç vous demander,
    ce 2 eme fichier comment vous avez reussi à l'obtenir, est ce que je suis cencé connaitre les commande du langage FOP.
    autrement dis si vous pouvez m'aider à réussir un exemple:
    voici mon fichier XML (exmple.xml):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="mform.xsl"?>
    <voiture>
      <marque>Renault</marque>
      <option>Clio3, 1.5DCI, TT options</option>
    </voiture>
    voici la feuille de style associée mform.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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
      <html>
        <head>
          <title>Exemple de sortie HTML</title>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
        </head>
        <body>
          <h1>voiture de marque <xsl:value-of select="voiture/marque" /></h1>
          <h2>Options:</h2>
          <p><xsl:value-of select="voiture/option" /></p>
          </body>
      </html>
    </xsl:template>
    </xsl:stylesheet>
    1- comment je peux à partir de ces 2 fichier avoir mon fichier PDF en le transformant en un fichier XSL-FO.
    Merci beaucoup

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Et bien il faut une autre feuille de style qui elle transformera l'XML en XSL-FO.
    Un exemple simpliste :
    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
    37
    38
    39
    <?xml version="1.0" encoding="UTF-8" ?>
     
    <!-- New document created with EditiX at Fri May 23 10:29:54 CEST 2008 -->
     
    <xsl:stylesheet 
    	version="1.0" 
    	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    	xmlns:fo="http://www.w3.org/1999/XSL/Format">
     
    	<xsl:output method="xml" indent="yes"/>
     
    	<xsl:template match="/">
     
    		<fo:root>
    			<fo:layout-master-set>
    				<fo:simple-page-master master-name="my-page">
    					<fo:region-body margin="1cm"/>
    				</fo:simple-page-master>
    			</fo:layout-master-set>
     
    			<fo:page-sequence master-reference="my-page">
    				<fo:flow flow-name="xsl-region-body">
    					<xsl:apply-templates select="*"/>
    				</fo:flow>
    		  	</fo:page-sequence>
    		</fo:root>
     
    	</xsl:template>
     
    	<xsl:template match="voiture">
    		<fo:block>
    			<xsl:value-of select="marque"/>
    			<fo:block>
    				<xsl:value-of select="option"/>
    			</fo:block>
    		</fo:block>
    	</xsl:template>
     
    </xsl:stylesheet>

Discussions similaires

  1. hello world
    Par floorfille dans le forum CORBA
    Réponses: 3
    Dernier message: 26/07/2007, 14h34
  2. Hello world avec JCreator
    Par skunkies dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 4
    Dernier message: 22/09/2006, 12h54
  3. [Débutant] Hello World
    Par Ultiny dans le forum C++
    Réponses: 2
    Dernier message: 25/02/2006, 12h57
  4. [Débutant] hello world jsp tomcat
    Par RENAULT dans le forum Tomcat et TomEE
    Réponses: 24
    Dernier message: 13/05/2004, 16h29
  5. [STRUTS] hello world, bonjour le monde
    Par Celina dans le forum Struts 1
    Réponses: 3
    Dernier message: 19/04/2004, 15h41

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