XSLT,我正在使用自己的 XSLT 示例进行学习,但它没有按预期工作

  • 本文关键字:XSLT 工作 学习 自己的 xslt
  • 更新时间 :
  • 英文 :


首先,我的代码是..

<?xml version="1.0" encoding="UTF-8"?>
<mpml>
   <problem>
      <context>
         <p>두 다항식 $A=x^2 - xy + 2y^2$, $B=3x^2 + 2xy - y^2$에 대하여 $A-B$를 계산한 식이 $ax^2 +bxy + cy^2$일 때, 상수 $a+b+c$의 값은?</p>
      </context>
      <answerlist>
         <i>-4</i>
         <i>-2</i>
         <i>0</i>
         <i>2</i>
         <i>4</i>
      </answerlist>
   </problem>
   <problem>
      <context>
         <p>연립방정식 $begin{cases} x+y+z=30 \ 2x+3y+4z=93 \ y=z+3 end{cases}$의 해를 $x=a$, $y=b$, $z=c$라 할 때, $a-2b+3c$의 값은? (단, $a$, $b$, $c$는 실수.)</p>
      </context>
      <answerlist>
         <i>7</i>
         <i>9</i>
         <i>11</i>
         <i>13</i>
         <i>15</i>
      </answerlist>
   </problem>
</mpml>

它的xsl代码是..

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:template match="/">
   <h2> Testing.. </h2>
   <xsl:apply-templates/>
   </xsl:template>
   <xsl:template match="problem">
      <div class="problem">
      <xsl:apply-templates select="context"/>
      <xsl:apply-templates select="answerlist"/>
      </div>
   </xsl:template>
   <xsl:template match="context">
      <div class="context">
      </div>
   </xsl:template>
   <xsl:template match="answerlist">
      <div class="answerlist">
         test answerlist
      </div>
   </xsl:template>
</xsl:transform>

在XSLTTryit编辑器中(感谢w3school),上面的XSLT正如我所期望的那样工作。然而,当我在服务器上尝试此操作时,会发现"文档末尾有额外内容"错误,除了第一个模板外什么都没有显示。

我认为问题在于XSLT在输出中不能生成格式良好的XML:在模板<xsl:template match="/">中,应该将内容封装在一个根标记中。

例如:

   <xsl:template match="/">
     <body>
       <h2> Testing.. </h2>
       <xsl:apply-templates/>
     </body>
   </xsl:template>

最新更新