Следует помнить, что пространство имен по умолчанию не совпадает с пустым пространством имен, а в xslt отсутствие указания пространства имен в пути является пустым пространством имен, а НЕ по умолчанию.(Я полагаю, что пространство имен по умолчанию будет действовать для литералов.) Так что в вашей таблице стилей xsl вам нужно указать пространство имен GPX с префиксом и использовать этот префикс в своих путях:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:gpx="http://www.topografix.com/GPX/1/1" >
<xsl:template match="/">
<xsl:for-each select='gpx:gpx/gpx:trk/gpx:trkseg/gpx:trkpt'>
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Выможет также соответствовать использованию функций, таких как local-name () в пути:
select='//*[local-name(.)="trkpt"]'
, но обычно лучше использовать явные пространства имен.