1

次のようなことをしようとするたびに:

<xsl:value-of select="wd:XMLNAME_57-Payment_Deducted+preceding-sibling::wd:Result_Lines/wd:XMLNAME_57-Payment_Deducted"></xsl:value-of>

Oxygen でエラーが表示されます...

Description: XPTY0004: A sequence of more than one item is not allowed as the second operand of '+'

それぞれの状況を変数に変えてから、追加関数で変数を呼び出して、シーケンスを作成しようとしました。何も機能していないようです:

<xsl:variable name="child_support" select="preceding-sibling::wd:Result_Lines/wd:XMLNAME_57-Payment_Deducted[position()=1]"></xsl:variable>
    <xsl:value-of select="sum(wd:XMLNAME_57-Payment_Deducted+(concat($child_support, '')))"></xsl:value-of>
    <xsl:sequence select="format-number(preceding-sibling::wd:Result_Lines/wd:XMLNAME_57-Payment_Deducted+wd:XMLNAME_57-Payment_Deducted, '#')"></xsl:sequence>

これは、加算演算子を呼び出そうとしている xml に似たものです。

<?xml version='1.0' encoding='UTF-8'?>
<wd:Report_Data xmlns:wd="urn:com.workday.report/CR-INT034-ADP-Garnishment_Disbursements_File-Outbound2">
  <wd:Report_Entry>
    <wd:Result_Lines>
      <wd:XMLNAME_57-Payment_Deducted>2</wd:XMLNAME_57-Payment_Deducted>
    </wd:Result_Lines>
    <wd:Result_Lines>
      <wd:XMLNAME_57-Payment_Deducted>276.92</wd:XMLNAME_57-Payment_Deducted>
    </wd:Result_Lines>
  </wd:Report_Entry>
</wd:Report_Data>

私は何が欠けていますか?xslt 関数を作成した場合、それは機能しますか? XSLT 関数は、これまで作成したことがないものです。

問題が何であるかを理解するのに役立つことがあります。

ありがとう、サラ

4

1 に答える 1

0

これはどう:

<xsl:value-of select="sum(wd:XMLNAME_57-Payment_Deducted |
                          preceding-sibling::wd:Result_Lines/
                                 wd:XMLNAME_57-Payment_Deducted)" />

または少しきれいに:

<xsl:variable name="thisAndPreceding"
              select=". | preceding-sibling::wd:Result_Lines" />
<xsl:value-of select="sum($thisAndPreceding/wd:XMLNAME_57-Payment_Deducted)" />
于 2013-04-26T07:41:20.803 に答える