упорядочение результата <xsl: when> в другой части страницы - PullRequest
0 голосов
/ 03 декабря 2011

У меня есть блочный код в XSLT, например:

    <xsl:template match="zootier">
    <xsl:choose>
      <xsl:when test="not(@flugfaeghig) or (@flugfaeghig='true')">
        <xsl:value-of select="name/text()"/>
        (<xsl:value-of select="@id"/>)
      </xsl:when>

      <xsl:otherwise>
        <xsl:if test="@flugfaeghig='false'">
          <xsl:value-of select="name/text()"/>
          (<xsl:value-of select="@id"/>)
        </xsl:if>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

Я хочу показать результат <xsl:when> в одной части моей страницы и <xsl:otherwise> в другой части. например, я хочу показать результат <xsl:when> во A и результат <xsl:otherwise> перед B

<xsl:template match="zoo">
    <html>
      <title>
        <xsl:text>ZOO</xsl:text>
      </title>
      <head>
        <h1>Behausung im Zoo "Zoogarten"</h1>
      </head>

      <table>
        <tr>
          <td>
            <xsl:text>A </xsl:text>
          </td>
        </tr>
        <tr>
          <td>
            <xsl:text>B</xsl:text>
          </td>

        </tr>
        <xsl:apply-templates select="zootier"  />
      </table>
    </html>

Подскажите, пожалуйста, как мне это сделать?

1 Ответ

0 голосов
/ 03 декабря 2011

Этот XSLT должен работать, если я вас хорошо понимаю. Если проблема все еще существует, не могли бы вы предоставить пример XML и желаемый результат. Я не мог проверить это.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 version="1.0">
    <xsl:template match="zoo">
        <html>
            <title>
                <xsl:text>ZOO</xsl:text>
            </title>
            <head>
                <h1>Behausung im Zoo "Zoogarten"</h1>
            </head>

            <table>
                <tr>
                    <th>
                        <xsl:apply-templates select="zootier[not(@flugfaeghig) or (@flugfaeghig='true')]"/>
                    </th>
                    <td>
                        <xsl:text>A </xsl:text>
                    </td>
                </tr>
                <tr>
                    <th>
                        <xsl:apply-templates select="zootier[@flugfaeghig='false']"/>
                    </th>
                    <td>
                        <xsl:text>B</xsl:text>
                    </td>

                </tr>
            </table>
        </html>
     </xsl:template>
    <xsl:template match="zootier">
       <xsl:value-of select="concat(name,' (',@id,')')"/>        
    </xsl:template>
</xsl:stylesheet>

Идея состоит в том, чтобы фильтровать нужные zootier элементы там, где они вам нужны.

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