Existe uma maneira de gerar programaticamente um DTD a partir de um arquivo XML existente?

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

  •  03-07-2019
  •  | 
  •  

Pergunta

Eu tenho olhado em volta do espaço de nome System.xml, mas não vejo nada que apoiasse isso. Alguém sabe se está embutido no .NET, ou eu teria que obter uma biblioteca de terceiros para fazer isso?

NOTA: Eu gostaria que fosse tão simples quanto gerar um XSD, mas isso não serve para minha situação específica.

Foi útil?

Solução

Seria muito fácil de fazer, mas muito difícil torná -lo útil.

DTD é uma gramática. É trivial gerar uma gramática que gera apenas o arquivo XML fornecido e nenhum outro. É claro que isso é inútil na prática. O que você provavelmente precisa é criar uma gramática que gera arquivos "como este", e esse é um problema de IA difícil.

EDIT: Esse problema é conhecido como "indução de gramática" ou "inferência de gramática".

Outras dicas

Não tenho certeza sobre o DTD, mas você pode gerar arquivos XSD de um arquivo XML usando o Xsd.exe ferramenta. Geralmente vive no seguinte diretório:

C: Arquivos de Programas Microsoft Visual Studio 8 SDK V2.0 bin xsd.exe

Bem, o xsd.exe deve conseguir um XSD. Para o lado do DTD, xmlpad3 reivindicações de poder fazer isso (e é gratuito). Eu não tentei, então não posso garantir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top