2013-04-26 3 views
1

나는 비슷한 수행하려고 할 때마다에 요소를 추가 : 나는의 효과에 뭔가를 말하고 산소에서 오류가XSLT XPath에 올바른 구문 선행-형제

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

을 ...

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 함수는 이전에 만든 적이없는 함수입니다.

문제의 원인을 파악하는 데 도움이 될 수 있습니다.

덕분에, 사라

답변

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)" /> 
+0

은 첫 번째는 잘 작동하는 것 같았다. 당신 정말 대단하네요!!! 감사! 약간 조정해야했습니다.

+0

그것을 듣고 교정 해줘서 고마워. 문제가 해결되면이 대답에 동의라고 표시하십시오. :) – JLRishe