Pourriez-vous m'expliquer une diff�rence de comportement d'un
analyseur SAX ?
Je fais passer le fichier XML suivant :
<?xml version="1.0" encoding="ISO-8859-1"?>
<zozo>
</zozo>
... dans le parser SAX de jaxp. J'affiche les parametres de la
methode startElement de mon pilote sax. J'obtiens :
uri=
localName=zozo
qName=zozo
Puis je fais pareil avec Xalan J 2.2.0. J'obtiens :
uri=
localName=
qName=zozo
Vous remarquerez que les valeurs de localName ne sont pas les m�mes.
Qui a raison ? Que dois-je faire pour avoir un comportement � peu
pr�s stable en fonction des parsers sax ? (je voudrais tout
simplement traiter une balise XML ! Est-ce que qName c'est fiable !?
)
Voici mon programme java (excusez le cot� frugal, c'est pour la d�mo)
:
==>
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.AttributesImpl;
public class saxessai
{
private PiloteSAX monSAX;
public saxessai(String nomFichierXML) throws Exception
{
SAXParserFactory saxpf = SAXParserFactory.newInstance();
SAXParser saxp = saxpf.newSAXParser();
monSAX = new PiloteSAX();
saxp.parse(nomFichierXML, monSAX);
}
public static void main(String args[]) throws Exception
{
new saxessai(args[0]);
}
private class PiloteSAX extends org.xml.sax.helpers.DefaultHandler
{
public void startElement
(String uri, String localName, String qName, Attributes
attributes)
throws SAXException
{
System.out.println("uri="+uri+
"\nlocalName="+localName+
"\nqName="+qName);
}
}
}
Pour le lancer il faut faire java saxessai <mon fichier xml>
Merci d'avance.
--
Sur le Web, tout de suite.
Herve AGNOUX - diaam informatique
http://www.diaam-informatique.com