В основном это мой XML с некоторыми историческими данными:XSL элементы отсутствуют
<events>
<entry day="1" year="1901" month="1">
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
</entry>
<entry day="1" year="1902" month="1">
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
</entry>
</events>
С следующего XSL и некоторыми дополнительными данными, поступающих через работу билет один соответствующий вход должны быть выбран:
<xsl:template match="/">
<ereignisse><xsl:call-template name="ereignisse"/></ereignisse>
</xsl:template>
<xsl:template name="ereignisse">
<xsl:apply-templates select="//events/entry[
(number(@year) = 1901) and
(number(@month) = 1) and
(number(@day) = 1)]">
</xsl:apply-templates>
</xsl:template>
Так вывод теперь представляет собой простой текст. Но это должно выглядеть так:
<ereignisse>
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
<event>Blablabla blablabla</event>
</ereignisse>
Я пробовал несколько способов, но безуспешно. Надеюсь, вы можете мне помочь ...
Это не достаточно контекста для нас, чтобы определить, что является причиной проблемы. Что такое '$ events'? Откуда вы вызываете свой именованный шаблон? Минимальный, но полный пример, который воспроизводит проблему, был бы идеальным. –
Привет, Даниэль, я отредактировал публикацию, надеюсь, что это поможет ... – papastavro
Теперь ваш результат не будет открытым текстом, а скорее открытым текстом, обернутым элементом 'ereignisse'. Если вы не видите элемент 'ereignisse', возможно, вы просматриваете свой вывод в веб-браузере? Посмотрите на это с помощью текстового или XML-редактора. См. Ответ @ michael.hor257k для лучшего подхода. – kjhughes