【问题标题】:XSLT, I'm studying with my own XSLT example, but it doesn't work as I expectedXSLT,我正在学习我自己的 XSLT 示例,但它没有按我预期的那样工作
【发布时间】:2016-05-07 11:54:33
【问题描述】:

首先,我的代码是..

<?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>

在 XSLT Tryit 编辑器中(感谢 w3school),上面的 XSLT 可以正常工作。但是,当我在我的服务器上尝试此操作时,“文档末尾有一个额外的内容”。除了第一个模板之外,错误和什么都没有显示。

【问题讨论】:

  • 我们不知道预期的输出是什么。在任何情况下,发布的代码都不会产生任何错误。

标签: xslt


【解决方案1】:

我认为问题在于您的 XSLT 不会在输出中生成格式良好的 XML:在模板 &lt;xsl:template match="/"&gt; 中,您应该将内容包装在单个根标记中。

例如:

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

【讨论】:

  • 不需要 XSLT 样式表来生成格式良好的 XML 文档。如果这是错误的原因,那么 XSLT 处理器不会抛出错误(或者至少不应该抛出)。
猜你喜欢
  • 2021-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-19
  • 2013-04-11
  • 1970-01-01
相关资源
最近更新 更多