Desenvolvedor

Gerador de Esquema XML

Gere um XSD (Esquema XML) básico a partir de uma amostra XML. Ajuda a definir a estrutura dos seus documentos XML.

XSD Gerado

Compartilhar esta Ferramenta

Como Funciona

Cole uma amostra de XML. A ferramenta extrai a estrutura dos elementos e cria um XSD simples onde cada elemento é do tipo xs:string. Você pode refiná-lo manualmente depois.

Exemplo

Um XML com , , <author> → um XSD definindo esses elementos.</p></div> </div> <div class="seo-section"> <h2>Perguntas Frequentes</h2> <div class="faq-list"><div class="faq-item"><div class="faq-q">Ele detecta tipos de dados?</div><div class="faq-a">Não, tudo é definido como xs:string por padrão. Use isso como ponto de partida.</div></div> <div class="faq-item"><div class="faq-q">Posso usar para arquivos XML grandes?</div><div class="faq-a">Sim, mas arquivos muito grandes podem ser lentos. Melhor para amostras abaixo de 100KB.</div></div></div> </div> <!-- Rating Card --> <div class="seo-section"> <h2>Avalie esta Ferramenta</h2> <div class="rating-card"> <div class="rating-summary"> <div class="rating-big" id="ratingBig">—</div> <div class="rating-count" id="ratingCount"></div> </div> <div class="rating-breakdown" id="ratingBreakdown"></div> </div> <div class="rating-widget"> <div class="stars-widget" id="starWidget"> <input type="radio" id="s5" name="star" value="5" onchange="submitRating(5)"><label for="s5" title="5 stars">★</label> <input type="radio" id="s4" name="star" value="4" onchange="submitRating(4)"><label for="s4" title="4 stars">★</label> <input type="radio" id="s3" name="star" value="3" onchange="submitRating(3)"><label for="s3" title="3 stars">★</label> <input type="radio" id="s2" name="star" value="2" onchange="submitRating(2)"><label for="s2" title="2 stars">★</label> <input type="radio" id="s1" name="star" value="1" onchange="submitRating(1)"><label for="s1" title="1 star">★</label> </div> <div class="rating-message" id="ratingMessage"></div> </div> </div> <div class="related-section"> <h2 style="font-size:1.25rem;margin-bottom:16px">Ferramentas Relacionadas</h2> <div class="related-grid"><a href="/pt/json-sorter/" class="related-card">Ordenador de JSON</a> <a href="/pt/json-formatter-validator/" class="related-card">Formatador e Validador de JSON</a> <a href="/pt/html-formatter/" class="related-card">Formatador de HTML</a></div> </div> <div class="mobile-related"> <h2 style="font-size:1.25rem;margin-bottom:16px">Ferramentas Relacionadas</h2> <div class="related-grid"><a href="/pt/json-sorter/" class="related-card">Ordenador de JSON</a> <a href="/pt/json-formatter-validator/" class="related-card">Formatador e Validador de JSON</a> <a href="/pt/html-formatter/" class="related-card">Formatador de HTML</a></div> </div> </div> </div> <aside class="sidebar sidebar-sticky"> <div class="sidebar-widget"> <div class="widget-title">Ferramentas Relacionadas</div> <ul class="widget-list"><li><a href="/pt/json-sorter/">Ordenador de JSON</a></li> <li><a href="/pt/json-formatter-validator/">Formatador e Validador de JSON</a></li> <li><a href="/pt/html-formatter/">Formatador de HTML</a></li></ul> </div> </aside> </div> </main> <footer> <div class="wrap"> <div class="footer-grid"> <div class="footer-brand"> <div class="logo">AI Velox<span class="dot">.</span>Tools</div> <p>Mais de 60 calculadoras, conversores e ferramentas gratuitas. Resultados instantâneos, sem cadastro.</p> </div> <div class="footer-col"> <h4>Finanças</h4> <a href="/pt/compound-interest-calculator/">Compound Interest</a> <a href="/pt/mortgage-calculator/">Mortgage</a> <a href="/pt/loan-payment-calculator/">Loan Payment</a> <a href="/pt/roi-calculator/">ROI</a> </div> <div class="footer-col"> <h4>Imobiliário</h4> <a href="/pt/mortgage-calculator/">Mortgage</a> <a href="/pt/home-affordability-calculator/">Affordability</a> <a href="/pt/rent-vs-buy-calculator/">Rent vs Buy</a> </div> <div class="footer-col"> <h4>Conversores</h4> <a href="/pt/miles-to-km-converter/">Miles → KM</a> <a href="/pt/celsius-to-fahrenheit-converter/">°C → °F</a> <a href="/pt/kg-to-lbs-converter/">KG → LBS</a> </div> </div> <div class="footer-bottom"> <span>© 2026 AI Velox Tools. All rights reserved.</span> <span><a href="/privacy-policy.html">Privacy</a> · <a href="/terms.html">Terms</a> · <a href="/about.html">About</a></span> </div> </div> </footer> <script> document.getElementById('navToggle').addEventListener('click', function(){ var open = document.getElementById('mainNav').classList.toggle('open'); this.setAttribute('aria-expanded', open); }); // ── Calculator ── function calculate() { try { var xml=document.getElementById('xml').value; let raw = (function(){ try{ var parser=new DOMParser(); var doc=parser.parseFromString(xml,'text/xml'); if(doc.querySelector('parsererror')) return 'Invalid XML'; var root=doc.documentElement; function genXsd(el,indent){ var name=el.tagName; var schema='<xs:element name="'+name+'">\n'+indent+' <xs:complexType>\n'+indent+' <xs:sequence>\n'; for(var i=0;i<el.children.length;i++){ var child=el.children[i]; schema+=indent+' <xs:element name="'+child.tagName+'" type="xs:string"/>\n'; } schema+=indent+' </xs:sequence>\n'+indent+' </xs:complexType>\n'+indent+'</xs:element>'; return schema; } return '<?xml version="1.0" encoding="UTF-8"?>\n<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">\n '+genXsd(root,' ')+'\n</xs:schema>'; } catch(e){ return 'Error generating schema'; } })(); if (isNaN(raw) || !isFinite(raw)) { document.getElementById('result').innerHTML = '<span class="result-error">Verifique seus dados</span>'; return; } let fmt = parseFloat(raw.toFixed(0)).toLocaleString('en-US', { minimumFractionDigits: 0, maximumFractionDigits: 0 }); document.getElementById('result').textContent = '' + fmt + ''; } catch(e) { document.getElementById('result').innerHTML = '<span class="result-error">Verifique seus dados</span>'; } } document.addEventListener('keydown', function(e) { if (e.key === 'Enter') calculate(); }); // ── FAQ ── document.querySelectorAll('.faq-q').forEach(function(q) { q.addEventListener('click', function() { this.closest('.faq-item').classList.toggle('open'); }); }); // ── Copy Link ── function copyShareLink() { var url = 'https://www.aiveloxtools.com/pt/xml-schema-generator/'; navigator.clipboard.writeText(url).then(function() { alert('Link copied!'); }) .catch(function() { var el = document.createElement('input'); el.value = url; document.body.appendChild(el); el.select(); document.execCommand('copy'); document.body.removeChild(el); alert('Link copied!'); }); } // ── Rating ── (function() { var TOOL_SLUG = 'xml-schema-generator'; var RATING_API = '/api/rating.php'; function loadRating() { fetch(RATING_API + '?slug=' + encodeURIComponent(TOOL_SLUG)) .then(function(r) { return r.json(); }) .then(function(d) { var bigEl = document.getElementById('ratingBig'); var countEl = document.getElementById('ratingCount'); var breakEl = document.getElementById('ratingBreakdown'); var msgEl = document.getElementById('ratingMessage'); if (d.totalVotes > 0) { bigEl.textContent = d.avgRating; countEl.textContent = d.totalVotes + ' rating' + (d.totalVotes !== 1 ? 's' : ''); var maxCount = Math.max(1, d.distribution[5]||0, d.distribution[4]||0, d.distribution[3]||0, d.distribution[2]||0, d.distribution[1]||0); var html = ''; for (var star=5; star>=1; star--) { var count = d.distribution[star] || 0; var w = (count / maxCount * 100).toFixed(0); html += '<div class="break-row"><span class="break-label">'+star+' stars:</span><div class="break-bar"><div class="break-fill" style="width:'+w+'%"></div></div><span class="break-count">'+count+'</span></div>'; } breakEl.innerHTML = html; msgEl.innerHTML = '<span style="color:var(--muted)">Click to rate this tool</span>'; } else { bigEl.textContent = '—'; countEl.textContent = ''; breakEl.innerHTML = ''; msgEl.innerHTML = '<span style="color:var(--muted)">Be the first to rate this tool</span>'; } }).catch(function(){}); } window.submitRating = function(rating) { var msgEl = document.getElementById('ratingMessage'); msgEl.innerHTML = '<span style="color:var(--muted)">Sending…</span>'; fetch(RATING_API, { method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({slug:TOOL_SLUG, rating:rating}) }).then(function(r){return r.json()}).then(function(d){ if(d.duplicate){ msgEl.innerHTML = '<span class="rating-error">You already rated this tool</span>'; } else if(d.success){ msgEl.innerHTML = '<span class="rating-thanks">Thanks for rating!</span>'; var bigEl = document.getElementById('ratingBig'); var countEl = document.getElementById('ratingCount'); var breakEl = document.getElementById('ratingBreakdown'); bigEl.textContent = d.avgRating; countEl.textContent = d.totalVotes + ' rating' + (d.totalVotes !== 1 ? 's' : ''); var maxCount = Math.max(1, d.distribution[5]||0, d.distribution[4]||0, d.distribution[3]||0, d.distribution[2]||0, d.distribution[1]||0); var html = ''; for(var star=5; star>=1; star--){ var count=d.distribution[star]||0; var w=(count/maxCount*100).toFixed(0); html+='<div class="break-row"><span class="break-label">'+star+' stars:</span><div class="break-bar"><div class="break-fill" style="width:'+w+'%"></div></div><span class="break-count">'+count+'</span></div>'; } breakEl.innerHTML = html; setTimeout(function(){ msgEl.innerHTML = '<span style="color:var(--muted)">Click to rate this tool</span>'; }, 3000); } else { msgEl.innerHTML = '<span class="rating-error">'+(d.error||'Error')+'</span>'; } }).catch(function(){ msgEl.innerHTML = '<span class="rating-error">Network error</span>'; }); }; loadRating(); })(); </script> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Ele detecta tipos de dados?","acceptedAnswer":{"@type":"Answer","text":"Não, tudo é definido como xs:string por padrão. Use isso como ponto de partida."}},{"@type":"Question","name":"Posso usar para arquivos XML grandes?","acceptedAnswer":{"@type":"Answer","text":"Sim, mas arquivos muito grandes podem ser lentos. Melhor para amostras abaixo de 100KB."}}]} </script> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Início","item":"https://www.aiveloxtools.com/pt/"},{"@type":"ListItem","position":2,"name":"Desenvolvedor","item":"https://www.aiveloxtools.com/pt/developer-tools/"},{"@type":"ListItem","position":3,"name":"Gerador de Esquema XML","item":"https://www.aiveloxtools.com/pt/xml-schema-generator/"}]} </script> </body> </html>