この行に何か入力 XML があります。
<Holding id="12">
<Policy>
<HoldingForm tc="1">Individual</HoldingForm>
<PolNumber>848433</PolNumber>
<LineOfBusiness tc="1">Life</LineOfBusiness>
<CarrierCode>67644</CarrierCode>
</Policy>
</Holding>
この XML に対する私の操作は、<PolNumber>
(スキーマのオプションの要素) に値があるかどうかによって異なります。これを行うためにMule 3.3xpath
エバリュエーターを使用しています。私の XPath 式は次のようになります。
<expression-filter expression="#[xpath('//acord:Holding/acord:Policy/acord:PolNumber').text != empty]"/>
<PolNumber>
要素が存在するか<PolNumber/>
空の要素である限り、これは正常に機能します。しかし、<PolNumber>
が存在しない場合、上記の式は例外をスローします。
XPath ブール関数を使用してみましたが、 for が返さtrue
れ<PolNumber/>
ます。要素が存在し、空でないかどうかを確認するより良い方法はありますか?
編集:
これは、私のミュール構成の名前空間マネージャーの構成です
<xm:namespace-manager includeConfigNamespaces="true">
<xm:namespace prefix="acord" uri="http://ACORD.org/Standards/Life/2" />
<xm:namespace prefix="soap" uri="http://schemas.xmlsoap.org/soap/encoding/" />
</xm:namespace-manager>