Вы должны квалифицировать элементы в вашем XPath. На данный момент select="/schema/import[@namespace = //namespace::*]">
вообще ничего не соответствует, потому что нет элемента /schema
. XPath пытается сопоставить элементы с пространством имен no .
Измените его на select="/xs:schema/xs:import[@namespace = //namespace::*]">
, и оно должно работать.
Помните, префиксы пространства имен являются псевдонимом для URI пространства имен, и если у вас есть пространство имен по умолчанию (как в ваших файлах xsd), элементы без префикса по-прежнему будут квалифицированы для пространства имен.
Кроме того, вместо <xsl:for-each select="/schema/import[@namespace = //namespace::*]">
вы можете добиться большего успеха, используя <xsl:apply-templates select="/xs:schema/node()"
и определяя различные шаблоны для разных типов узлов, которые вы хотите скопировать в выходное дерево.