首先请接受我的道歉。我以前没有使用XML的经验。我获得了一些具有XML配置文件的软件,该软件获取数据并查找匹配的项目。
问题:用户可以手动匹配记录,但没有任何内容可以阻止他们匹配名称不匹配的记录。
允许用户手动匹配记录的语法是:
<action name="ACCEPT">
<rules>
<rule>
<![CDATA[${AtLeastOneOfEach} and (abs(${TotalNetAmount}) <= decimalLimit("NetAmountLimit"))]]>
</rule>
</rules>
</action>
为了解决这个问题,我已经将一些示例数据加载到测试环境中,其中一个匹配包含一个名为&#34; John&#34;的客户端。然后我创建了一个这样的函数:
<function>
<name>AllAreJohn</name>
<description>match contains all clients called John</description>
<rule>
<![CDATA[(all have Client_Name="John") ]]>
</rule>
</function>
使用此功能,我已将手动操作编辑为:
<action name="ACCEPT">
<rules>
<rule>
<![CDATA[${AllAreJohn} and (abs(${TotalNetAmount}) <= decimalLimit("NetAmountLimit"))]]>
</rule>
</rules>
</action>
通过我的例子,上面似乎有效 - 客户名称是&#34; John&#34; (并满足其他标准)。
问题:是否有办法重新编写XML函数,这样我就不必每次都声明客户端名称。我基本上希望该函数确保只有在所有客户端名称相同时才能形成组。
希望这是有道理的。非常感谢您提前寻找可能提供的任何帮助。
答案 0 :(得分:0)
重新使用我在下面提到的配置中已经包含的一些代码,这实现了我原本希望做的事情。
<function>
<name>AllSameName</name>
<description>match contains all of the same client name</description>
<rule>
<![CDATA[(same Client_Name)]]>
</rule>
</function>