gpt4 book ai didi

java - XSLT 转换不起作用

转载 作者:行者123 更新时间:2023-11-29 04:32:44 25 4
gpt4 key购买 nike

我有以下 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>

预期的输出应该是这样的

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

应该是:

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

您试图仅连接(加入)一件事,错误是说您需要将两个或更多的东西连接在一起。

关于java - XSLT 转换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43147245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com