Я подозреваю, что у вас есть пространство имен по умолчанию, объявленное в вашей таблице стилей. Это эффективно поместит элементы и в пространство имен. Чтобы выбрать элементы, удовлетворяющие пространству имен, используя XPath 1.0, вы всегда должны использовать префикс в выражении.
Так что если у вас есть что-то вроде этого в верхней части таблицы стилей:
<xsl:stylesheet xmlns="http://example.com"...>
Тогда вам также нужно добавить это:
<xsl:stylesheet xmlns="http://example.com" xmlns:x="http://example.com"...>
А затем используйте префикс "x" в выражении XPath:
<xsl:for-each select="msxsl:node-set($rtf)/x:item-list/x:item">
<xsl:value-of select="@id"/>
</xsl:for-each>
Дайте мне знать, если это сработало. Я только размышляю здесь.