-
Compteur de contenus
8 971 -
Inscription
-
Dernière visite
Tout ce qui a été posté par Nirvana
-
Motivation du mariage gay
Nirvana a répondu à un sujet de PABerryer dans Politique, droit et questions de société
Je n'ai pas compris le sens de cette phrase -
Motivation du mariage gay
Nirvana a répondu à un sujet de PABerryer dans Politique, droit et questions de société
+1. J'ai même été invité à la manifestation pro-mariage gay du 27 janvier. Heu, comment dire... -
http://www.zdnet.fr/actualites/le-showrooming-nouvelle-arme-d-amazon-39785123.htm
-
Introduction décente à l'orienté objet ?
Nirvana a répondu à un sujet de Yozz dans Science et technologie
Nickel. Merci beaucoup ! -
Introduction décente à l'orienté objet ?
Nirvana a répondu à un sujet de Yozz dans Science et technologie
Merci. Donc, à la place de catch (Exception e) { System.out.println("Erreur " + e.getMessage()); je mets tout bêtement catch (Exception e) { System.err.println("Erreur " + e.getMessage()); ? Edit : en tout cas ça compile. -
Introduction décente à l'orienté objet ?
Nirvana a répondu à un sujet de Yozz dans Science et technologie
Bon, j'ai réussi la première étape, qui consiste à prendre un fichier texte en entrée et à cracher du XML en sortie, seulement le résultat s'affiche dans la console. Comme l'énoncé est ambigü, je me demande s'il ne faut pas aussi écrire la sortie dans un fichier XML. Evidemment, on n'a pas vu comment manipuler des fichiers à part dans des bouts de code donnés tels quels par les profs, donc je ne sais pas s'il y a une méthode (dans tous les sens du terme) simple pour faire ça. Donc voilà mon code (à 90% déjà fourni par le prof) et désolé pour tous les commentaires : package fr.crim.a2012.tt2xml0; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Writer; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.DOMImplementation; import org.w3c.dom.Document; import org.w3c.dom.DocumentType; import org.w3c.dom.Element; public class TT2XML0 { /* * Méthode de service - Ici, méthode de classe - Ecrit le texte de sortie */ public static void sortir(Document doc, Writer out) throws Exception { /* * Acts as a holder for a transformation Source tree in the form of a * Document Object Model (DOM) tree. */ DOMSource src = new DOMSource(doc); /* * Acts as an holder for a transformation result, which may be XML, * plain Text, HTML, or some other form of markup. */ StreamResult res = new StreamResult(out); /* * An instance of this abstract class can transform a source tree into a * result tree. */ Transformer trans = TransformerFactory.newInstance().newTransformer(); trans.setOutputProperty( OutputKeys.DOCTYPE_SYSTEM, "http://pagesperso-systeme.lip6.fr/Jean-Francois.Perrot/inalco/XML/IM12/Projet/tags.dtd"); // Transforme la source XML en objet Result trans.transform(src, res); } /* * Méthode principale (méthode de classe) Crée un objet Document à partir * d'un fichier lu en entrée */ public static Document lireText(BufferedReader entree) throws Exception { // DocumentBuilder est un parseur permettant l'analyse d'un fichier XML DocumentBuilder parseur = DocumentBuilderFactory.newInstance() .newDocumentBuilder(); DOMImplementation domi = parseur.getDOMImplementation(); // DTD DocumentType dtd = domi .createDocumentType( "liste", null, "http://pagesperso-systeme.lip6.fr/Jean-Francois.Perrot/inalco/XML/IM12/Projet/tags.dtd"); // L'interface Document représente un document XML entier Document listeTokens = domi.createDocument("http://crim.fr/ns/graph", "tags", dtd); // L'interface Element représente un élément dans un document XML Element liste = listeTokens.getDocumentElement(); String ligne = entree.readLine(); do { // Pour chaque ligne du fichier d'entrée // Capture des tokens dans un tableau de chaînes String[] tab = ligne.split("[ \t]+"); String mot = tab[0]; // Mot String etiquette = tab[1].trim(); // Etiquette morphosyntaxique String lemme = tab[2].trim(); // Lemme // Crée un élément XML de type "token" Element el = listeTokens.createElement("token"); // Ajoute l'élément "token" après la racine de l'arbre XML liste.appendChild(el); // Ajoute les trois attributs à l'élément "token" créé et ajouté el.setAttribute("mot", mot); el.setAttribute("etiquette", etiquette); el.setAttribute("lemme", lemme); // Passe à la ligne suivante ligne = entree.readLine(); } while (ligne != null); return listeTokens; // Retourne l'arbre XML créé } // ------------------------------------------------------------------------ public static void main(String[] args) { // Message d'erreur si trop ou pas assez d'arguments if (args.length != 1) { System.out.println("Il me faut un nom de fichier !"); } else { try { // Exécution du programme // Lecture du fichier passé en argument BufferedReader entree = new BufferedReader( new InputStreamReader(new FileInputStream(args[0]), "ISO-8859-1")); // Création du fichier XML de sortie Document doc = lireText(entree); // OutputStreamWriter = Encodage des caractères de sortie Writer sortie = new OutputStreamWriter(System.out, "UTF-8"); // Ecriture du flux de sortie sortir(doc, sortie); } catch (Exception e) { System.out.println("Erreur " + e.getMessage()); } } } } Voilà le texte en entrée (format .txt, iso 8859-1) : http://pastebin.com/Uyp8rUSL ou en lien direct Et la sortie que j'ai en console : http://pastebin.com/wSFGUbKJ A la rigueur, je pourrais rediriger le flux de sortie en Bash sans problème, mais j'imagine que c'est "mieux" de le faire directement en Java... -
La Maison Blanche Refuse De Construire L'étoile De La Mort
un sujet a répondu à Nirvana dans La Taverne
Cette blague pas drôle ne méritait pas une réponse si élaborée. -
Introduction décente à l'orienté objet ?
Nirvana a répondu à un sujet de Yozz dans Science et technologie
Me revoilà à devoir faire un nouveau projet (Java + XML) pour dans 5 jours. Je vous demanderai éventuellement de l'aide si je bloque : http://pagesperso-systeme.lip6.fr/Jean-Francois.Perrot/inalco/XML/IM12/Projet/ProjetXML12.html -
http://www.youtube.com/watch?v=GrsJDy8VjZk http://www.youtube.com/watch?v=O-Ho1JRhaFs
-
Cette chronique de méga-geek... http://www.youtube.com/watch?v=mvZ-O4DIoSk
-
Bon, allez, adrct c'est un troll de Lucilio ? Ou Chitah, peut-être ?
-
Introduction décente à l'orienté objet ?
Nirvana a répondu à un sujet de Yozz dans Science et technologie
Pour avoir utilisé temporairement OKCupid, j'ai toujours trouvé leur site rapide et performant, mais je ne sais pas si leur choix de langages en est la cause -
Max Stirner, L'unique Et Sa Propriété
Nirvana a répondu à un sujet de Bruxibru dans Philosophie, éthique et histoire
J'en ai entendu parler dans un roman d'Amélie Nothomb. -
93 ans, il aura bien vécu.
- 18 réponses
-
- public choice
- economiste
-
(et 1 en plus)
Étiqueté avec :
-
Le gérant de la chaîne Youtube de FPS Russia vient d'être retrouvé mort par balle http://www.tubefilter.com/2013/01/08/fps-russia-keith-ratliff-murder/
- 5 338 réponses
-
Images fun et leurs interminables commentaires
Nirvana a répondu à un sujet de Librekom dans La Taverne
J'ai pas compris. -
Et Toi, T'as Fait Quoi Comme Etudes?
Nirvana a répondu à un sujet de Hayek's plosive dans La Taverne
Non, on apprend des trucs sympa pour sa culture perso (c'est vraiment le seul intérêt) mais quand on doit se taper trois ans de Licence juste pour avoir le droit de faire enfin un truc intéressant en Master, on a l'impression de perdre son temps grave.Si je pouvais remonter le temps, j'aurais sûrement tenté une école d'ingénieur après le bac. -
Et Toi, T'as Fait Quoi Comme Etudes?
Nirvana a répondu à un sujet de Hayek's plosive dans La Taverne
Ah, on a eu la même (mauvaise) idée. -
Et Toi, T'as Fait Quoi Comme Etudes?
Nirvana a répondu à un sujet de Hayek's plosive dans La Taverne
Je suis en train d'avoir mon bac + 5 en traitement automatique des langues à l'université, à Paris. J'ai donc voté bac + 3/4 et 'autre'. -
Le PLD appelle à voter Sarkozy
Nirvana a répondu à un sujet de Plutonium dans Politique, droit et questions de société
En cas de référendum, tu voterais non ou tu t'abstiendrais ? -
Images fun et leurs interminables commentaires
Nirvana a répondu à un sujet de Librekom dans La Taverne
-
Introduction décente à l'orienté objet ?
Nirvana a répondu à un sujet de Yozz dans Science et technologie
Perl ? -
Chavez est mort il y a un an et on ne le savait même pas ? Sont forts ces vénézuéliens.
-
J'ai tenu une heure devant The Raid: Redemption et c'est déjà trop. C'est l'un des pires films d'action que j'ai jamais vu. Je ne comprends pas qu'il ait un tel score sur Rottentomatoes.
-
Introduction décente à l'orienté objet ?
Nirvana a répondu à un sujet de Yozz dans Science et technologie
Je me suis pas penché sur la question, mais je me demande si on ne peut pas même le faire en une ligne de Bash.
