Una condición en una transformación responde a una pregunta: ¿debe ejecutarse esta regla ahora o Eofferix debe omitirla y continuar con la siguiente? Por ejemplo: si el precio es mayor que 100, añadir margen; si el SKU no está vacío, añadir un prefijo; si el valor contiene USD, eliminar esa subcadena.
Las mismas comprobaciones pueden aparecer en transformaciones y en condiciones de exportación, pero el resultado es distinto. Una transformación cambia el valor de un campo. Una condición de exportación decide si un campo, fila, producto o elemento XML/JSON aparece en el archivo final.
Dónde Se Usa La Condición
En una fila de transformación, la condición está entre la fuente del valor y la acción. Eofferix toma primero el valor de la fuente seleccionada, comprueba la condición y solo después ejecuta la acción.
- Fuente - el valor actual u otro nodo, atributo, columna o valor del sistema.
- Condición - la comprobación: cualquiera, igual, mayor que, contiene subcadena, vacío, expresión regular y otras opciones.
- Valor de condición - el valor usado para comparar. Condiciones como "cualquiera", "vacío" y "no vacío" no lo necesitan.
- Acción - qué hacer si la condición se cumple: reemplazar, eliminar espacios, aumentar en porcentaje, no cargar el campo, etc.
La condición no tiene que usar el campo actual. Por ejemplo, el valor Disponibilidad puede cambiar según el nodo vecino stock, y el precio puede cambiar según la moneda o una marca de actividad.
Antes O Después De Las Transformaciones
Dentro de una cadena de transformaciones, las reglas se ejecutan de arriba abajo. Cada fila recibe el resultado de la fila anterior. Si necesitas limpiar primero un precio de espacios y moneda y luego comprobarlo como número, coloca las reglas de limpieza por encima de la condición numérica.
Referencia De Condiciones
La referencia deja solo las columnas útiles: nombre de la condición, cuándo usarla y cómo se comporta. No hace falta una columna separada de Ejemplo porque los escenarios prácticos están más abajo.
| Condición | Cuándo usar | Comportamiento |
|---|---|---|
| cualquiera | La regla debe ejecutarse siempre. | Coincide con cualquier valor, incluso vacío. |
| igual | Necesitas una coincidencia exacta. | Compara el valor completo. Las mayúsculas importan solo si se activa la sensibilidad a mayúsculas. |
| no igual | Necesitas procesar todos los valores excepto uno. | Coincide cuando el valor es distinto del indicado. |
| mayor que | Necesitas comprobar un número: precio, peso, stock, cantidad. | Ambos lados de la comparación se leen como números. |
| menor que | Necesitas encontrar valores por debajo de un umbral. | Funciona como comprobación numérica. |
| mayor o igual que | El propio umbral también debe coincidir. | Coincide con un valor igual o superior al umbral. |
| menor o igual que | El propio umbral también debe coincidir. | Coincide con un valor igual o inferior al umbral. |
| contiene subcadena | Necesitas encontrar un fragmento dentro del texto. | Coincide si el texto indicado aparece en cualquier parte del valor. |
| no contiene subcadena | Necesitas excluir valores con una palabra, código o fragmento concreto. | Coincide si el texto indicado no aparece en el valor. |
| empieza por | Importa la primera parte del valor. | Coincide si el valor empieza por el texto indicado. |
| termina en | Importa la última parte del valor. | Coincide si el valor termina con el texto indicado. |
| vacío | Necesitas procesar campos sin valor. | Una cadena formada solo por espacios se considera vacía. |
| no vacío | La acción solo se necesita para valores rellenados. | Coincide cuando queda algo después de quitar espacios alrededor del valor. |
| expresión regular | Necesitas comprobar el valor con un patrón. | Coincide si la expresión regular encuentra una coincidencia. |
| no expresión regular | Necesitas procesar valores que no encajan con un patrón. | Coincide si la expresión regular no encuentra una coincidencia. |
Ejemplo Práctico
Abajo hay un fragmento XML de origen y dos variantes de configuración. La primera prepara un precio; la segunda crea el valor de disponibilidad a partir del nodo vecino stock.
<catalog>
<product>
<name>Escritorio Nordic</name>
<sku>SKU-110</sku>
<price>12 490 USD</price>
<stock>8</stock>
</product>
</catalog>
Variante 1: Preparar El Precio
El precio llega como texto: 12 490 USD. Para obtener un número, las reglas se ejecutan en secuencia: primero limpian el valor y luego comprueban el número preparado.
- Condición cualquiera: eliminar espacios del valor actual.
- Condición contiene subcadena con valor
USD: reemplazar la subcadena por un valor vacío. - Condición mayor que con valor
100: aumentar el precio un 10%.

| Antes | Reglas Ejecutadas | Después |
|---|---|---|
| 12 490 USD | eliminar espacios, quitar USD, aumentar un 10% | 13739 |
Variante 2: Crear Disponibilidad A Partir Del Stock
La disponibilidad puede rellenarse no desde su valor actual, sino desde el nodo vecino stock. Es útil cuando el archivo final necesita un estado textual y el origen contiene solo una cantidad.
- Primero, una regla con condición cualquiera define el valor base
in_stock. - La regla siguiente comprueba
{/catalog/product/stock}. Si el stock es menor o igual que0, el valor se reemplaza porout_of_stock.

| Stock De Origen | Resultado De Disponibilidad |
|---|---|
| 8 | in_stock |
| 0 | out_of_stock |
Qué Recordar
- Para condiciones numéricas, elimina primero moneda, espacios, unidades y otro texto.
- Para "contiene subcadena", "empieza por" y "termina en", el valor de búsqueda no debe estar vacío.
- Si necesitas eliminar todo el producto, fila o elemento XML/JSON, usa condiciones de exportación en lugar de transformar solo un campo.
- Si una regla no se ejecutó, revisa el orden de las filas: quizá la limpieza necesaria debe ocurrir antes.