Ваш шаблон соответствует узлу /
root, а soapenv:Fault
не является дочерним для этого узла. Это в дополнение к тому, что я сказал в комментарии относительно пространства имен DataLicensingFault
.
Если хотите, вы можете сделать просто:
<xsl:variable name="vCodeReason" select="//codeReason"/>
Чтобы использовать явный путь от текущего узла, вам нужно сделать:
<xsl:variable name="vCodeReason" select="S:Envelope/S:Body/S:Fault/detail/ns3:DataLicensingFault/codeReason"/>
и включить два объявления пространства имен в начальном теге stylesheet
.
Демонстрация : https://xsltfiddle.liberty-development.net/3MvmXiA