¿Qué es la sintaxis Greex?
Mediante la sintaxis Greex puede crear condiciones de XML avanzado o reglas Greex. Las condiciones de XML avanzado se utilizan para evaluar determinadas condiciones en los datos de entrada. La sintaxis Greex se basa en XML. Este estilo de evaluación de condiciones le permite utilizar los datos de entrada de distintas formas, en lugar de únicamente como una salida booleana.
La sintaxis Greex proporciona construcciones Greex que son capaces de anidarse utilizando varios bloques IF y ELSE y también permite agrupar expresiones utilizando un operador AND u OR. Cada expresión consta de una o varias llamadas a función. Puede incluir funciones en un bucle anidado, lo que significa que los parámetros que se le pasan a las funciones pueden ser otras llamadas a función. Estas contienen condiciones IF ELSE básicas. En la siguiente tabla se describen distintos elementos de una construcción If/Else.
Elemento |
Descripción |
|---|---|
Condición |
El elemento Condition permite agrupar de forma lógica todas las expresiones que han de evaluarse operando en un XML de entrada. |
Devolución |
Cada condición definida en la construcción
If/Else debe devolver un valor. Una condición puede devolver un
elemento XML, una serie o un valor booleano. Devuelve el valor
adecuado para una condición If/Else en el elemento Return. Por ejemplo:
|
El elemento Condition contiene varios elementos Expression. Cada elemento Expression define la expresión que desea evaluar para la condición especificada. En la tabla siguiente se describen los distintos elementos de una condición.
Elemento |
Descripción |
|---|---|
Expresión |
El elemento Expression contiene las expresiones que desea evaluar para que se satisfaga una condición. Para realizar llamadas a función en la expresión, utilice "fn:" como prefijo del nombre de función. Por ejemplo, defina el siguiente elemento Expression que hace una llamada a función: También puede pasar funciones como parámetros a otras funciones. Por ejemplo, puede definir el siguiente elemento Expression para pasar funciones como parámetros a otras funciones: |
Grupo |
Es un elemento opcional. Si desea evaluar todo un conjunto de expresiones, debe agrupar el conjunto de expresiones. El atributo "op" del elemento Group indica la operación que desea realizar en el conjunto de expresiones. Los valores válidos son: "or" y "and". Puede definir más de una expresión en un elemento Group. Si el valor op del elemento Group es "and", la condición se satisface solamente si TODAS las expresiones que forman parte del elemento Group se evalúan como "true". Del mismo modo, si el atributo "op" del elemento Group es "or", la condición se satisface solamente si UNA de las expresiones que forman parte del elemento Group se evalúa como "true". Puede crear cualquier nivel de elementos Group y Expression anidados. Nota: Si desea evaluar una única expresión, defina un solo elemento Expression en el elemento Condition, sin crear el elemento Group. |
<If>
<Condition name="isWebOrder?">
<Group op="and">
<Expression>fn:!equals(@orderType,"WEB")</Expression>
<Expression>fn:equals(address::@ZipCode, "01876")</Expression>
</Group>
</Condition>
<Return>
<Value output="<Order type="Web"
discount="5"/>"/>
</Return>
</If>
<Else>
<Return>
<Value output="<Order type="Catalog"
discount="2"/>"/>
</Return>
</Else>