2017-03-31 20 views
1

I持って、次のXSLT定義XSLT変換

<?xml version="1.0" encoding="UTF-8"?> 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
       xmlns:fo="http://www.w3.org/1999/XSL/Format" > 
    <xsl:output method="text" omit-xml-declaration="yes" indent="yes"/> 
    <xsl:template match="/"> 
     <xsl:value-of select="concat(//RedemptionFileName)"/> 
      <xsl:for-each select="//ErrorMessageList/ErrorMessage"> 
       <xsl:value-of select="concat(',',OrderNumber,',',OrderLineItemNumber,',',ErrorCode)"/> 
      </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 

私はサンプルを実行すると

<?xml version="1.0" encoding="utf-8"?> 
<ReceiptDetails xmlns="http://centivesolutions.com/AAA_Receipt.xsd"> 
    <schemaVersion>10.4</schemaVersion> 
    <RedemptionFileName>IncommBIFCFS_Order_20140319110741741.xml</RedemptionFileName> 
    <ErrorMessageList> 
     <ErrorMessage> 
      <OrderNumber>1615296</OrderNumber> 
      <OrderLineItemNumber>1910642</OrderLineItemNumber> 
      <ErrorCode>SNF</ErrorCode> 
      <ErrorDesc>street not found in city (finance number)</ErrorDesc> 
     </ErrorMessage> 
     <ErrorMessage> 
      <OrderNumber>1615297</OrderNumber> 
      <OrderLineItemNumber>1910643</OrderLineItemNumber> 
      <ErrorCode>SNF</ErrorCode> 
      <ErrorDesc>street not found in city (finance number)</ErrorDesc> 
     </ErrorMessage> 
     <ErrorMessage> 
      <OrderNumber>1615298</OrderNumber> 
      <OrderLineItemNumber>1910644</OrderLineItemNumber> 
      <ErrorCode>BNC</ErrorCode> 
      <ErrorDesc>PO Box not found in city (finance number)</ErrorDesc> 
     </ErrorMessage> 
     <ErrorMessage> 
      <OrderNumber>1615299</OrderNumber> 
      <OrderLineItemNumber>1910645</OrderLineItemNumber> 
      <ErrorCode>ANS</ErrorCode> 
      <ErrorDesc>address not on street</ErrorDesc> 
     </ErrorMessage> 
    </ErrorMessageList> 
</ReceiptDetails> 

の下にデータをtranformするために期待される出力は、この

IncommBIFCFS_Order_20140319110741741.xml,1615296,1910642,SNF,1615297,1910643,SNF,1615298,1910644,BNC,1615299,1910645,ANS 

のようになります。 Netbeans IDEを使用してテストしたい結果が得られますが、muleスタンドアロンサーバー3.7.0で実行すると例外がスローされます

org.apache.xpath.functions.FuncConcat only allows >1 arguments 

thisなどのオンラインフォーマッタでは、xsltが間違っていると表示されます。

<xsl:value-of select="concat(//RedemptionFileName)"/> 

は次のようになります。:

答えて

3

私はこれはと思う

<xsl:value-of select="//RedemptionFileName" /> 

あなたは一つだけをCONCAT(参加)しようとしている、エラーが言っているあなたは、参加するには、2つのまたはそれ以上のものが必要一緒に。