我将此作为输入
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId></MsgId>
<CreDtTm></CreDtTm>
<InitgPty>
<Id>
<OrgId>
<BICOrBEI></BICOrBEI>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId></OrgnlMsgId>
<OrgnlMsgNmId></OrgnlMsgNmId>
<OrgnlNbOfTxs></OrgnlNbOfTxs>
<OrgnlCtrlSum></OrgnlCtrlSum>
<GrpSts></GrpSts>
</OrgnlGrpInfAndSts>
</CstmrPmtStsRpt>
</Document>
我需要在下面提供xsi的详细信息以及
<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId></MsgId>
<CreDtTm></CreDtTm>
<InitgPty>
<Id>
<OrgId>
<BICOrBEI></BICOrBEI>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId></OrgnlMsgId>
<OrgnlMsgNmId></OrgnlMsgNmId>
<OrgnlNbOfTxs></OrgnlNbOfTxs>
<OrgnlCtrlSum></OrgnlCtrlSum>
<GrpSts></GrpSts>
</OrgnlGrpInfAndSts>
</CstmrPmtStsRpt>
</Document>
我目前正在使用xslt,我正在尝试使用它进行推送 命名空间和xsi,但因为我不能在我的接收端口上使用它 我需要使用传递管道的事实
*<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="@*|text()|comment()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/Document">
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:apply-templates select="@*|node()"/>
</Document>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}" namespace="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
*
需要相同的帮助
答案 0 :(得分:0)
您的匹配器<xsl:template match="/Document">
从未被调用,因为它缺少命名空间。
使用任何别名将命名空间添加到XSL,并将别名添加到匹配器。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:iso="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
...
<xsl:template match="/iso:Document">
答案 1 :(得分:0)
在自定义管道中使用了反汇编程序,它运行良好。