Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2471 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  XSLT et les prefix

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XSLT et les prefix

n°1393803
zapan666
Tout est relatif
Posté le 23-06-2006 à 16:42:51  profilanswer
 

Bonjour,  
 
 
J'ai l'intention de transformer des documents OpenOffice en XTHML, donc je recupere le content.xml du document, je l'envoie dans une feuille XSL qui va bien, amsi les resultats que j'obtiens ne sont pas comme je veux du tout...
 
Du coup j'essaye de faire ca sur un plus petit document (je reprend le fichier XML que je vide a la main) et pareil pour la XSL, car je pense que je gere mal les prefix de open Office.
 
Mon fichier XML en entree :

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
  3. xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
  4. xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
  5. xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink"
  6. xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
  7. xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
  8. xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
  9. xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
  10. xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office"
  11. xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events"
  12. xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  13. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" office:version="1.0">
  14. <office:body>essais
  15.  <office:text>
  16.   <text:p text:style-name="Standard">This [...] the user.</text:p>
  17.  </office:text>
  18. </office:body>
  19. </office:document-content>


 
Ma feuille XSL que j'ai fais simple au possible :D

Code :
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:office="http://openoffice.org/2000/office"
  3. xmlns:style="http://openoffice.org/2000/style" xmlns:text="http://openoffice.org/2000/text" xmlns:table="http://openoffice.org/2000/table"
  4. xmlns:draw="http://openoffice.org/2000/drawing" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink"
  5. xmlns:svg="http://www.w3.org/2000/svg" xmlns:xhtml="http://www.w3.org/1999/xhtml"
  6. exclude-result-prefixes="office style text table draw fo xlink svg xhtml" >
  7. <xsl:output
  8. method="xml"
  9. version="1.0"
  10. encoding="iso-8859-1"
  11. doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
  12. doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
  13. standalone="yes"
  14. indent="yes" />
  15. <xsl:template match="office:document-content">
  16. <p><xsl:value-of select="office:body"/></p>
  17. </xsl:template>
  18. </xsl:stylesheet>


 
Mon resultat : (obtenu avec xalan)

Code :
  1. <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
  2.         essais
  3.                         This package provide,[...]the user.
  4. '


 
Et donc la, on peut voir que les balises <p> ne sont pas la !
Pourquoi donc je ne comprend pas ?  :??:  
 
Merci  :jap:


Message édité par zapan666 le 23-06-2006 à 17:55:29

---------------
my flick r - Just Tab it !
mood
Publicité
Posté le 23-06-2006 à 16:42:51  profilanswer
 

n°1393875
zapan666
Tout est relatif
Posté le 23-06-2006 à 17:29:09  profilanswer
 

Bon, je viens de faire une petite modif sur mon fichier xml :
 
J'ai remplace

Code :
  1. <text:p>This package provide,</text:p>


par
 

Code :
  1. <text>This package provide,</text>


(j'ai aussi mis a jour ma XSLT)
 
et la, ca marche plus ou moins comme je veux.
 
Le truc c'est que sur tous les exemples de XSLT pour open Office, ils utilisent le prefix dans les templates !  
 
Comment ca se fait donc que les prefix de Open Office ne sont pas (bien) pris en compte ?


Message édité par zapan666 le 23-06-2006 à 17:55:50

---------------
my flick r - Just Tab it !
n°1394045
zapan666
Tout est relatif
Posté le 24-06-2006 à 01:36:40  profilanswer
 

Bon, j'ai trouvé.
 
 
Dans le fichier XML et XSLT, les namespaces n'étaient pas pareil.
 
Le truc, c'est que je suis parti d'une feuille XSLT de Open Office [:petrus75]
 
Donc pour que ça marche, j'ai pris les déclarations des namespaces du xml (xmlns:style, etc) et zou, dans le XSLT


---------------
my flick r - Just Tab it !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  XSLT et les prefix

 

Sujets relatifs
automatiser la transformation XSLT d'un docu XMLJava Transformation XSLT résultat String
[XML/XSLT] J'ai la solution mais je comprend rien ...En PHP, comment placer les données d'un XML dans MySQL avec XSLT ?
Transformation XSLTXalan C : fusion XSLT capricieuse
XSLT / Xpath : Comparer deux variables![PHP][XSLT][entity] Problème avec les Entities ...
XML, XSLT, HTML, SVG, PDF...XSLT+PHP sous windows possible ?
Plus de sujets relatifs à : XSLT et les prefix


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)