¿Cómo saber usar XPath si un elemento está presente y no está vacío?

Tengo una entrada XML algo en esta línea:

<Holding id="12">
    <Policy>
        <HoldingForm tc="1">Individual</HoldingForm>
        <PolNumber>848433</PolNumber>
        <LineOfBusiness tc="1">Life</LineOfBusiness>
        <CarrierCode>67644</CarrierCode>
    </Policy>
</Holding>

Mi manipulación en este XML depende de si<PolNumber> (Es un elemento opcional en el esquema) tiene un valor o no. Estoy usando Mule 3.3xpath evaluador para hacer esto y mi expresión XPath se ve esto:

<expression-filter expression="#[xpath('//acord:Holding/acord:Policy/acord:PolNumber').text != empty]"/> 

Esto funciona bien siempre y cuando<PolNumber> el elemento esta presente o<PolNumber/> Es un elemento vacío. Pero si<PolNumber> está ausente, por encima de la expresión arroja excepción.

Traté de usarXPath booleano Funciona pero vuelvetrue para<PolNumber/>. ¿Hay una mejor manera de verificar si un elemento está presente y no está vacío?

EDITAR:

Esta es la configuración del gestor de espacio de nombres en mi mule config.

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

Respuestas a la pregunta(5)

Su respuesta a la pregunta