У меня есть XML-файл, как показано нижеXML в XSL файл
<?xml version="1.0" encoding="utf-8" ?>
<statusfile>
<job>
<name>Test2</name>
<curstatus>SUCCESS</curstatus>
<stablerevision>5752</stablerevision>
<curdate>12/02/2015</curdate>
<prevstatus>FAILURE</prevstatus>
<prevstable>5745</prevstable>
<prevdate>12/01/2015</prevdate>
</job>
<job>
<name>Test3</name>
<curstatus>SUCCESS</curstatus>
<stablerevision>5752</stablerevision>
<curdate>12/02/2015</curdate>
<prevstatus>SUCCESS</prevstatus>
<prevstable>5745</prevstable>
<prevdate>12/01/2015</prevdate>
</job>
</statusfile>
это то, что я пытался для XSL файла,
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table width="500px" border="1px" style="text-align:left;font-family:consolas">
<tr bgcolor="#2EFEF7">
<td bgcolor="#2EFEF7">
<b>JOB-NAME</b>
</td>
<td bgcolor="#2EFEF7">
<b>CURRENT-STATUS</b>
</td>
<td bgcolor="#2EFEF7">
<b>REVISION</b>
</td>
<td bgcolor="#2EFEF7">
<b>DATE</b>
</td>
<td bgcolor="#2EFEF7">
<b>PREVIOUS-STATUS</b>
</td>
<td bgcolor="#2EFEF7">
<b>REVISION</b>
</td>
<td bgcolor="#2EFEF7">
<b>DATE</b>
</td>
</tr>
<xsl:for-each select="statusfile/job">
<xsl:choose>
<xsl:when test="curstatus and prevstatus != 'SUCCESS'">
<xsl:for-each select="statusfile/job/currentstatus">
<tr bgcolor="#C1E3E8">
<td style="font-weight:bold" bgcolor="#FF0000">
<xsl:value-of select="name"/>
</td>
<td style="font-weight:bold" bgcolor="#FF0000">
<xsl:value-of select="curstatus"/>
</td>
<td style="font-weight:bold" bgcolor="#FF0000">
<xsl:value-of select="stablerevision"/>
</td>
<td style="font-weight:bold" bgcolor="#FF0000">
<xsl:value-of select="curdate"/>
</td>
<td style="font-weight:bold" bgcolor="#FF0000">
<xsl:value-of select="prevstatus"/>
</td>
<td style="font-weight:bold" bgcolor="#FF0000">
<xsl:value-of select="prevstable"/>
</td>
<td style="font-weight:bold" bgcolor="#FF0000">
<xsl:value-of select="prevdate"/>
</td>
</tr>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="statusfile/job/currentstatus">
<tr bgcolor="#C1E3E8">
<td style="font-weight:bold" bgcolor="#2EFE2E">
<xsl:value-of select="name"/>
</td>
<td style="font-weight:bold" bgcolor="#2EFE2E">
<xsl:value-of select="curstatus"/>
</td>
<td style="font-weight:bold" bgcolor="#2EFE2E">
<xsl:value-of select="stablerevision"/>
</td>
<td style="font-weight:bold" bgcolor="#2EFE2E">
<xsl:value-of select="curdate"/>
</td>
<td style="font-weight:bold" bgcolor="#2EFE2E">
<xsl:value-of select="prevstatus"/>
</td>
<td style="font-weight:bold" bgcolor="#2EFE2E">
<xsl:value-of select="prevstable"/>
</td>
<td style="font-weight:bold" bgcolor="#2EFE2E">
<xsl:value-of select="prevdate"/>
</td>
</tr>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
но я получаю только имена таблиц, а не полный выход с работы имя и его информацию. Думал что-то я здесь отсутствует
пожалуйста, помогите мне, Заранее спасибо Калян
Что такое '' for? Во-первых, в вашем XML нет элемента currentstatus, и если вы имеете в виду 'curstatus', то в каждом' задании 'есть только один из них. –
Ваш '' будет проверять, существует ли элемент 'curstatus' и что' prevstatus' существует и не имеет значения '' SUCCESS'', но я подозреваю, что это не то, что предназначено. Вы пытаетесь проверить, нет ли у элемента «УСПЕХА»? –
Flynn1179