Tarea
El XML del proveedor trae el plazo de entrega como texto: 3-5 dias, 14 dias, a veces bajo pedido. El catálogo necesita un lead time numérico para filtrar y ordenar.
Respuesta corta
Abra la configuración del valor delivery_time y agregue una regla: condición Expresión regular, valor \d+ (encuentra uno o más dígitos seguidos), acción Eliminar todo excepto.
Cómo hacerlo en Eofferix
Abra la configuración del valor
delivery_timeen el editor XML.
La animación abre la configuración del valor del nodo XML, no de todo el elemento offer.Agregue una regla: condición
Expresión regular, valor\d+(encuentra uno o más dígitos seguidos), acciónEliminar todo excepto.
La regla conserva el primer número encontrado y elimina la unidad textual. Guarde la configuración y pruebe valores con rango, un solo número y texto sin número.
Antes / después
Antes
datos de origen<catalog>
<offers>
<offer id="4001"><sku>SKU-4001</sku><name>Lampara Alba</name><delivery_time>3-5 dias</delivery_time><stock>12</stock></offer>
<offer id="4002"><sku>SKU-4002</sku><name>Sillon Costa</name><delivery_time>14 dias</delivery_time><stock>4</stock></offer>
</offers>
</catalog>Después
resultado<catalog>
<offers>
<offer id="4001"><sku>SKU-4001</sku><name>Lampara Alba</name><delivery_time>3</delivery_time><stock>12</stock></offer>
<offer id="4002"><sku>SKU-4002</sku><name>Sillon Costa</name><delivery_time>14</delivery_time><stock>4</stock></offer>
</offers>
</catalog>Qué conviene recordar
- Para un rango como
3-5 dias, la regla conserva el primer número:3. Si necesita el máximo, use otra expresión para el número después del guion. - Para valores sin número, como
bajo pedido, agregue una regla de reemplazo o una condición de exportación. - Este enfoque sirve para XML grandes donde el plazo debe ser un campo numérico del catálogo.