Как зациклить атрибут XML, который повторяется в родительском узле? - PullRequest
0 голосов
/ 29 апреля 2019

Это мой 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, но он не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...