begin process at 2010 03 20 09:38:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

Parseur Validant SAX avec SCHEMA...possible?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Parseur Validant SAX avec SCHEMA...possible?

mercredi 19 mars 2003 à 17:35:13 | Parseur Validant SAX avec SCHEMA...possible?

darktonight

Bonjour voila j'ai besoin de parser (avec validation par SCHEMA) via SAX de sun un fichier XML.
Si c'est possible, mon probleme est quelle version de SAX me faut il (1 ou 2?) et quelle version du jdk de SUN (1.3 ou 1.4)

Merci si vous pouvez me répondre c'est trés important.
mercredi 19 mars 2003 à 23:53:50 | Re : Parseur Validant SAX avec SCHEMA...possible?

willowman

Salut !

Parser un document XML, avec SAX et valider le document en utilisant les XML Schema -> oui c'est possible.

Etant donne l'utilisation de XML Schema, tu devras traiter les URIs et espaces de nommages ! De facto, SAX2 est plus approprie a cette tache, puisque la gestion des Namespace y a ete ameliore ! (XMLReader au lieu de Parser dans la v1)

Un petit jdk 1.3.1 fera l'affaire ;-)

Allez, a pluche !

jeudi 20 mars 2003 à 09:46:20 | Re : Parseur Validant SAX avec SCHEMA...possible?

darktonight

Merci,
En fait j'avais déja réalisé un parseur validant avec dtd via SAX de sun (en java), mais ayant besoin de rigueur de validation(format date,taille et type des valeurs) j'ai du passer à xml shema, est ce que je dois tout revoir ou je peux récupérér certaines parties voir toutes (DefaultHandler,SaxFactory,etc...)
Sais tu ou je pourrais trouver de la doc ou des exemples de parseur SAX avec schema, le sujet est bien mince sur le net.
Merci
mardi 25 mars 2003 à 12:18:00 | Re : Parseur Validant SAX avec SCHEMA...possible?

darktonight

Eu tu n'aurais pas un exemple parceque la je vois vraiment pas comment faire , j 'ai trouvé cet exemple mais ca ne marches pas en as tu un qui marche ? merci.

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

public class Schema1{

//Constants when using XML Schema for SAX parsing.
static final String JAXP_SCHEMA_LANGUAGE =
"http://java.sun.com/xml/jaxp/properties/schemaLanguage";
static final String W3C_XML_SCHEMA =
"http://www.w3.org/2001/XMLSchema";
static final String JAXP_SCHEMA_SOURCE =
"http://java.sun.com/xml/jaxp/properties/schemaSource";


//main
public static void main(String[] args) {
String msg,xml,xsd;
if(args.length!=2){
xml = "letter.xml";
xsd = "letter.xsd";
System.out.println("No arguments found:\nUsage: xmlFile xsdFile" +
"\nUsing letter.xml letter.xsd");
}else{
xml = args[0];
xsd = args[1];
}

if(isValid("letter.xml","letter.xsd")){
msg = "File is valid";
}else{
msg = "ERROR! INVALID FILE";
}
System.out.println(msg);
}


//SAX parsing
public static boolean isValid(String source, String schema){
try {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
spf.setValidating(true);
SAXParser sp = spf.newSAXParser();
sp.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
sp.setProperty(JAXP_SCHEMA_SOURCE, schema);
MyDefaultHandler dh = new MyDefaultHandler();
sp.parse(source, dh);

return (dh.isValid)?true:false;

} catch(SAXException se) {
se.printStackTrace();
}catch (Exception e) {
System.err.println(e);
}
return false;
}

}


//Custom error hanler to print errors and return isValid
class MyDefaultHandler extends DefaultHandler {

//flag to check if the xml document was valid
public boolean isValid = true;

//Receive notification of a recoverable error.
public void error(SAXParseException se) {
setValidity(se);
}

//Receive notification of a non-recoverable error.
public void fatalError(SAXParseException se) {
setValidity(se);
}

//Receive notification of a warning.
public void warning(SAXParseException se) {
setValidity(se);
}

private void setValidity(SAXParseException se){
isValid = false;
System.out.println(se.toString());
}
}
mardi 4 janvier 2005 à 10:01:02 | Re : Parseur Validant SAX avec SCHEMA...possible?

arnoo59

Tu y es arrivé ???

nono


Cette discussion est classée dans : possible, parseur, sax, schema, validant


Répondre à ce message

Sujets en rapport avec ce message

[XML] Parseur (SAX ou JDOM) + Utilisation DTD [ par zeldoi5 ] Bonjour, j'ai deux questions à vous poser, désolé si ces dernières ont déjà été posées, mais je n'ai trouvé aucune référence à ces dernières..... - d Vérifier qu'un fichier .xls est ouvert [ par juliodu62138 ] Bonjour, comment est-il possible de savoir si un fichier .xls par exemple est ouvert (en lecture)? En fait, quand il est ouvert je ne peux pas enregis String & byte[] [ par DarkSchneider ] Bonjour tout le monde,     J'aurais aimer savoir s'il était possible de copier un string dans un byte[] sans perte de donneé.Je m'explique avec un ex trier arraylist de fichiers, possible ????? [ par joebar3333 ] Salut, j'ai actuellement un arraylist composé d'objets File. J'aimerai maintenant trier ces fichiers selon leur date de dernière modification. Je sais SAX & parseur [ par verrec_s ] Bonjour, je suis actuellement en train de debugger un programme développé par des collègues et je me trouve devant le pb suivant. On recupere en entr SWT + MDI + Perspective [ par tristaf ] Hello, je construit une application en java utilisant SWT. Dans un premier temps je voulais avoir une fenetre principale dans laquelle s'ouvriraient d Download d'une applet [ par Syruis ] Bonjour tout le monde, J'aurais aimé savoir ( si c'est possible ) comment on peut recuperer un inputstream d'une applet. Autrement dis télécharger u comparaison de double [ par Enderounet ] j ai ce genre de test a effectuer dans un prg : while (x[i] >= x[ip]) , or x[] etant un tableau de double, a la compilation il me sort un "possible lo xml vers sql: DOM ou SAX? [ par janolapino ] Bonjour,Je souhaite écrire le contenu d'un fichier xml vers une base mysql. Mon coeur balance entre entre DOM et SAX (mon coeur un peu influencé par m Parser une String contenant du xml avec SAX ... [ par jerooome ] Bonjour à tous, Situation: j'ai un client qui ce connect à un serveur via un socket, et qui lui envoie un flux xml, le serveur recoit cela dans une


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales