Как узнать, используя XPath, если элемент присутствует и не пустой?

У меня есть входной 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 логический функция, но она возвращает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>

Ответы на вопрос(5)

Ваш ответ на вопрос