Existe-t-il un moyen dans .Net de générer par programme une DTD à partir d’un fichier XML existant?

StackOverflow https://stackoverflow.com/questions/216900

  •  03-07-2019
  •  | 
  •  

Question

J'ai parcouru l'espace de noms System.Xml, mais je ne vois rien qui puisse supporter cela. Est-ce que quelqu'un sait s'il est intégré à .Net, ou devrais-je me procurer une bibliothèque tierce pour le faire?

REMARQUE: j'aimerais que ce soit aussi simple que de générer un xsd, mais cela ne convient pas à ma situation spécifique.

Était-ce utile?

La solution

Ce serait très facile à faire, mais très difficile à rendre utile.

DTD est une grammaire. Il est trivial de générer une grammaire ne générant que le fichier XML donné. Ceci est bien sûr inutile dans la pratique. Ce dont vous avez probablement besoin, c’est de créer une grammaire générant des fichiers "comme celui-ci", et c’est un problème informatique difficile.

Modifier: ce problème est connu sous le nom de "Grammar Induction". ou "Grammar Inference".

Autres conseils

Je ne suis pas sûr de la DTD, mais vous pouvez générer des fichiers XSD à partir d'un fichier xml à l'aide de outil Xsd.exe . Il réside généralement dans le répertoire suivant:

C: \ Programmes \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin \ xsd.exe

Eh bien, xsd.exe devrait pouvoir vous obtenir un xsd. Pour le côté dtd, xmlpad3 prétend pouvoir le faire (et est gratuit). Je n'ai pas essayé, je ne peux donc pas en témoigner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top