Если я правильно понимаю, вы думаете о пользовательском интерфейсе, необходимом для создания необходимого xslt. Я делаю предположение, что это веб-приложение. Один из подходов состоит в том, чтобы использовать xslt, который визуализирует входной xml как html (я обычно использую xmlverbatim ). Вы можете изменить этот xslt для создания ссылок на узлы. Кроме того, вы можете использовать xslt для генерации xpath для этого элемента и сделать эту часть ссылки. Я использую это (опубликовано Джени Теннисон в XSL-List много лет назад)
<xsl:for-each select="ancestor-or-self::*">
<xsl:text />/<xsl:value-of select="name()" />
<xsl:text />[<xsl:number />]<xsl:text />
</xsl:for-each>
Сделав это, вы получите визуальный рендеринг xml (скорее как представления, представленные MSIE и Firefox), но с дополнительными ссылками на ваше приложение. Затем ваши пользователи могут выбрать интересующие вас узлы. Затем они предоставили вам необходимые вам xpath без необходимости писать их самим.
Генерация xslt, если у вас есть xpaths, значительно проще. Предложение Томалека, представленное выше, кажется верным. Если на самом деле вам не нужен xml в качестве конечного результата, вам может быть лучше просто использовать xml-анализатор, который позволяет вам выбирать узлы с заданным xpath.
Это станет более сложным, если информация, которую вы получаете, конечно же, содержит произвольное количество записей. Если это так, вы можете использовать многоступенчатый подход и использовать технику, которую я описал выше, чтобы извлечь запись из входных данных, а затем использовать подход для идентификации отдельных полей в записи.