Gerador XSD
Gere um XML Schema (XSD) a partir de um documento XML de exemplo — infere aninhamento de elementos, contagens de repetição, atributos opcionais vs obrigatórios e tipos de dados (inteiro, decimal, booleano, data). Funciona totalmente no seu navegador.
Entrada
Saída
Mais formas de usar esta ferramenta
API REST
curl -X POST https://api.iotools.cloud/v1/tool/xsd-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"xmlInput": "<library><book id=\"1\" available=\"true\"><title>Du…",
"inferTypes": "true"
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `xsd-generator` tool (XSD Generator) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
Widget para incorporar
<iframe
src="https://iotools.cloud/embed/xsd-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Gerador XSD — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Coloque isso na sua própria página — grátis, sem chave, só um link de volta.
| Custo por chamada de API/MCP | A partir de 5 créditos |
|---|---|
| Precisa de mais créditos? | Ver preços |
Também disponível via
Guias
Cole um documento XML de exemplo e obtenha um XML Schema (XSD) que o descreva. Em vez de escrever um schema manualmente, deixe o gerador ler seu exemplo e trabalhar a estrutura, contagens de repetição, atributos e tipos de dados para você.
O que infere
- Aninhamento. Cada elemento se torna um
xs:element, com elementos filhos aninhados dentro de seu pai (estilo "Russian Doll"). - Repetições e filhos opcionais. Um filho que aparece mais de uma vez em qualquer pai recebe
maxOccurs="unbounded"; um que falta em alguns pais recebeminOccurs="0". - Atributos. Um atributo presente em todas as instâncias é
required; caso contrário, éoptional. - Tipos de dados. Com a inferência de tipo ativada, os valores são digitados como
xs:boolean,xs:integer,xs:decimal,xs:date,xs:dateTimeouxs:string. Se as amostras discordarem (digamos7e9.99), o tipo se amplia paraxs:decimalou retorna paraxs:string. - Ordenação. Se os filhos sempre aparecerem em uma ordem consistente, o schema usa
xs:sequence; se a ordem variar entre as amostras, usa umaxs:choicerepetida para que seu exemplo ainda seja válido.
Como usar
- Cole seu XML ou clique em Tente um exemplo.
- Desative Inferir tipos de dados se desejar que cada valor seja
xs:string. - Copie ou baixe o
schema.xsdgerado.
Limitações que vale a pena conhecer
Um schema inferido de apenas um exemplo sabe apenas o que esse exemplo mostra. Um campo sempre presente em sua amostra será marcado como obrigatório, mesmo que seja opcional nos dados reais — forneça um documento representativo com vários registros e analise o resultado. Namespaces não são modelados: nomes de elementos e atributos usam seus nomes locais.
Ferramentas relacionadas
Verifique se seu XML está bem formado com XML Validator, limpe-o com XML Formatter ou produza um equivalente JSON com JSON Schema Generator.
Privacidade
Tudo funciona no seu navegador. Seu XML nunca é carregado.