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

  FORUM HardWare.fr
  Programmation
  Java

  Problème transfo XSL avec API Java 1.5 + SAX + XML avec namespace

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème transfo XSL avec API Java 1.5 + SAX + XML avec namespace

n°1828690
thierry_b
Posté le 17-12-2008 à 17:32:50  profilanswer
 

Bonjour,
 
J'essaie d'utiliser SAX pour faire ma transformation XSL sur un fichier XML avec l'api java 1.5 (utilisant xalan).
 
Apparemment, cela n'a pas l'air de marcher avec un XML contenant des namespace.
 
Voici ma méthode Java :
 

Code :
  1. public String transformWithSAX(String input, InputStream xslStream, String styleSheetName, HashMap<String,String> styleSheetParameters, boolean namespaceAware) throws IOException {
  2.       try {
  3.              StringReader inputSource = new StringReader(input);
  4.            
  5.              SAXParserFactory spf = SAXParserFactory.newInstance();
  6.              spf.setNamespaceAware(namespaceAware);
  7.            
  8.              SAXSource sourceInput = new SAXSource(new InputSource(inputSource));
  9.              StreamSource styleSource = new StreamSource(xslStream);
  10.              styleSource.setSystemId(new File(styleSheetName));
  11.              // Create a transformer for the stylesheet.
  12.              TransformerFactory factory = TransformerFactory.newInstance();
  13.              Templates templates = factory.newTemplates(styleSource);
  14.              Transformer transformer = templates.newTransformer();
  15.              // Insert parameters
  16.              if (styleSheetParameters != null) {
  17.                  Iterator<String> iterator = styleSheetParameters.keySet().iterator();
  18.                  String keyName;
  19.                  while (iterator.hasNext()) {
  20.                      keyName = (String) iterator.next();
  21.                      transformer.setParameter(keyName, styleSheetParameters.get(keyName) );
  22.                  }
  23.              }
  24.            
  25.              StringWriter out = new StringWriter();
  26.              StreamResult result = new StreamResult(out);
  27.              transformer.transform(sourceInput, result);
  28.              return ((StringWriter) result.getWriter()).toString();
  29.          } catch (Exception ex) {
  30.              logger.error("exception during transfo With style sheet " + styleSheetName
  31.                      + " for XML file:\n" + input, ex);
  32.              throw new IOException(ex.toString());
  33.          }
  34.     }


 
 
La ligne  
 

Code :
  1. spf.setNamespaceAware(namespaceAware)


 
n'a pas l'air d'être efficace qu'on lui passe false ou true...
 
Une idée? (car ça marchait bien avec DOM).
 
Merci :-)

mood
Publicité
Posté le 17-12-2008 à 17:32:50  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème transfo XSL avec API Java 1.5 + SAX + XML avec namespace

 

Sujets relatifs
Thread JAVAPHP Problème - Internet Explorer
MySQL - Probleme pour supprimer un champ sur Grosse DBProblème de décrémentation en javascript
probleme avec iconesdessiner un Ellipse avec jgraph ou jlow en java
[Java] JTree. Path et Node[Py2exe] Problème de compilation
SQL -> Probleme contraintes et relations, je bloquePetit problème de script (echo)
Plus de sujets relatifs à : Problème transfo XSL avec API Java 1.5 + SAX + XML avec namespace


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR