Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: LAMY Olivier (LAMY_Olivier@accor-hotels.com)
Date: 02/05/2002 - 08:13


Pour information, il existe aussi Saxon et XY qui fonctionnent aussi très
bien (voir (1) et (2))
Comme tu utilises JAXP, tu peux utiliser l'un ou l'autre de ces processeurs
et tester les performances en modifiant la propriété système nommé
javax.xml.parsers.DocumentBuilderFactory avant l'obtention du transformer
par :
TransformerFactory tFactory = TransformerFactory.newInstance();
Tu places simplement avant un :
    String property =
System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
                                      nom du processeur);

Pour xalan, org.apache.xalan.processor.TransformerFactoryImpl
Pour Saxon, com.icl.saxon.TransformerFactoryImpl

(1) http://www.xmlblaster.org/XSL_performance.html
(2) http://www.biglist.com/lists/xsl-list/archives/200001/msg00111.html

----- Original Message -----
From: <noel.jean-baptiste@courrier.uqam.ca>
To: <xml-tech@xmlfr.org>
Sent: Tuesday, April 30, 2002 10:28 PM
Subject: [xml-tech] Re: XSL et JAVA

Si t'as question est peut-on utiliser des feuilles de styles depuis une
classe java ? Alors la réponse est oui.
J'utilise le processeur Xalan, disponible sur Apache.
Exemple :
//Servlets
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.net.URL;
//Le parseur
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
//Transformation XSLT : XML + XSL
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;

// Classe qui affiche la page Web du formulaire d'un étudiant selon son
programme
// appelé par TraiterOptionProgramme
public class AfficherUnEtudiant {

  // Variable statique du document XML
  public static String nomFichier;

  public static void afficherUn( HttpServletRequest request,
HttpServletResponse response )
    throws ServletException, IOException,
java.net.MalformedURLException
  {
    // The servlet returns HTML.
    //response.setContentType("text/html; charset=UTF-8");
    response.setContentType("text/html; charset=ISO-8859-1");
    // Output goes in the response stream.
    PrintWriter out = response.getWriter();
    //listeEtudiant est le nom de la zone de selection. nomFichier
récupère le code permanent(taille 12)
    //concaténer avec xml
    nomFichier = request.getParameter( "listeEtudiants" ).toString
().substring( 0, 12 ) + ".xml";

    try
    {
      //out.println("Resultat Xalan");
      TransformerFactory tFactory = TransformerFactory.newInstance();
      //Appel du fichier XML contenant les noms des programmes
      Source xmlSource = new StreamSource(new URL(fichierXML).openStream
());
      //Appel du fichier XSL pour la mise en forme
      Source xslSource = new StreamSource(new URL(fichierXSL).openStream
());
      // Generate the transformer.
      Transformer transformer = tFactory.newTransformer(xslSource);
      // Perform the transformation, sending the output to the response.
      transformer.transform(xmlSource, new StreamResult(out));
    }
    catch (Exception e)
    {
      out.write(e.getMessage());
      e.printStackTrace(out);
    }
    out.close();
  }
}

j'éspére que cela t'auras aidé.

Djibi

---- Messages d´origine ----
De: Le Gac Frédéric <legacf@yahoo.fr>
Date: mardi 30 avril 2002 15:08
Objet: [xml-tech] XSL et JAVA

>
> Bonjour à tous,
>
> Existe-t-il une méthode pour utiliser XSL dans un
> programmeJAVA (par exemple en utilisant une classe prévue à cet
> effet).
> Merci à tous.
>
> Frédéric Le Gac.
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>

--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).

Cette liste est a votre disposition pour discuter en francais de tout sujet technique lie a XML.

Pour resilier votre abonnement, envoyez un message contenant la commande "unsubscribe" a xml-tech-request@xmlfr.org (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)

********************************************************************** Ce message électronique et tous les fichiers joints ainsi que les informations contenues dans ce message ( ci après "le message" ), sont confidentiels et destinés exclusivement à l'usage de la personne à laquelle ils sont adressés. Si vous avez reçu ce message par erreur, merci de le renvoyer à son émetteur et de le détruire. Toute diffusion, publication, totale ou partielle ou divulgation sous quelque forme que se soit non expressément autorisées de ce message, sont interdites. ********************************************************************** This e-mail, any attachments and the information contained (herein " the message" ) are confidential and intended solely for the use of the addressee(s) if you have received this message in error please send it back to the sender and delete it. Unauthorized publication, use, dissemination or disclosure, either whole or partial, of this message is strictly prohibited. -- Devenez redacteur <XML>fr et contribuez au developpement du xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).

Cette liste est a votre disposition pour discuter en francais de tout sujet technique lie a XML.

Pour resilier votre abonnement, envoyez un message contenant la commande "unsubscribe" a xml-tech-request@xmlfr.org (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)



Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement