Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Parseur Validant SAX avec SCHEMA...possible? [ Archives / Au secours ] (darktonight)

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é 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

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.