В 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>