В Xalan XSLT 1.0 нужна функция для возврата всех имен дочерних элементов - PullRequest
0 голосов
/ 08 ноября 2011

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

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

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

author,title,publish_date,isbn_number

Мне нужно это для печати заголовка первой строки в CSV-файле

1 Ответ

2 голосов
/ 08 ноября 2011

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

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