0

間違いの原因を特定するためにデバッグを手伝ってもらえますか?
xml の 2 つの要素の平均を見つけて、最終的な xml に追加したいと思います。
私は何か根本的に間違ったことをしているかもしれません、助けてください。

前もって感謝します。式 s = (c + d)/2

XML ファイル

<?xml version="1.0" encoding="UTF-8"?>
<top>
    <Results>
        <a>no</a>
        <b>12</b>
        <c>12</c>
        <d>9</d>
    </Results>
    <Results>
        <a>yes</a>
        <b>8</b>
        <c>50</c>
        <d>12</d>
    </Results>
    <Results>
        <a>no</a>
        <b>6</b>
        <c>55</c>
        <d>56</d>
    </Results>
    <Results>
        <a>yes</a>
        <b>23</b>
        <c>32</c>
        <d>34</d>
    </Results>
</top>

xsl ファイル

<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="@* | node()" name="identity">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

  <xsl:variable name="x" select="//c"/>
  <xsl:variable name="y" select="//d"/>

<xsl:template match="b">
  <xsl:call-template name="identity"/>
  <s>
     <xsl:value-of select="($x + $y) div 2"/>
  </s>
</xsl:template>
</xsl:stylesheet>

出力を期待する

<?xml version="1.0"?>
<top>
  <Results>
    <a>no</a>
    <b>12</b>
    <s>10.5</s>
    <c>12</c>
    <d>9</d>
  </Results>
  <Results>
    <a>yes</a>
    <b>8</b>
    <s>31</s>
    <c>50</c>
    <d>12</d>
  </Results>
  <Results>
    <a>no</a>
    <b>6</b>
    <s>55.5</s>
    <c>55</c>
    <d>56</d>
  </Results>
  <Results>
    <a>yes</a>
    <b>23</b>
    <s>33</s>
    <c>32</c>
    <d>34</d>
  </Results>
</top>

上記のコードと入力は、実際のデータ セットをエミュレートするためのサンプルです。したがって、より大きなコードの一部であるこのコードの間違いを特定したいと考えています。どんな助けでも高く評価されます。

4

2 に答える 2