如何通过 xpath 获取 属性 类型

How do I get property type through xpath

如何使用 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 作为 url 参数,并且必须检查是否提供了 属性 值。如果是,我必须检查它是否是整数。

您只需使用正则表达式即可。

<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>