XSLT включает в себя шаблоны по умолчанию , которые вызываются, когда вы не пишете один для его переопределения. Например, если вы не включите шаблон, соответствующий корневому элементу, он сделает это:
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
Существует также шаблон по умолчанию, который будет выдавать текстовое содержимое сопоставленных элементов. Это, вероятно, тот «мусор», который вы видите в выходных данных.
Я предполагаю, что вам нужно предотвратить это, включив корневой шаблон и явно сопоставив те элементы, которые вас интересуют.