Одной из причин такого поведения является соответствие строки вашего первого шаблона
<xsl:template match="/system-data-structure">
В вашем XML корневым элементом является xml , а не system-data-structure . Это означает, что он ничего не соответствует, и именно поэтому встроенные шаблоны работают, как описано в предыдущем ответе.
Попробуйте заменить вышеприведенную строку этой ...
<xsl:template match="/xml/system-data-structure">
Это должно привести к следующему выводу
Found a learner! Found a learner!