Commit 082e0fee authored by Guillaume Chomat's avatar Guillaume Chomat
Browse files

next implementation of transmorpher link

parent 91473b08
......@@ -391,10 +391,11 @@
</itemizedlist>
</section>
<para>Le logiciel a développé étant un éditeur de graphe, cette composition de l'interface s'inspire des éditeurs de graphe standard.</para>
<section><title>Qualités</title>
<section><title>Qualités</title>
<para>Le logiciel a développé étant un éditeur de graphe, cette composition de l'interface s'inspire des éditeurs de graphe standard.</para>
<para><phrase role="strong">Interopérabilité : </phrase>Le logiciel doit avoir la capacité de se coupler avec d'autre de manière rapide et efficace.
</para>
......@@ -518,13 +519,6 @@
</glossdiv>
</glossary>
<bibliography>
<biblioentry>
</biblioentry>
</bibliography>
</article>
<!-- Keep this comment at the end of the file
......
......@@ -56,7 +56,7 @@
<para>Les "documents structurés" sont des éléments tels que des feuilles de calcul, des carnets d'adresses, des paramètres de configuration, des transactions financières, des dessins techniques, etc. XML est un ensemble de règles, de lignes directrices, de conventions (quel que soit le nom que vous voulez leur donner) pour la conception de formats texte permettant de structurer des données</para>
<para>Pour structurer les données, XML utilise des balises (des mots encadrés par '<' et '>') et des attributs (de la forme nom="valeur"). Pour cela, le langage XML est un "frère" du langage HTML. Mais alors que HTML définit la signification de chaque balise et de chaque attribut, XML utilise les balises seulement pour délimiter les éléments de données et laisse l'entière interprétation des données à l'application qui les lit. En d'autres termes, si vous voyez "<p>" dans un fichier XML, on ne peut en déduire la sémantique. Selon le contexte cette balise peut définir un prix, une fleur, un chien,....</para>
<para>Pour structurer les données, XML utilise des balises (des mots encadrés par '' et '') et des attributs (de la forme nom="valeur"). Pour cela, le langage XML est un "frère" du langage HTML. Mais alors que HTML définit la signification de chaque balise et de chaque attribut, XML utilise les balises seulement pour délimiter les éléments de données et laisse l'entière interprétation des données à l'application qui les lit. En d'autres termes, si vous voyez "p" dans un fichier XML, on ne peut en déduire la sémantique. Selon le contexte cette balise peut définir un prix, une fleur, un chien,....</para>
<example><title>Exemple de document XML</title>
<programlisting>
......@@ -74,57 +74,54 @@
</example>
<para></para>
</section>
<section><title>X</title>
<para></para>
</section>
<section><title></title>
</section>
Mais contrairement à HTML, qui utilise un jeu de balise finie, XML permet de définir ses propres balises.
Pour bien comprendre cela, prenons l'exemple d'un document, décrivant en XML, un annuaire au sein d'une entreprise. Un tel document pourrais ressemblé à:</para>
<section><title></title>
<para>Mais contrairement à HTML, qui utilise un jeu de balise finie, XML permet de définir ses propres balises.
Pour bien comprendre cela, prenons l'exemple d'un document, décrivant en XML, un annuaire au sein d'une entreprise. Un tel document pourrais ressemblé à:</para>
<para>Les balises qui définisent notre document annuaire permmettent de donner une sémantique aux contenus de ces balises</para>
<para>Ensuite, un des autres avantages d'XML par rapport à d'autre format d'édition, est sa portabilité.Tout programme pouvant lire des documents textes peut lire des documents XML.</para>
<para>De plus, de multiples langages peuvent être dérivés d'XML.L'avantage, alors, est l'uniformisation de l'analyse syntaxique de tous ces langages.</para>
<para>Enfin, contrairement à HTML, XML sépare le contenu du document de sa présentation. Cette dernière étant rendue possible par des feuilles de styles.
<para>Ensuite, un des autres avantages d'XML par rapport à d'autre format d'édition, est sa portabilité.Tout programme pouvant lire des documents textes peut lire des documents XML.</para>
<para>De plus, de multiples langages peuvent être dérivés d'XML.L'avantage, alors, est l'uniformisation de l'analyse syntaxique de tous ces langages.</para>
<para>Enfin, contrairement à HTML, XML sépare le contenu du document de sa présentation. Cette dernière étant rendue possible par des feuilles de styles.
XSL est un langage, dérivant de XML, qui permet d'écrire de telles feuilles de styles.XSLT quant à lui pemet d'appliquer une feuille de style XSL à un document XML.
Un des avantages est de pouvoir présenter un même document XML sur différentes plate-forme(téléphone portable, ordinateur de bureau, ordinateur de poche,...) mais aussi sous différents formats(HTML,PDF,...).
</para>
<para>En résumé, XML s'impose comme le standard de l'édition de documents structurés. De ce fait, au sein d'une entreprise, une grande partie des documents qui circuleront en son sein mais aussi vers le monde extérieur seront écris en XML.</para>
<para>En résumé, XML s'impose comme le standard de l'édition de documents structurés. De ce fait, au sein d'une entreprise, une grande partie des documents qui circuleront en son sein mais aussi vers le monde extérieur seront écris en XML.</para>
</section>
<section><title>Transmorpher</title>
<para>Ainsi, l'échange de documents structurés entre organisations mais également entre logiciels, entraine que la maîtrise et la composition des transformations de ces documents seront primordiales.</para>
<para>Aujourd'hui, XSLT permmet d'effectuer des transformations sur ces documents par l'intermediaire d'une feuille de style XSL.Cependant ce procédé a des lacunes.</para>
<para>En effet, XSLT est trop complexe pour des opérations simples(renommé un attribut, caché un élément) et limité pour des opérations complexes, comme la composition de transformations. Or, ces compositions de transformations se révellent être d'une necessité grandissante.</para>
<para>Transmorpher est un environnement pour des transformations génériques de traitement sur des documents de XML. Il vise à compléter XSLT afin de :
<section><title>Transmorpher</title>
<para>Ainsi, l'échange de documents structurés entre organisations mais également entre logiciels, entraine que la maîtrise et la composition des transformations de ces documents seront primordiales.</para>
<para>Aujourd'hui, XSLT permmet d'effectuer des transformations sur ces documents par l'intermediaire d'une feuille de style XSL.Cependant ce procédé a des lacunes.</para>
<para>En effet, XSLT est trop complexe pour des opérations simples(renommé un attribut, caché un élément) et limité pour des opérations complexes, comme la composition de transformations. Or, ces compositions de transformations se révellent être d'une necessité grandissante.</para>
<para>Transmorpher est un environnement pour des transformations génériques de traitement sur des documents de XML. Il vise à compléter XSLT afin de :
<itemizedlist>
<listitem><para>Décrire des transformations simples facilement (retirer des éléments, substiter des noms d'élément et d'attribut,...)</para>
</listitem>
<listitem><para>Permettre d'appliquer des transformations à l'aide d'expressions régulières sur le contenu</para>
</listitem>
<listitem><para>Composer des transformations</para>
</listitem>
<listitem><para>Décrire des transformations simples facilement (retirer des éléments, substiter des noms d'élément et d'attribut,...)</para>
</listitem>
<listitem><para>Permettre d'appliquer des transformations à l'aide d'expressions régulières sur le contenu</para>
</listitem>
<listitem><para>Composer des transformations</para>
</listitem>
<listitem><para>Réitérez des transformations</para>
</listitem>
</itemizedlist></para>
<para>Les transformations sont décrites par l'intermédiaire d'un langage dérivé d'XML.</para>
</listitem>
</itemizedlist></para>
<para>Les transformations sont décrites par l'intermédiaire d'un langage dérivé d'XML.</para>
</section>
</section>
<section>
<title>documents de reference</title>
<para>Le site du projet <ulink url="http://transmorpher.inrialpes.fr">Transmorpher</ulink></para>
......
/**
* $Id: FCMarqueeHandler.java,v 1.7 2002-05-22 16:49:53 gchomat Exp $
* $Id: FCMarqueeHandler.java,v 1.8 2002-05-23 09:18:02 gchomat Exp $
*
* Transmorpher
*
......@@ -31,6 +31,7 @@ package fr.fluxmedia.flowcomposer;
import fr.fluxmedia.transmorpher.Graph.Process;
import fr.fluxmedia.transmorpher.Graph.Port;
import fr.fluxmedia.transmorpher.Graph.Channel;
import fr.fluxmedia.transmorpher.Graph.*;
import javax.swing.*;
......@@ -244,9 +245,15 @@ public class FCMarqueeHandler extends BasicMarqueeHandler {
Point p,p2 = null;
Rectangle rect,rect2;
Port portIn,portOut;
Call tCallOut;
Call tCallIn;
Channel channel;
String name;
rect=currentProcess.getCellBounds(cell);
rect2=currentProcess.getCellBounds(cell2);
int port = (((ProcessGraph)currentProcess).getPorts(cell,"output")).size();
......@@ -271,18 +278,23 @@ public class FCMarqueeHandler extends BasicMarqueeHandler {
//System.out.println("tCallOut "+tCallOut);
int indexIn = (tCallIn.inPorts().length()==0)?0:tCallIn.inPorts().length()-1;
int indexOut = (tCallOut.outPorts().length()==0)?0:tCallOut.outPorts().length()-1;
tCallIn.inPorts().addPort(new Port("C"+tCallIn.getId(),tCallIn,indexIn));
tCallOut.outPorts().addPort(new Port("C"+tCallIn.getId(),tCallOut,indexOut));
name = "C"+tCallIn.getId();
portIn = new Port(name,tCallIn,indexIn);
portOut = new Port(name,tCallOut,indexOut);
tCallIn.inPorts().addPort(portIn);
tCallOut.outPorts().addPort(portOut);
/* c = new Channel( name, (fr.fluxmedia.transmorpher.Graph.Process)currentTransformation );
((fr.fluxmedia.transmorpher.Graph.Process)currentTransformation).addChannel( c );
c.setOut( p );
p.setChannel( c );*/
channel = new Channel( name, (fr.fluxmedia.transmorpher.Graph.Process)currentTransformation );
((Process)currentTransformation).addChannel( channel );
channel.setOut( portOut );
channel.setIn( portIn );
portIn.setChannel( channel );
portOut.setChannel( channel );
((ProcessGraph)currentProcess).addPort("output",(DefaultGraphCell)cell);
((ProcessGraph)currentProcess).addPort("input",(DefaultGraphCell)cell2);
p= new Point(rect.x+rect.width/2,rect.y+rect.height/2);
......
/**
*
* $Id: FlowComposer.java,v 1.18 2002-05-22 16:49:53 gchomat Exp $
* $Id: FlowComposer.java,v 1.19 2002-05-23 09:18:02 gchomat Exp $
*
* Transmorpher
*
......@@ -94,6 +94,7 @@ public class FlowComposer extends JPanel implements GraphModelListener,
//Application Title
protected static String title = "FlowComposer";
// panel instance
//private JPanel editor;
protected JToolBar toolbar;
......@@ -104,8 +105,11 @@ public class FlowComposer extends JPanel implements GraphModelListener,
// External resource
protected static ResourceBundle resource;
// The current file name
//The window listener.
protected static FCWindowListener windowListener;
// The current file name
protected String filename;
// Application Icon. From resource file.
......@@ -172,6 +176,7 @@ public class FlowComposer extends JPanel implements GraphModelListener,
public static final String tipSuffix = "Tooltip";
static {
windowListener = new FCWindowListener();
try {
resource = ResourceBundle.getBundle("resources/FlowComposer_fr",
Locale.getDefault());
......@@ -288,8 +293,8 @@ public class FlowComposer extends JPanel implements GraphModelListener,
// Construct Frame
JFrame frame = new JFrame();
// Set Close Operation to Exit --- ----- will change
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addWindowListener(windowListener);
FlowComposer flowComposer = createInstance(filename,null);
frame.setContentPane(flowComposer);
frame.setTitle(title +" "+ version + " -- " + flowComposer.getFileName());
......@@ -899,6 +904,17 @@ public class FlowComposer extends JPanel implements GraphModelListener,
}
protected static class FCWindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
//if(instances.size()==1)
//System.exit(0);
e.getWindow().dispose();
//System.out.println("win "+instances.indexOf(e.getWindow()));
}
}
class UndoAction extends AbstractAction {
public UndoAction() {
......@@ -1090,13 +1106,14 @@ public class FlowComposer extends JPanel implements GraphModelListener,
}
public void actionPerformed(ActionEvent e) {
/* try{
String reloc = "";
transmorpher.generateExec(reloc);
Parameters p = generateParameters();
transmorpher.exec(p);
}
catch(Exception ex){ex.printStackTrace();}*/
try{
String reloc = "";
transmorpher.generateExec(reloc);
Parameters p = new Parameters();
transmorpher.exec(p);
}
catch(Exception ex)
{ex.printStackTrace();}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment