Я хотел бы добавить это как комментарий, но, поскольку у меня недостаточно репутации, я не могу добавить комментарий к проголосовавшему ответу.
Обратите внимание, что в проголосовавшем ответе есть повторяющееся условие теста.
Изменить: это было упомянуто как комментарий, а также в другом ответе.
<xsl:if test="rsm:Waybill/rsm:MessageHeaderDocument/ram:ID and rsm:Waybill/rsm:MessageHeaderDocument/ram:ID != ''">
Решение есть,
<xsl:if test="rsm:Waybill/rsm:MessageHeaderDocument/ram:ID != ''">
Я проверял это.
<xsl:if test="someelement!=''">
проверит и , присутствует ли <someelement>
, а также имеет ли элемент значение.
<xsl:if test="someelement">
будет проверять только , присутствует ли <someelement>
Также есть
<xsl:if test="string-length(someelement)=0">
Это проверяет, является ли значение пустым, следовательно, оно возвращает true, если somelement
отсутствует, а также когда оно присутствует, но имеет пустое значение.