Причина, по которой ваша попытка не работает, заключается в том, что GetSpecialtiesResponse
и GetSpecialtiesResult
также находятся в пространстве имен, даже если у них нет префикса.
Если вы измените объявление пространства имен:
xmlns="http://tempuri.org/"
на:
xmlns:t="http://tempuri.org/"
и выполните:
<xsl:for-each select="s:Envelope/s:Body/t:GetSpecialtiesResponse/t:GetSpecialtiesResult/a:Specialty">
, вы получите (почти) результат, который вы хотите. В остальном добавьте атрибут exclude-result-prefixes
к вашему элементу xsl:stylesheet
и используйте его для предотвращения копирования избыточных объявлений пространства имен в результат.