XML:XSLT, как проверить, если элемент существует в массиве
<Calendars xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Urnik.xsd">
<Calendar>
<Name>Marko</Name>
<Days>
<Day>
<Date>2013-05-13</Date>
<DayType>1</DayType>
<DayWorking>1</DayWorking>
<WorkingTimes>
<WorkingTime>
<FromTime>08:00</FromTime>
<ToTime>11:00</ToTime>
<Name>Izpit Matematika</Name>
<Owner>Marko</Owner>
<Category>
<School Professor="111" Room="1" Subject="882" />
</Category>
</WorkingTime>
<WorkingTime>
<FromTime>13:00</FromTime>
<ToTime>17:00</ToTime>
<Name>Vaje APZ</Name>
<Owner>Marko</Owner>
<Category>
<School Professor="222" Room="11" Subject="881"/>
</Category>
</WorkingTime>
<WorkingTime>
<FromTime>20:00</FromTime>
<ToTime>22:00</ToTime>
<Name>Vaje aaaaaa</Name>
<Owner>Marko</Owner>
<Category>
<School Professor="222" Room="11" Subject="881"/>
</Category>
</WorkingTime>
</WorkingTimes>
</Day>
<Day>
<Date>2013-05-14</Date>
<DayType>2</DayType>
...
</Day>
XSLT:
<xsl:for-each select="Calendar/Days/Day">
<xsl:choose>
<xsl:when test="DayType = 1">
<xsl:variable name="vTransfers" select="child::*/WorkingTime"/>
Могу ли я каким-то образом проверить эту переменную vTransfers
если 08:00
существуют в FromTime
. Я не хочу зацикливаться на нем. Мне нужно поместить его в строку TD
. И я сейчас в этом TD, и мне нравится проверять, есть ли 08:00
в FromTime
в этом массиве.
Я пытаюсь что-то вроде
<xsl:when test="contains($vTransfers/ToTime, '08:00')">
<xsl:text>IN</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>OUT</xsl:text>
</xsl:otherwise>
но всегда принимает только один Елки и не проверить весь массив.
Вы всегда должны включать в выходной HTML, который вы хотите видеть. (Кроме того, поскольку вы удалили свой предыдущий вопрос: вам удалось решить его самостоятельно?) – Tomalak