begin process at 2012 05 30 12:46:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Base de données

 > 

XML

 > 

Xerces-C++ -- Validation XML par DTD


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

Xerces-C++ -- Validation XML par DTD

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

buno

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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ée 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 Insérer la valeur d'une variable entre deux balise XML. [ par 2eio ] Bonjour.J'ai créé un programme en Langage C, qui crée un fichier XML avec sa DTD, sous Paradigm C++.Mon problème est que je n'arrive pas à y inclure l parser un fichier xml [ par boualiasma ] Bonsoir, Je voulais parser mon fichier XML pouyr extraire certaines informations pour les utiliser dans mon programme C. J'ai trouvé la librairie li XML parser [ par missy85 ] Quelqu'un aurait il une idée de cmt je pourrais parser du xml de ce genre: Il s'agit d'une capture wireshark avec les différents champs des paquets 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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 3,276 sec (4)

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