✨ Características principales
- Fusiona datos XML en plantillas
.docx
con 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 ensamblador — 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"?>
<Customer>
<CustomerID>1</CustomerID>
<Name>John Smith</Name>
<HighValueCustomer>True</HighValueCustomer>
<Orders>
<Order Number="1">
<ProductDescription>My Awesome Product</ProductDescription>
<Quantity>10</Quantity>
<OrderDate>December 20, 2025</OrderDate>
</Order>
<Order Number="2">
<ProductDescription>My Wonderful Product</ProductDescription>
<Quantity>3</Quantity>
<OrderDate>December 26, 2025</OrderDate>
</Order>
</Orders>
</Customer>
📝 Ejemplo de archivo de plantilla DOCX:
Estimado <Content Select="./Name" />
,
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="./CustomerID" />
.
Cuando crees imágenes, gráficos o diagramas, también se coordinarán con el aspecto actual de tu documento.
<Table Select="./Orders/Order" />
Descripción | Cantidad | Fecha de pedido |
---|---|---|
./ProductDescription | ./Quantity | ./OrderDate |
<Repeat Select="./Orders/Order"/>
La descripción del pedido #<Content Select="@Number"/>
es <Content Select="./ProductDescription"/>
.
Cantidad: <Content Select="./Quantity"/>
Fecha: <Content Select="./OrderDate"/>
<EndRepeat/>
✨
<Conditional Select="./HighValueCustomer" 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="./CustomerID"/>
<EndConditional/>
🧩 Referencia de Comandos de Plantillas para el Constructor de Documentos
El ensamblador de documentos 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="./Name" />
- Propósito: Inserta el valor seleccionado en línea en la ubicación del control de contenido.
- Ejemplo de salida:
Si el XML contiene<Name>John Doe</Name>
, la etiqueta se reemplazará por “John Doe”. - 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="./Orders/Order" />
- 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="./Orders/Order">
La descripción del pedido #<Content Select="@Number"/> es <Content Select="./ProductDescription"/>.
<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="./HighValueCustomer" 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
.xml
y 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 animación mostrando cómo habilitar la pestaña de Desarrollador]
🎞️ Insertar un control de contenido
LibreOffice Formulario > Control de contenido > Texto Enriquecido
▶️ [Insertar animación: LibreOffice – insertando control de contenido]
Microsoft Word Pestaña Desarrollador > Control de Contenido > Texto Enriquecido
▶️ [Insertar animación: Microsoft Word – insertando control de contenido]
⌨️ 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
.docx
que 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.