В Xalan XSLT 1.0 нужна функция для возврата всех имен дочерних элементов

Предположим, у меня есть этот XML...

<books>
  <book>
    <author>
    <title>
    <publish_date>
    <isbn_number>
  <book>
</books>

... как я могу написать функцию или использовать встроенные функции, чтобы вернуть строку, которая является просто разделенным запятыми конкатом всех имен дочерних элементов книги? как это...

author,title,publish_date,isbn_number

Мне нужно это, чтобы напечатать заголовок первой строки в CSV-файле

1 ответ

Решение

Следующая минимальная таблица стилей работает на заданном вами входном сигнале (измененном, чтобы быть правильно сформированным):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text"/>
    <xsl:strip-space elements="*"/>
    <xsl:template match="book/*">
        <xsl:value-of select="local-name()"/>
        <xsl:if test="position() != last()">,</xsl:if>
    </xsl:template>
</xsl:stylesheet>
Другие вопросы по тегам