Por que converter XSD para DTD?
DTD é um formato de esquema mais antigo para XML, introduzido com SGML em 1986 e adotado para XML em 1998. Converter de XSD para .dtd só vale a pena para sistemas legados que precedem o XSD e aceitam apenas DTD para validação; fora desse caso restrito, o XSD é estritamente mais capaz.
Como converter XSD para DTD
Oxygen XML Editor APP
Abra o .xsd, vá em Ferramentas > Gerar/Converter Esquema, selecione DTD como o formato de saída, escolha um local para o arquivo de saída e clique em OK; revise o relatório de conversão para recursos que não puderam ser traduzidos.
Saxon FREE
Aplique uma folha de estilo XSLT personalizada visando declarações xs:element executando-a com o Saxon contra seu .xsd; esta abordagem cobre apenas um subconjunto do XSD e a saída requer limpeza manual.
Sobre estes formatos
Um arquivo XSD é uma XML Schema Definition - um arquivo de texto que define as regras para o que um documento XML específico pode conter. Abra-o em qualquer editor de texto ou, para realce…
Abrir detalhes de .XSD →Um arquivo DTD é uma Document Type Definition (Definição de Tipo de Documento) - um esquema de texto simples que especifica os elementos, atributos e regras de aninhamento permitidos para…
Abrir detalhes de .DTD →Qualidade e o que observar
- DTD não possui tipos de dados: todos os
xs:string,xs:integer, restrições de padrão e restrições de valor tornam-se#PCDATAouCDATAsimples na saída. - Namespaces são descartados: se o XSD usa
targetNamespaceou importa múltiplos namespaces, nada disso sobrevive na saída DTD. - Nenhuma ferramenta autônoma gratuita com conversão confiável de XSD para DTD é mantida atualmente; o Oxygen XML Editor (pago, teste disponível) é a escolha prática.