Estou procurando uma ferramenta que pegue um documento de instância XML e produza um esquema XSD correspondente.
Certamente reconheço que o esquema XSD gerado será limitado quando comparado à criação de um esquema manualmente (provavelmente não manipulará elementos opcionais ou repetitivos ou restrições de dados), mas poderia pelo menos servir como um ponto de partida rápido.
xsd.exe
ter mudado no Windows 7. Eu tê-lo em muitosMicrosoft SDKs
diretórios, entre os quais um presente (para que ele não parece depende necessariamente Visual Studio mais?):C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
. Eu tive que executá-lo no diretório que contém o xml, para evitar um erro sobre "caracteres ilegais no caminho", mas isso pode ser devido ao nome de arquivo longo que tenho.Você pode usar uma opção de código aberto e de plataforma cruzada: inst2xsd do XMLBeans do Apache . Acho muito útil e fácil.
Basta baixar, descompactar e jogar (requer Java).
fonte
Trang é a melhor opção aqui. Código aberto e plataforma cruzada (embora seja necessário Java)
No site da Trang:
Link para Download
fonte
$ trang file.xml schema.xsd
.No VS2010, se você carregar um arquivo XML no editor, clique no menu XML >> Criar esquema.
fonte
Também existe o
XML schema learner
que está disponível no Github .Ele pode pegar vários arquivos xml e extrair um XSD comum de todos esses arquivos .
fonte
sudo apt-get install php5-cli
e funcionando./learn --help
--- Eu realmente não vejo a diferença entre isso e uma ferramenta escrita em Java, Python ou Ruby :)locality
campo: se um nome de campo for usado em vários lugares no XML, referindo-se a diferentes elementos, umlocality
valor maior que 1 será necessário, por exemplo,root/item
e seroot/something/item
referirá a tipos diferentes, então--locality 2
será necessário no mínimoSe você tiver o .Net instalado, uma ferramenta para gerar esquemas e classes XSD já estará incluída por padrão.
Para mim, a ferramenta XSD é instalada sob a seguinte estrutura. Isso pode variar dependendo do diretório de instalação.
Normalmente, as classes e esquemas que essa ferramenta gera funcionam muito bem, especialmente se você os consumir em uma linguagem .Net
Normalmente, pego o documento XML que procuro, envia-o através da ferramenta XSD com o
/o:<your path>
sinalizador para gerar um esquema (xsd) e, em seguida, envia o arquivo xsd pela ferramenta usando os/classes /L:VB (or CS) /o:<your path>
sinalizadores para obter classes que eu posso importar e usar nos meus projetos .Net do dia a diafonte
Se tudo o que você deseja é XSD, o LiquidXML possui uma versão gratuita que executa XSDs e possui uma GUI para que você possa ajustar o XSD, se quiser. De qualquer forma hoje em dia eu escrevo meus próprios XSDs à mão, mas tudo isso graças a este aplicativo.
http://www.liquid-technologies.com/
fonte
se você estiver trabalhando no mundo java - a idéia intelliJ também possui amplo suporte a xml, incluindo xsd generation e samle xml da xsd generation, e com plugins você pode obter depuradores xslt. - especialmente agradável se você planeja usar ferramentas como o jaxb posteriormente.
fonte
O Altova XmlSpy faz isso bem - você pode encontrar uma visão geral aqui
fonte
Este é um tópico antigo, mas achei que poderia ser útil postar este link: encontrei esta ferramenta: xsd-gen Gerar esquema XML a partir de XML
e fez o que eu precisava.
fonte