php et amp;java (iii)

Source : Internet
Auteur : utilisateur
phpjava (trois), lire phpjava (iii), Exemple 2 : En utilisant Xalan 1.2, en utilisant XSLT pour convertir XML comme deuxième exemple, nous avons utilisé le moteur XSLT de Xalan-java, qui provenait du projet APACHE XML, et avec ce programme, nous avons pu convertir le fichier source XML à l'aide de XSL. Cela facilitera grandement notre traitement des documents et la gestion du contenu. Ouvrez "lien exemple 2: transformer XML avec XSLT avec Xalan 1.2

Comme deuxième exemple, nous avons utilisé le moteur XSLT de xalan-java, qui provenait du projet XML d'APACHE, et avec ce programme, nous avons pu convertir le fichier source XML à l'aide de XSL. Cela facilitera grandement notre traitement des documents et la gestion du contenu.

Avant de commencer, nous devons mettre les fichiers xerces.jar et xalan.jar dans le répertoire java.class.path (les deux fichiers sont contenus dans Xalan-Java 1.2 et peuvent être téléchargés à partir de xml.apache.org).
Le programme PHP est le suivant :
La fonction xslt-transform() prend les fichiers XML et XSL comme paramètres sous forme de noms de fichiers (p. ex. foo.xml) ou URL (p. ex. http://localhost/foo.xml).



fonction xslt-transform ($xml, $xsl)

Créez un objet XSLTProcessor Factory. L'usine XSLTProcessor est un Java
Classe fabrique processeur s pour effectuer s..
$XSLTProcessorFactory nouveau java ("org.apache.xalan.xslt.XSLTprocessorFactory");

Utilisez la méthode XSLTProcessor Factory getprocessor (pour créer un
nouvel objet XSLTProcessor.
$XSLTProcessor s $XSLTProcessorFactory-getProcessor ()

Utilisez des objets XSLTInput Source pour fournir une entrée au XSLTProcessor
méthode du processus. Créer des objets pour les deux
source xml ainsi que source d'entrée xSL. Paramètres de
XSLTInputSource est (dans ce cas) un « identificateur système » (URI) qui
peut être une URL ou un nom de fichier. Si le système d'identification est une URL, il
doit être entièrement résolu.
$xmlID nouveau java ("org.apache.xalan.xslt.XSLTInputSource," $xml);
$stylesheetID nouveau java ("org.apache.xalan.xslt.xSLTInputSource," $xsl);

Créez un objet d'auteur de chaîne pour la sortie.
$stringWriter nouveau java ("java.io.StringWriter");

Créez un objet ResultTarget pour la sortie avec le XSLTResultTarget
classe. Le paramètre de XSLTResultTarget est (dans ce cas) un «caractère
stream', qui est l'objet stringWriter.
$resultTarget nouveau java ("org.apache.xalan.xslt.XSLT.SERResultTarget," $stringWriter);

Processus d'entrée avec le processus XSLTProcessors (). lundi
méthode utilise la feuille de style XSL pour transformer l'entrée XML, en plaçant
Le résultat dans la cible de résultat.
$XSLTProcessor ($xmlID, $stylesheetID, $resultTarget);

Utilisez la méthode des auteurs de cordes pour
Retournez la valeur actuelle du tampon en tant que chaîne pour obtenir le
résultat transformé.
$result $stringWriter-to-ToString ()
$stringWriter-fermer (fermer);
retour ($result);
}

?>

Une fois que la fonction est définie, nous pouvons l'appeler, et dans la routine suivante, la variable $xml pointe vers une chaîne d'URL, $xsl. Cet exemple montrera les titres des 5 derniers articles phpbuilder.com.



$xml "http://www.phpbuilder.com/rss_feed.php?type=articles&limit=5";
$xsl "http://www.soeterbroek.com/code/xml/rss_html.xsl";
$out s xslt-transform ($xml, $xsl);
écho $out;

?>

Si vous exécutez le programme sur votre machine locale, vous devez vous assurer que vos paramètres de fonction pointent vers le nom de fichier correct.



$xml " /web/htdocs/xml?java/rss-feed.xml";
$xsl " /web/htdocs/xml?java/rss-html.xsl";
$out s xslt-transform ($xml, $xsl);
écho $out;

?>

Bien que cet effet peut être atteint par d'autres moyens, ce qui peut être mieux, cet exemple vous donne une meilleure compréhension de PHP appelant les classes JAVA.

Le tutoriel est terminé et j'espère que vous apprendrez quelque chose de ce tutoriel, voici quelques liens que vous avez utilisé:
http://www.php4win.de - Une grande distribution Win32 de PHP
http://www.javasoft.com - Sun's Java release
http://www.jars.com s start search ing for handy Java classes
http://www.gamelan.com - Plus de classes Java
http://www.technetcast.com/tnc_play_stream.html?stream_id=400 sam Ruby sur PHP et l'intégration Java à Open Source Con vention 2000 (audio)
http://xml.apache.org - Projet Apache XML
http://www.phpbuilder.com/columns/justin20001025.php3 transformer XML avec XSL à l'aide de Sablotron

Nous contacter

Le contenu de cette page provient d'Internet et ne reflète pas l'opinion d'Alibaba Cloud ; les produits et services mentionnés sur cette page n'ont aucune relation avec Alibaba Cloud. Si le contenu de la page vous semble problématique, veuillez nous écrire un courriel, nous traiterons le problème dans les 5 jours suivant la réception de votre message.

Si vous constatez des cas de plagiat de la part de la communauté, veuillez envoyer un courriel à : info-contact@alibabacloud.com et fournir des preuves pertinentes. Un membre de notre équipe vous contactera dans les 5 jours ouvrables.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.