Mon objectif est de créer simplement une frame en java à partir d'un fichier XML et de la DTD correspondante.

Voici mon fichier MySAXApp.java
*************************

import javax.swing.*; 
import java.awt.*;
import java.awt.event.*;
import java.io.FileReader;

import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;

import org.xml.sax.helpers.DefaultHandler;

class MySAXApp extends DefaultHandler
{
	public MySAXApp ()
	{
		super();
	}
	
	public void startDocument(){
		System.out.println("//TEST");
		System.out.println("");
	}
	
	public void endDocument(){
		
	}
	
	public void startElement(String uri, String name, String qName, Attributes atts){
		if(name=="Jframe"){
			System.out.println("class "+atts.getValue("name")+" extends JFrame{");
		}
	}

	public void endElement(String uri, String name, String qName){
		if(name=="JFrame"){
			System.out.println("}");
		}
	}
	
	
	public static void main (String args[])throws Exception {
		
		SAXParserFactory spf = SAXParserFactory.newInstance();
		spf.setNamespaceAware(true);
		spf.setValidating(true);

        SAXParser saxParser = spf.newSAXParser();
		
		XMLReader xr = XMLReaderFactory.createXMLReader();
		MySAXApp handler = new MySAXApp();
		xr.setContentHandler(handler);
		xr.setErrorHandler(handler);
		xr.setDTDHandler(handler) ;
		
		for (int i = 0; i < args.length; i++) {
			FileReader r = new FileReader(args[i]);
			xr.parse(new InputSource(r));
			}
		}
}


Voici ma DTD: IHM.dtd
*****************

[#darkblue]<!DOCTYPE IHM>

<!ELEMENT IHM (JFrame*)>

<!ATTLIST JFrame
	name CDATA #REQUIRED
>
[/#]


Et voici mon fichier d'exemple a tester: test.xml
************************************

[#indigo]
<?xml version="1.0"?>
<!DOCTYPE IHM SYSTEM "IHM.dtd">

<IHM>
  <JFrame name="test1">
  </JFrame>
</IHM>
[/#]


Je me suis aidé des exemples du net pour faire mon code utilisant SAX et JAXP et je ne sais toujours pas ce qui ne va pas quand j'effectue java MySAXApp test.xml

Voilà, mon but et d'arriver à afficher le code d'une fenêtre java dérivant de ce fichier XML grâce à SAX/JAXP pour pouvoir implémenter de la même manière les boutons, menus...

Merci d'avance [/i]
Modifié par DjyRom (10 Nov 2006 - 16:07)
Administrateur
Bonjour à toi aussi

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif