Conversor de XML a XSD
Pega o sube un archivo XML y obtén un esquema XSD listo para usar. Esta herramienta analiza la estructura de tu documento y calcula elementos, atributos, tipos de datos y reglas de repetición por sí sola, sin salir de tu navegador.
XSD generado
Tipos complejos reutilizables, uno por cada nombre de elemento distinto.
Listo cuando tú lo estés
Pega tu XML a la izquierda, o carga el ejemplo, y pulsa Generar esquema XSD.
Convierte cualquier documento XML en un esquema XSD funcional
La mayoría de los generadores de XSD piden instalar software de escritorio o solo funcionan con documentos triviales. Este recorre todo tu árbol XML, une las etiquetas repetidas en un solo tipo reutilizable y calcula los tipos de dato y las reglas de repetición a partir de los valores reales que encuentra, así el esquema coincide con tus datos y no con una plantilla genérica.
Salida en XML Schema Definition (XSD 1.0)
Qué hace distinto a este generador de XSD
Pensado para cómo se estructuran los documentos XML reales, no un ejemplo de juguete.
Reglas de repetición precisas
Las etiquetas hermanas repetidas se vuelven maxOccurs="unbounded" automáticamente. Un campo que falta en un solo registro se marca minOccurs="0", así el esquema encaja con documentos que tienen campos opcionales.
Cinco tipos de dato inferidos
El texto y los valores de atributo se comparan con xs:integer, xs:decimal, xs:boolean, xs:date y xs:dateTime, y usan xs:string cuando un valor no encaja bien en ninguno.
Tipos complejos reutilizables
Cada nombre de elemento distinto recibe un tipo complejo con nombre, referenciado cada vez que vuelve a aparecer. Las etiquetas recursivas, como una estructura de carpetas anidadas, reutilizan el mismo tipo en lugar de romper el generador.
Espacio de nombres opcional
Añade una URI de espacio de nombres y elige elementos qualified o unqualified, o déjalo en blanco para un esquema simple sin espacio de nombres.
Atributos bien manejados
Los atributos presentes en cada instancia de un elemento se vuelven use="required"; los que solo aparecen en algunas instancias se vuelven use="optional", cada uno con su propio tipo inferido.
Nada sale de tu navegador
El análisis, la inferencia y la generación del esquema se ejecutan en el cliente con JavaScript. Tu XML nunca se sube a ningún sitio, algo importante para configuraciones internas y datos con valores reales de clientes.
Cómo funciona la inferencia de tipos
Una referencia rápida de lo que verás en el esquema generado y por qué.
| Patrón en el XML | Qué revisa la herramienta | Resultado en el XSD |
|---|---|---|
| La misma etiqueta aparece dos veces bajo un padre | Cuenta el mayor número de hermanos visto en cualquier parte | maxOccurs="unbounded" |
| Falta una etiqueta hija en un registro | Comprueba si aparece en cada instancia del padre | minOccurs="0" |
| El texto siempre son números enteros | Prueba cada valor de muestra contra un patrón de entero | xs:integer |
| El texto mezcla enteros y decimales | Todo entero también es un decimal válido | xs:decimal |
| El texto mezcla números y palabras | Ningún patrón único encaja con toda la muestra | xs:string (respaldo seguro) |
| Un elemento contiene otros elementos | Construye un tipo complejo con nombre y reutilizable | xs:complexType con xs:sequence |
| Un elemento tiene un prefijo de espacio de nombres | El prefijo se elimina antes del análisis | Solo el nombre local del elemento |
La herramienta toma hasta 200 valores de muestra por campo, más que suficiente para ver el patrón en documentos habituales.
Lo que esta herramienta no hace
Ser claros sobre los límites, porque un esquema inferido de un solo ejemplo es un punto de partida, no una especificación certificada.
- No resuelve las URI de espacio de nombres en esquemas separados; cada prefijo se elimina y el resultado describe solo nombres locales de elemento.
- El contenido mixto (texto junto a elementos hijos) se marca con mixed="true" pero no se modela campo por campo.
- Infiere las reglas a partir de la muestra que entregas. Un campo que en tu muestra resulta ser un número, pero que en otro documento podría ser texto, aquí se tipará como número.
- Genera sintaxis XSD 1.0, la que todavía espera casi cualquier herramienta o validador de XML.
Cómo funciona este Conversor de XML a XSD
Esta herramienta lee tu XML en el navegador y calcula el esquema XSD que le corresponde. Recorre cada elemento, agrupa los que comparten un nombre de etiqueta donde sea que aparezcan y revisa cuántas veces se repite cada etiqueta como hermana de otra. Si un padre llega a contener más de una, el esquema la marca maxOccurs="unbounded". Si la etiqueta aparece en cada instancia de su padre, minOccurs se queda en 1; si no, baja a 0, para que el esquema acepte documentos donde falte ese campo.
Los valores de atributos y de texto reciben el mismo tratamiento. La herramienta toma una muestra de cada atributo y de cada texto final, y los prueba contra patrones de enteros, decimales, booleanos, fechas y fecha-hora. Cuando toda la muestra encaja en un patrón, ese se vuelve el tipo XSD. Cuando los valores no coinciden, usa xs:string, así el esquema nunca rechaza un dato real por un solo registro distinto.
Los elementos que contienen otros elementos reciben su propio tipo complejo con nombre, reutilizado cada vez que esa etiqueta reaparece. Esa reutilización evita que una estructura recursiva, como un árbol de carpetas con etiquetas node anidadas, genere un esquema sin fin.
Los prefijos de espacio de nombres se eliminan antes del análisis, porque adivinar la estructura correcta desde un solo documento de ejemplo no es fiable. Nada de lo que pegues o subas sale de tu navegador; el XML se analiza y se descarta en cuanto el esquema aparece en pantalla.
Cómo usar este Conversor de XML a XSD
Pega o sube tu XML
Suelta un archivo .xml o pega el marcado directamente. Se carga un catálogo de ejemplo para que veas la herramienta en acción primero.
Ajusta las opciones del esquema (opcional)
Añade un espacio de nombres si tu esquema lo necesita y elige si los elementos nuevos son qualified o unqualified. Deja ambos vacíos para un esquema sin espacio de nombres.
Genera el esquema
La herramienta recorre todo el documento, une las etiquetas repetidas y calcula minOccurs, maxOccurs y el tipo de dato de cada elemento y atributo.
Copia o descarga el XSD
Copia el esquema al portapapeles o descárgalo como archivo .xsd, y valida tu XML original contra él en tu editor o en tu proceso de trabajo.
Ejemplo de Uso
El atributo de <precio> se vuelve xs:decimal, y <enStock> queda minOccurs="0" porque solo uno de los dos libros lo tiene:
Preguntas Frecuentes
¿Qué es un esquema XSD y para qué generarlo a partir de un XML?
¿Cómo decide la herramienta si un elemento es obligatorio u opcional?
¿Por qué algunos elementos reciben maxOccurs="unbounded"?
¿Detecta automáticamente tipos de dato como números, booleanos y fechas?
¿Qué pasa con los espacios de nombres y los prefijos de XML?
¿Puede manejar XML muy anidado o que se referencia a sí mismo, como un árbol de carpetas?
¿El esquema que genera esta herramienta validará mi archivo XML original?
¿Qué pasa si mi XML mezcla texto y elementos hijos en la misma etiqueta?
¿Se sube mi XML a un servidor?
¿Puedo poner un espacio de nombres de destino en el esquema generado?
Herramientas relacionadas
Formateador de XML
Formatea y embellece código XML para una mejor legibilidad. Herramienta gratuita en línea.
Convertidor de XML a JSON
Convierte datos XML a formato JSON al instante. Herramienta gratuita en línea.
Validador de XML
Valida y verifica la sintaxis de XML al instante. Detecta errores y muestra mensajes claros.
Convertidor de XML a CSV
Convierte datos XML a formato CSV al instante. Extrae datos estructurados de XML.
Convertidor de JSON a XML
Convierte datos JSON a formato XML al instante. Herramienta gratuita en línea.
XPath Test Tool
Herramienta gratuita en línea: XPath Test Tool. Rápida, segura y sin necesidad de registro.
El Conversor de XML a XSD es mantenido por CodeItBro. Nuestro objetivo es ofrecer las mejores herramientas gratuitas para desarrolladores en la web. Si tienes comentarios o sugerencias, visita nuestra página de contacto.

