Это мой XML (хранится в столбце таблицы),
<?xml version="1.0" encoding="UTF-8" standalone="no"?><report rep_name="test" rep_id="1" rep_link="www.report1.com"> </report>
Мой xsl похож на кодовую часть
<xsl:stylesheet version="1.0">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="/report">
<table>
<tr>
<td>Name: </td>
<td> <xsl:value-of select='@rep_name"/> </td>
</tr>
<tr>
<td>ID: </td>
<td> <xsl:value-of select='@rep_id"/> </td>
</tr>
<xsl:choose>
<xsl:when test="@rep_link!='NA'">
<tr>
<td>Link: </td>
<td> <xsl:value-of select='@rep_link"/> </td>
</tr>
</xsl:when>
</xsl:choose>
</table>
</xsl:for-each>
</body>
</html>
</xsl:tempalte>
</xsl:stylesheet>
, который в настоящее время анализирует и отображает значения,
Имя: тест
ID: 1
Ссылка: www.report1.com
Теперь нужно, чтобы могло быть больше потоковых атрибутов, и я должен обрабатывать их в цикле.
<?xml version="1.0" encoding="UTF-8" standalone="no"?><report rep_name="test" rep_id="1" rep_link="www.report1.com" rep_link="www.report2.com" rep_link="www.report3.com"> </report>
В приведенном выше xsl, если я хочу зациклить только атрибут «Ссылка», я попытался добавить цикл для каждого, как показано ниже, но он не работает,
<xsl:choose>
<xsl:when test="@rep_link!='NA'">
<xsl:for-each select ="rep_link">
<tr>
<td>Link: </td>
<td> <xsl:value-of select='@rep_link"/> </td>
</tr>
</xsl:for-each>
</xsl:when>
</xsl:choose>
Вывод должен быть таким,
Имя: тест
ID: 1
Ссылка: www.report1.com
Ссылка: www.report2.com
Ссылка: www.report3.com
Моя текущая версия XSL работает нормально с текущими значениями XML. Когда я делаю изменения для цикла, так как что-то не так, весь экран просто пустая страница.
Пожалуйста, помогите!
Я попытался ввести цикл for-each, но он не работает.