XSL if: тест с несколькими условиями теста

[Решаемые]

Благодаря @IanRoberts мне пришлось использовать функцию нормализации пространства на моих узлах, чтобы проверить, были ли они пустыми.

<xsl:if test="((node/ABC!='') and (normalize-space(node/DEF)='') and (normalize-space(node/GHI)=''))">
  This worked perfectly fine.
</xsl:if>

[Проблема]

Я пытаюсь создать условие xsl, чтобы проверить, являются ли комбинации узлов пустыми или нет. Я пробовал ниже условия, но они не работают, у кого-нибудь есть идея, как заставить его работать

<xsl:if test=" node/ABC!='' and node/DEF='' and node/GHI='' ">
This does not work
</xsl:if>

Я также пытался

<xsl:when test="((node/ABC!='') and (node/DEF='') and (node/GHI=''))">
This does not work either..
</xsl:when>

А также попробовал

<xsl:if test="(node/ABC!='')>
<xsl:if test="(node/DEF='')>
<xsl:if test="(node/GHI='')">
Nope not working..
</xsl:if>
</xsl:if>
</xsl:if>

Я тогда попробовал с одним xsl: если условия, а ниже это наблюдение

<xsl:if test="node/ABC!=''>
**This is working fine**
</xsl:if>

Однако, если я пытаюсь найти пустое условие, т.е.

<xsl:if test="node/ABC=''>
**This does not work**
</xsl:if>

Кроме того, если я пытаюсь с == (double равно), то это дает ошибку xslt. т.е.

<xsl:if test="node/ABC==''>
***This gives a compilation error***
</xsl:if>

Я хотел бы помочь выяснить, как получить мой xsl: если тест работает для проверки нескольких условий. Заранее спасибо.

[Редактировать]: Просто чтобы обновить здесь, что условие if, где все узлы не пустые, работает, оно не работает, когда я пытаюсь проверить любой другой узел из трех пустых узлов.

Например:

<xsl:if test=" node/ABC!='' and node/DEF!='' and node/GHI!='' ">
This condition works perfectly fine.
</xsl:if>

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

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