Я столкнулся с этой проблемой, когда оставил php foreach: тег закрыт.
<?php foreach($many as $one): ?>
Закрытие его с помощью после устранения синтаксической ошибки: unexpected end of file
<?php endforeach; ?>
Надеюсь, что это поможет кому-то
Не совсем, И должен быть нижний регистр.
<xsl:when test="4 < 5 and 1 < 2">
<!-- do something -->
</xsl:when>
Это действительно должно быть перенесено в < xsl:choose> так как это когда. И нижний регистр "и".
<xsl:choose>
<xsl:when test="4 < 5 and 1 < 2" >
<!-- do something -->
</xsl:when>
<xsl:otherwise>
<!-- do something else -->
</xsl:otherwise>
</xsl:choose>
От XML.com :
Как xsl:if инструкции, xsl:when элементы может иметь более тщательно продуманное содержание между их запуском - и закончиться-tags—, например, литеральные элементы результата, xsl:element элементы, или даже xsl:if и xsl:choose elements— для добавления к дереву результата. Их проверяемые выражения могут также использовать все приемы и операторы, которые тестовый атрибут xsl:if элемента может использовать, такой как и, или, и вызовы функции, для создания более сложных булевых выражений.