Document de Conception pour le Traitement de texte de SIRAGI (Version 1.0) Prototype du Traitement de Texte L'éditeur de texte de Siragi comporte un menu qui contient les fonctionnalités suivantes:
Fichier Ouvrir : Cette fonction se charge d'ouvrir la fenêtre OUVRIR du système via la classe FileDialog. FileDialog fdlogopen=new FileDialog(this,"Siragi",FileDialog.LOAD); Pour lire un fichier on va utiliser les classes BufferedReader,FileReader. public int ouvrir() String fich; String tmp; BufferedReader br; FileReader fr; String c; fdlogopen.show(); fich = fdlogopen.getdirectory()+fdlogopen.getfile(); if (fich!= null) try fr = new FileReader(fich); br = new BufferedReader(fr); tmp = ""; c = br.readline(); while (c!= null) tmp = tmp + c+(char)13+(char)10; c = br.readline(); tawork.settext(tmp);//textarea tawork = new TextArea(); tawork.requestfocus(); br.close(); fr.close(); settitle(fich); etat = 1; return (1); catch(ioexception eio) System.out.println(eIO.toString());return(0); return (0); Enregistrer sous Cette fonction se charge d'ouvrir la fenêtre Enregistrer Sous du système via la classe FileDialog. FileDialog fdlogsave=new FileDialog(this,"Siragi",FileDialog.SAVE); Pour lire un fichier on va utiliser les classes BufferedWriter,FileWriter.
public void sauver_comme() String fich; FileWriter fw; BufferedWriter bw; String tmp; int i,lg; fdlogsave.show(); fich = fdlogsave.getdirectory()+fdlogsave.getfile(); if (fich!= null) try fw = new FileWriter(fich); bw = new BufferedWriter(fw); tmp = tawork.gettext(); lg = tmp.length(); bw.write(tmp,0,lg); bw.close(); fw.close(); settitle(fich); catch (IOException e) System.out.println("Erreur:"+e.toString());; Enregistrer Même principe que enregistrer sous. public void sauver() String fich; FileWriter fw; String tmp; int i,lg; BufferedWriter bw; tmp = tawork.gettext(); if (etat = = 0&& tmp!= "") sauver_comme(); if (etat = = 1 && tmp!= "") //fdlog.show(); fich = fdlogopen.getdirectory()+fdlogopen.getfile(); if (fich!= null) try fw = new FileWriter(fich); bw = new BufferedWriter(fw); tmp = tawork.gettext();
lg = tmp.length(); bw.write(tmp,0,lg); bw.close(); fw.close(); settitle(fich); catch (IOException e) ; Nouveau Cette fonctionnalité permettra à l utilisateur de choisir une DTD. Pour cela on définira quelques DTD pour le traitement de texte de SIRAGI : DTD pour un CV. DTD pour une Lettre. DTD pour un livre. DTD pour un message. DTD pour Rapport. Pour cet usage on réalisera une classe Cframe_Nouveau qui permettra à l utilisateur de sélectionner sa DTD soit en utilisant des Checkbox ou bien une liste.et selon le choix de l utilisateur la DTD correspondante sera chargée.exemple : public class Cframe_nouveau extends Frame implements ActionListener CheckboxGroup grouperadio = new CheckboxGroup(); Checkbox cv = new Checkbox("CV",groupeRadio,false); Checkbox livre = new Checkbox("LIVRE",groupeRadio,false);....
Edition Sélectionner tout: On utilisera la méthode selectall() du compossant TextArea : tawork.selectall(); // tawork est objet TextArea. Coller: tawork.insert(select, tawork.getcaretposition());(select est une variable de type String) Copier : select= tawork.getselectedtext(); Couper : select = tawork.getselectedtext(); tawork.replacerange("", tawork.getcaretposition(), tawork.getcaretposition() + select.length()); Générer Afin de transformer un fichier XML en tout autre document grâce à XSL, il faut d'abord installer un outil. Pour cela, nous avons décidé d'utiliser XALAN. Cet outil est gratuit et écrit en java donc utilisable sous la plupart des systèmes d'exploitations (Windows, Linux, Unix,...). Il est téléchargeable à l'adresse suivante :http://xml.apache.org/xalan-j/index.html. Finallement, pour transformer un fichier XML en un fichier HTML (ou tout autre) via un fichier XSL, il suffit de taper la commande suivante : java org.apache.xalan.xslt.process -IN fichier.xml -OUT fichier.html -XSL fichier.xsl Remarques: Les fichiers xalan.jar et xerces.jar disponible sous le répertoire bin de XALAN doivent être inclus dans la variable CLASSPATH. Et pour générer des fichiers PDF nous allons utiliser FOP qui est une application Java qui lit un document XML et le transforme en PDF. java org.apache.xalan.xslt.process %1 %2 %3 %4 %5 %6 %7 %8
Pour cela on utilisera une Classe qui permettra à l utilisateur de choir le type du document qu il veut générer (HTML,PDF) public class Cframe_generer extends Frame implements ActionListener,Runnable Checkbox html = new Checkbox("Html",false); Checkbox pdf = new Checkbox("PDF",false); Button valider =new Button("Génerer"); Thread T; public Cframe() //constructeur setsize(200,100); settitle("choix des types des documents à generer"); setlayout(new FlowLayout ()); add(pdf); add(html); add(valider); valider.addactionlistener(this);..... Et pour faire le lien avec XALAN afin de générer un fichier HTML par exemple on utilisera: Runtime.getRuntime ().exec("java org.apache.xalan.xslt.process -IN "+fxml+" -XSL "+fxsl+" -OUT test.html"); Exemple : File outdir = new File("dossierhtml"); outdir.mkdirs (); File htmlfile = new File(outDir,"ResultXMLhtml.html"); File fxml = new File("birds.xml"); File fxsl = new File("birds.xsl"); try Runtime.getRuntime ().exec("java org.apache.xalan.xslt.process -IN "+fxml+" -XSL "+fxsl+" -OUT "+htmlfile); catch(exception e)