2015-08-06 4 views
0

ОК, у меня есть этот код XSLT, и он отлично работает, есть только одна проблема внутри условия. Как исправить мой XML-код?

<xsl:template match="/polinomio"> 
    <HTML> 
     <HEAD> 
     </HEAD> 
     <BODY> 
     </BODY> 
    </HTML> 
    <derivada> 
     <xsl:for-each select="termino"> 
      <xsl:copy> 
       <coeficiente> 
        <parentesis>(</parentesis> 
        <xsl:value-of select="coeficiente * grado" /> 
       </coeficiente> 
       <multi>*</multi> 
       <xsl:copy-of select="variable"/> 
       <grado> 

        <grado>^</grado> 
        <xsl:value-of select="grado - 1" /> 
       </grado> 
      </xsl:copy> 
     <parentesis>)</parentesis> 
     </xsl:for-each> 
    </derivada> 
</xsl:template> 

</xsl:stylesheet> 

это результат я получаю: (6 * х^1) (8 * х^3) но то, что мне нужно, чтобы иметь знак плюс между двумя скобками: (6 * x^1) + (8 * x^3) любая идея, как я должен это делать?

+0

отправьте свой xml – Saurav

+0

Круглые скобки являются излишними. И вы должны рассмотреть возможность отрицательного коэффициента. –

ответ

2

Если у меня возникла проблема, ваш for-each -loop выводит скобки (....), и вы хотите иметь знак плюса между каждым круглым скоблом. Итак, я хотел бы добавить следующий код между <parentesis>)</parentesis> и </xsl:for-each>:

<xsl:if test="position() lt last()">+</xsl:if> 

Это ставит + на выход, для последнего запуска цикла, за исключением.

Смежные вопросы