✨ Características principales
- Fusiona datos XML en plantillas
.docxcon precisión. - Utiliza controles de contenido para vincular campos de plantilla a valores XML.
- Soporta flujos de trabajo en Microsoft Word y LibreOffice Writer.
- Personaliza plantillas una vez y reutilízalas indefinidamente.
- Soporte completo para contenido anidado, repetido y condicional.
📁Resumen del flujo de trabajo
- Prepara tu archivo XML — Este archivo contiene los datos (por ejemplo, exportaciones de formularios fiscales, información de clientes).
- Diseña tu plantilla DOCX — Usa los controles de contenido para insertar campos dinámicos.
- Vincula los controles de contenido a XPath — Cada control hace referencia a un valor en el archivo XML.
- Ejecuta el proceso — La herramienta lee tu XML y genera un documento completo.
📝Creación de Plantillas
➕ Insertar Controles de Contenido
Los controles de contenido son marcadores de posición en tu plantilla .docx que se llenarán con datos de tu archivo fuente .xml.
| Plataforma | Acción |
|---|---|
| Microsoft Word | Habilita la Pestaña de Desarrollador y usa Controles de Contenido de Texto Enriquecido |
| LibreOffice Writer | Usa Controles de Contenido desde la barra de herramientas o mediante un atajo |
💡 Consejo: Asigna atajos de teclado para insertar controles más rápido. También puedes seleccionar cualquier texto y convertirlo en un control de contenido.
🏷️ Ejemplo de archivo fuente XML:
<?xml version="1.0" encoding="utf-8"?>
<Cliente>
<ClienteID>1</ClienteID>
<Nombre>José Rodríguez</Nombre>
<ClienteVIP>True</ClienteVIP>
<Pedidos>
<Pedido Numero="1">
<DescripcionProducto>Mi Producto Asombroso</DescripcionProducto>
<Cantidad>10</Cantidad>
<FechaPedido>20 de diciembre de 2025</FechaPedido>
</Pedido>
<Pedido Numero="2">
<DescripcionProducto>Mi Producto Maravilloso</DescripcionProducto>
<Cantidad>3</Cantidad>
<FechaPedido>26 de diciembre de 2025</FechaPedido>
</Pedido>
</Pedidos>
</Cliente>
📝 Ejemplo de archivo de plantilla DOCX:
Estimado <Content Select="./Nombre" />,
En la pestaña Insertar, las galerías incluyen elementos diseñados para coordinar con el aspecto general de tu documento.
Nota importante: Tu nuevo ID de cliente es: <Content Select="./ClienteID" />.
Cuando crees imágenes, gráficos o diagramas, también se coordinarán con el aspecto actual de tu documento.
<Table Select="./Pedidos/Pedido" />
| Descripción | Cantidad | Fecha de pedido |
|---|---|---|
./DescripcionProducto | ./Cantidad | ./FechaPedido |
<Repeat Select="./Pedidos/Pedido"/>
La descripción del pedido #<Content Select="@Numero"/> es <Content Select="./DescripcionProducto"/>.
Cantidad: <Content Select="./Cantidad"/>
Fecha: <Content Select="./FechaPedido"/>
<EndRepeat/>
✨
<Conditional Select="./ClienteVIP" Match="True"/>
Como eres uno de nuestros clientes más grandes, te invitamos a una jornada de puertas abiertas el próximo martes en nuestra oficina principal.
Este contenido puede incluir Select, Table, o contenido Conditional anidado.
No olvides: Tu nuevo ID de cliente es <Content Select="./Cliente"/>
<EndConditional/>
🧩 Referencia de Comandos de Plantillas para el DocMaker
DocMaker usa comandos basados en XML incrustados en controles de contenido de texto rico para generar dinámicamente el contenido del documento. A continuación, se presentan los comandos reconocidos y cómo usarlos.
📌 1. <Content Select="..." />
Inserta un único valor desde el XML en el documento.
<Content Select="./Nombre" />
- Propósito: Inserta el valor seleccionado en línea en la ubicación del control de contenido.
- Ejemplo de salida:
Si el XML contiene<Nombre>Juan García</Nombre>, la etiqueta se reemplazará por “Juan García”. - Uso: Ideal para nombres, IDs, cantidades u otros valores escalares.
📌 2. <Table Select="..." />
Genera filas de tabla dinámicas basadas en un conjunto repetido de nodos XML.
<Table Select="./Pedidos/Pedido" />
- Propósito: Clona la fila que contiene la etiqueta para cada nodo que coincida.
- Requisito: La fila de la tabla debe estar ya formateada en el documento con marcadores de posición para los valores.
- Uso: Ideal para insertar listas de artículos, facturas, transacciones, etc.
📌 3. <Repeat Select="..."> ... <EndRepeat />
Repite un bloque de contenido para cada nodo XML coincidente.
<Repeat Select="./Pedidos/Pedido">
La descripción del pedido #<Content Select="@Numero"/> es <Content Select="./DescripcionProducto"/>.
<EndRepeat/>
- Propósito:: Recorre el XPath especificado e inserta el contenido interior cada vez.
- Soporta: Elementos en línea como
<Content />dentro del bloque repetido. - Uso: Adecuado para información estructurada pero no tabular repetida.
📌 4. <Conditional Select="..." Match="..."> ... <EndConditional />
Muestra contenido condicionalmente basado en el valor de una expresión XPath.
<Conditional Select="./ClienteVIP" Match="True">
Como eres uno de nuestros clientes más grandes, te invitamos...
<EndConditional/>
- Propósito: Incluye el bloque de contenido solo si el valor seleccionado coincide.
- Ejemplo: Útil para mensajes VIP, cláusulas legales o instrucciones variables.
🔧 Atributos opcionales
| Attribute | Used In | Description |
|---|---|---|
Select | Todos | Expresión XPath que selecciona el o los nodos XML a operar |
Match | Conditional | Valor con el que el resultado de XPath debe coincidir para incluir el contenido |
📝 Notas
- Todos los comandos deben estar dentro de controles de contenido de texto enriquecido.
- XPath debe seguir la sintaxis de XPath 1.0.
- Soportado tanto en Microsoft Word (con la Pestaña de Desarrollador) como en LibreOffice Writer.
- Puedes asignar un atajo de teclado en ambas aplicaciones para insertar rápidamente o convertir contenido en un control de contenido.
🖥️ Flujo de trabajo de la aplicación
- Selecciona el archivo fuente
.xmly la plantilla.docx. - Haz clic en el botón Ejecutar.
- El archivo de salida se genera con los datos insertados automáticamente.
📷 Guías visuales
🎞️ Habilitar la pestaña de Desarrollador en Microsoft Word
Opciones > Personalizar Cinta > Agregar Desarrollador
🎞️ Insertar un control de contenido
LibreOffice Formulario > Control de contenido > Texto Enriquecido
Microsoft Word Pestaña Desarrollador > Control de Contenido > Texto Enriquecido
⌨️ Atajos
Asigna atajos de teclado para insertar controles más rápido.
LibreOffice
- Ve a Herramientas > Personalizar > Teclado.
- Selecciona un Atajo de la lista (por ejemplo: Alt+F1).
- En la sección Funciones al final del cuadro de diálogo, escribe Control de contenido de texto enriquecido.
- Haz clic en el botón Asignar.
- Haz clic en el botón Aceptar.
Microsoft Office
- Ve a Opciones > Personalizar Cinta > Atajos de teclado en la parte inferior > Personalizar.
- Selecciona Pestaña Desarrollador de la lista Categorías.
- Selecciona ContentControlRichText de la lista Comandos.
- Selecciona el cuadro Presionar nueva tecla de acceso rápido.
- Pulsa la combinación de teclas deseada (por ejemplo: Alt+F1).
- Haz clic en el botón Asignar.
Ahora puedes crear un control de contenido o seleccionar cualquier texto para convertirlo en un control de contenido presionando el atajo asignado.
✅ Casos de uso soportados
- Declaraciones de herencia
- Pre-llenado de contratos
- Generación de documentos fiscales
- Borradores legales a partir de datos de formularios existentes
- Informes de RRHH a partir de registros estructurados de empleados
🔒 ¿Por qué usar este módulo?
- Precisión: Evita la escritura redundante manual y los errores de copiar y pegar.
- Eficiencia: Ahorra horas de formato y edición.
- Flexibilidad: Funciona con la mayoría de editores
.docxque soportan controles de contenido. - Ahorro de costes: Automatiza documentos rutinarios a una fracción del costo.
¿Listo para dejar de transcribir?
No pierdas más tiempo en tareas manuales. Únete a miles de profesionales que ya están optimizando su trabajo con la tecnología de DocToys.