如何通过xpath获取属性类型

时间:2017-12-10 07:55:50

标签: xml eclipse xpath wso2 wso2esb

如何使用xpath获取属性的数据类型。我的代码在

之下
 <filter xmlns:ns="http://org.apache.synapse/xsd" xpath="get-property('poNumber')=INTEGER">

我还需要检查属性是否为空。请参阅以下代码

<filter xmlns:ns="http://org.apache.synapse/xsd" xpath="get-property('poNumber')=''">

这是我的财产

<property expression="$url:poNumber" name="poNumber" scope="default"
type="INTEGER" xmlns:ns="http://org.apache.synapse/xsd"/>

我发送poNumber作为网址参数,并且必须检查是否提供了属性值。如果是,我必须检查它是否为整数。

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式执行此操作。

<filter source="$url:poNumber" regex=".*\S.*">
    <then>
        <log level="custom">
            <property name="Value is " value="Not Empty"/>
        </log>
        <filter source="$url:poNumber" regex="-?\d+">
            <then>
                <log level="custom">
                    <property name="Value is " value="Integer"/>
                </log>
            </then>
            <else>
                <log level="custom">
                    <property name="Value is " value="Not Integer"/>
                </log>
            </else>
        </filter>
    </then>
    <else>
        <log level="custom">
            <property name="Value is " value="Empty"/>
        </log>
    </else>
</filter>