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 : Xerces-C++ -- Validation XML par DTD [ Base de données / XML ] (buno)

lundi 3 mars 2008 à 17:19:11 | Xerces-C++ -- Validation XML par DTD

buno

Hello les gens!
Comment allez-vous? Les vacances d'hiver se sont bien passées?

Si vous avez l'habitude d'utiliser Xerces comme parser XML, j'aurais besoin de vos lumières, please.
J'aimerais savoir s'il était possible de valider un fichier XML à l'aide d'une DTD et de Xerces?

Pour les détails techniques, je suis en C++, sous Windows, et j'utilise un DOMBuilder pour parser mon fichier XML.
D'après la doc officielle, les fonctions loadGrammar(), getGrammar(), etc... pourrait m'aider...mais j'avoue que je ne comprends pas beaucoup la doc

Est-ce quelqu'un pourrait me faire profiter de ses lumières sur le sujet?

Merci d'avance!

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

mardi 4 mars 2008 à 09:49:36 | Re : Xerces-C++ -- Validation XML par DTD

buno

Yop!
Personne n'utilise Xerces? Suis-je "vieux-jeu" avec ma demande?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

mardi 14 octobre 2008 à 15:47:01 | Re : Xerces-C++ -- Validation XML par DTD

moifort

Voila un ptit bout de code qui test la validité de ton XML + DTD avec Xercesc. Je l'ai testé ca marche avec des fichiers XML qui contiennent la DTD et ceux qui utilisent une DTD externe. // Entete du fichier #include #include #include #include #include #include #if defined(XERCES_NEW_IOSTREAMS) #include #else #include #endif #include #include XERCES_CPP_NAMESPACE_USE //Dans ton code // Initialize the XML4C system try { XMLPlatformUtils::Initialize(); } catch (const XMLException& toCatch) { MessageBox("Error during initialization! Message:\n"); } SAXParser::ValSchemes valScheme = SAXParser::Val_Auto; // // Create a DTD validator to be used for our validation work. Then create // a SAX parser object and pass it our validator. Then, according to what // we were told on the command line, set it to validate or not. He owns // the validator, so we have to allocate it. // int errorCount = 0; DTDValidator* valToUse = new DTDValidator; SAXParser* parser = new SAXParser(valToUse); parser->setValidationScheme(valScheme); // // Get the starting time and kick off the parse of the indicated // file. Catch any exceptions that might propogate out of it. // int errorCode = 0; try { parser->parse("Logiconf.xml"); errorCount = parser->getErrorCount(); } catch (const OutOfMemoryException&) { MessageBox("OutOfMemoryException"); errorCode = 5; } catch (const XMLException& e) { MessageBox("Error during parsing"); errorCode = 4; } if(errorCode) { XMLPlatformUtils::Terminate(); MessageBox("Error code"); } if (!errorCount) { MessageBox(" XML + DTD = OK :)"); } else MessageBox("Ca marche poooooooooooooooooooo"); // // Delete the parser itself. Must be done prior to calling Terminate, below. // delete parser; // And call the termination method XMLPlatformUtils::Terminate();

mardi 14 octobre 2008 à 15:48:52 | Re : Xerces-C++ -- Validation XML par DTD

moifort

Voila un ptit bout de code qui test la validité de ton XML + DTD avec Xercesc. Je l'ai testé ca marche avec des fichiers XML qui contiennent la DTD et ceux qui utilisent une DTD externe. // Entete du fichier #include #include #include #include #include #include #if defined(XERCES_NEW_IOSTREAMS) #include #else #include #endif #include #include XERCES_CPP_NAMESPACE_USE //Dans ton code // Initialize the XML4C system try { XMLPlatformUtils::Initialize(); } catch (const XMLException& toCatch) { MessageBox("Error during initialization! Message:\n"); } SAXParser::ValSchemes valScheme = SAXParser::Val_Auto; // // Create a DTD validator to be used for our validation work. Then create // a SAX parser object and pass it our validator. Then, according to what // we were told on the command line, set it to validate or not. He owns // the validator, so we have to allocate it. // int errorCount = 0; DTDValidator* valToUse = new DTDValidator; SAXParser* parser = new SAXParser(valToUse); parser->setValidationScheme(valScheme); // // Get the starting time and kick off the parse of the indicated // file. Catch any exceptions that might propogate out of it. // int errorCode = 0; try { parser->parse("Logiconf.xml"); errorCount = parser->getErrorCount(); } catch (const OutOfMemoryException&) { MessageBox("OutOfMemoryException"); errorCode = 5; } catch (const XMLException& e) { MessageBox("Error during parsing"); errorCode = 4; } if(errorCode) { XMLPlatformUtils::Terminate(); MessageBox("Error code"); } if (!errorCount) { MessageBox(" XML + DTD = OK :)"); } else MessageBox("Ca marche poooooooooooooooooooo"); // // Delete the parser itself. Must be done prior to calling Terminate, below. // delete parser; // And call the termination method XMLPlatformUtils::Terminate();

mardi 14 octobre 2008 à 15:49:55 | Re : Xerces-C++ -- Validation XML par DTD

moifort

Bo j'arrive pas a mettre en forme le code dsl...



Cette discussion est classé dans : xml, parser, validation, dtd, xerces


Répondre à ce message

Sujets en rapport avec ce message

[Xerces] Validation avec DTD [ par buno ] Salut les keupains!Une fois n'est pas coutume, j'aurais besoin de votre aide pour ... parser un fichier XML Tout d'abord le contexte (non modifiable): parser xml [ par khalil1982 ] Salut tlm,J'avais besoin d'un parseur Xml dans mon projet, qui est en C sous Unix mais de petite tailleet si c possible avec les deux approche SAX et parser XML [ par khalil1982 ] salut tlm,je veux parser un fichier XML en C sous Linux mais de petite taille( Parser avec description de format (xml) ? [ par RV2931 ] Bonjour,Je dois réaliser quelques parsers de fichiers, notament un parser de fichiers DXF, et d'autres formats propriétaires...J'ai entendu parler que parser xml en C [ par jbt36 ] bonjour à tous,j'ai besoin de realiser un editeur xml en Cpour cela je dois notamment parser le fichier xml pour pouvoir le manipuler,l'affichersous f XML DOM xerces parser une chaine de caractères avec Wrapper4InputSource [ par pbouchard ] Bonjour, Je voudrai parser une string avec l'api dom de xerces. J'arrive bien à parser du xml quand je donne un nom de fichier (dans la fonction parse parser un document XML avec C++ [ par assiatoune ] bonjour tout le monde!ma question est la suivante: j'ai un document XML (un schéma XML) et je veux extraire (avec C++) dante une structure de données parser un schéma XML avec C++ [ par assiatoune ] Bonjour tout le monde,  je vous remercie de m'avoir répondu.  mais mon probleme est que je suis débtante en visuel C++, et je veux trouver un outil qu Besoin d'aide pour la réalisation d'un parser xml avec VC++6 [ par petiot_cedric2 ] Mon but est de créer une application avec VC++6 avec une interface graphique en C++ pour ouvrir un fichier XML, le parser et le réécrire dans un nouve rss parser(xerces) [ par fabrizio2605 ] Hi,someone can help me using the xerces library cause i'm gonna be crazy!!I can't install the lib.,or better, i'm not able to do this.So i'd like to k


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,250 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é.