의 불완전한 선언이 발생했습니다. 자세한 정보로 다시 시도합니다. 이것은 내 XSLT 파일입니다XML 변환 - 첫 번째 불완전한 게시 이후에 출력 파일
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns1:BBkDNFBlkDirDeb xmlns:ns5="urn:iso:std:iso:20022:tech:xsd:sdd:pacs.003.001.02" xmlns:ns1="urn:BBkDNF:xsd:BBkDNFBlkDirDeb">
<ns1:SndgInst>MARKDEF0</ns1:SndgInst>
<ns1:RcvgInst>HYVEDEMXXX</ns1:RcvgInst>
<ns1:SrvcId>COR</ns1:SrvcId>
<ns1:TstCode>T</ns1:TstCode>
<ns1:FType>DNF</ns1:FType>
<ns1:FileRef>20171020COR13143</ns1:FileRef>
<ns1:FileBusDt>2017-10-20</ns1:FileBusDt>
<ns1:RoutingInd>ALL</ns1:RoutingInd>
<ns1:FileCycleNo>05</ns1:FileCycleNo>
<ns1:NumDDBlk>00000001</ns1:NumDDBlk>
<ns1:NumPCRBlk>00000000</ns1:NumPCRBlk>
<ns1:NumREJBlk>00000000</ns1:NumREJBlk>
<ns1:FIToFICstmrDrctDbt>
<ns5:GrpHdr>
<ns5:MsgId>CHASDEFXXXX2017-10-20COR13140000003</ns5:MsgId>
<ns5:CreDtTm>2017-10-20T13:14:32.020</ns5:CreDtTm>
<ns5:NbOfTxs>1</ns5:NbOfTxs>
<ns5:TtlIntrBkSttlmAmt Ccy="EUR">14.33</ns5:TtlIntrBkSttlmAmt>
<ns5:IntrBkSttlmDt>2017-10-20</ns5:IntrBkSttlmDt>
<ns5:SttlmInf>
<ns5:SttlmMtd>CLRG</ns5:SttlmMtd>
<ns5:ClrSys>
<ns5:Prtry>SCL</ns5:Prtry>
</ns5:ClrSys>
</ns5:SttlmInf>
<ns5:InstdAgt>
<ns5:FinInstnId>
<ns5:BIC>HYVEDEMXXX</ns5:BIC>
</ns5:FinInstnId>
</ns5:InstdAgt>
</ns5:GrpHdr>
<ns5:DrctDbtTxInf>
<ns5:PmtId>
<ns5:InstrId>2017-10-20-COR1314300000</ns5:InstrId>
<ns5:EndToEndId>NotProvided</ns5:EndToEndId>
<ns5:TxId>Test123</ns5:TxId>
</ns5:PmtId>
<ns5:PmtTpInf>
<ns5:SvcLvl>
<ns5:Cd>SEPA</ns5:Cd>
</ns5:SvcLvl>
<ns5:LclInstrm>
<ns5:Cd>CORE</ns5:Cd>
</ns5:LclInstrm>
<ns5:SeqTp>RCUR</ns5:SeqTp>
</ns5:PmtTpInf>
<ns5:IntrBkSttlmAmt Ccy="EUR">14.33</ns5:IntrBkSttlmAmt>
<ns5:ChrgBr>SLEV</ns5:ChrgBr>
<ns5:ReqdColltnDt>2017-10-20</ns5:ReqdColltnDt>
<ns5:DrctDbtTx>
<ns5:MndtRltdInf>
<ns5:MndtId>AL1234567894</ns5:MndtId>
<ns5:DtOfSgntr>2013-01-03</ns5:DtOfSgntr>
<ns5:AmdmntInd>true</ns5:AmdmntInd>
<ns5:AmdmntInfDtls>
<ns5:OrgnlCdtrSchmeId>
<ns5:Nm>Test</ns5:Nm>
<ns5:Id>
<ns5:PrvtId>
<ns5:Othr>
<ns5:Id>DE98ZZZ09999999999</ns5:Id>
<ns5:SchmeNm>
<ns5:Prtry>SEPA</ns5:Prtry>
</ns5:SchmeNm>
</ns5:Othr>
</ns5:PrvtId>
</ns5:Id>
</ns5:OrgnlCdtrSchmeId>
</ns5:AmdmntInfDtls>
</ns5:MndtRltdInf>
<ns5:CdtrSchmeId>
<ns5:Id>
<ns5:PrvtId>
<ns5:Othr>
<ns5:Id>DE98ZZZ09999999999</ns5:Id>
<ns5:SchmeNm>
<ns5:Prtry>SEPA</ns5:Prtry>
</ns5:SchmeNm>
</ns5:Othr>
</ns5:PrvtId>
</ns5:Id>
</ns5:CdtrSchmeId>
</ns5:DrctDbtTx>
<ns5:Cdtr>
<ns5:Nm>Test</ns5:Nm>
</ns5:Cdtr>
<ns5:CdtrAcct>
<ns5:Id>
<ns5:IBAN>DE59501108006161508350</ns5:IBAN>
</ns5:Id>
</ns5:CdtrAcct>
<ns5:CdtrAgt>
<ns5:FinInstnId>
<ns5:BIC>CHASDEFXXXX</ns5:BIC>
</ns5:FinInstnId>
</ns5:CdtrAgt>
<ns5:Dbtr>
<ns5:Nm>Test</ns5:Nm>
</ns5:Dbtr>
<ns5:DbtrAcct>
<ns5:Id>
<ns5:IBAN>DE16702203005100001146</ns5:IBAN>
</ns5:Id>
</ns5:DbtrAcct>
<ns5:DbtrAgt>
<ns5:FinInstnId>
<ns5:BIC>HYVEDEMXXX</ns5:BIC>
</ns5:FinInstnId>
</ns5:DbtrAgt>
<ns5:UltmtDbtr/>
<ns5:RmtInf>
<ns5:Ustrd>Test ABC</ns5:Ustrd>
</ns5:RmtInf>
</ns5:DrctDbtTxInf>
</ns1:FIToFICstmrDrctDbt>
</ns1:BBkDNFBlkDirDeb>
:
이
내 입력 파일입니다 이<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:SCLSDD="urn:BBkDNF:xsd:BBkDNFBlkDirDeb"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:BBkDNF:xsd:BBkDNFBlkDirDeb BBkDNFBlkDirDeb.xsd"
xmlns:myTxNS="urn:iso:std:iso:20022:tech:xsd:sdd:pacs.003.001.02"
exclude-result-prefixes="myTxNS SCLSDD xsi">
<!-- Namespace myTxNS erforderlich um in der Basis-pacs.003-XML-Datei auf die einzelnen Transaktionen unterhalb von SCLSDD:FIToFIPmtRvsl zugreifen zu können -->
<xsl:output version="1.0" indent="yes" encoding="UTF-8" method="xml"/>
<xsl:param name="_find_iban" required="no"/>
<xsl:param name="_find_amount" required="no"/>
<xsl:param name="_find_iban2" required="no"/>
<xsl:param name="_find_amount2" required="no"/>
<xsl:param name="_rjct_anzahl" required="no"/>
<xsl:param name="_rjct_summe" required="no"/>
<xsl:template match="/">
<BBkUDF:BBkUDFBlkDirDeb
namespace="urn:iso:std:iso:20022:tech:xsd:sdd:pacs.003.001.02"
xmlns:BBkUDF="urn:BBkUDF:xsd:BBkUDFBlkDirDeb"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:BBkUDF:xsd:BBkUDFBlkDirDeb BBkUDFBlkDirDeb.xsd">
<BBkUDF:SndgInst>MARKDEF0</BBkUDF:SndgInst>
<!-- Sender ist immer BIC des SEPA Clearers im Test MARKDEF0 -->
<!-- <RcvgInst>
<xsl:value-of select="SCLSDD:BBkDNFBlkDirDeb/SCLSDD:SndgInst"/>
</RcvgInst> -->
<BBkUDF:RcvgInst>HYVEDEM0XXX</BBkUDF:RcvgInst>
<!-- als Empfänger kann nur die XXX Bank sein -->
<BBkUDF:SrvcId>
<xsl:value-of select="/SCLSDD:BBkDNFBlkDirDeb/SCLSDD:SrvcId"/>
</BBkUDF:SrvcId>
<!-- COR für CORE und B2B für B2B -->
<BBkUDF:TstCode>T</BBkUDF:TstCode>
<!-- T für Test -->
<BBkUDF:FType>UDF</BBkUDF:FType>
<!-- UDF für "Result of Settlement File" -->
<BBkUDF:FileRef>
<xsl:value-of select="format-dateTime(current-dateTime(),'[Y0001][M01][D01]P2[H01][m01][s01]')"/>
<!-- erzeugt eine 16stellige Filereferenz auf Basis aktuellem Datum damit es eindeutig ist und stellt eine Referenz des SEPA Clearers dar -->
</BBkUDF:FileRef>
<BBkUDF:RoutingInd>ALL</BBkUDF:RoutingInd>
<!-- ALL ist Standard für UDF -->
<BBkUDF:FileBusDt>
<xsl:value-of select="format-dateTime(current-dateTime(),'[Y0001]-[M01]-[D01]')"/>
<!-- Erstelldatum der Datei -->
</BBkUDF:FileBusDt>
<BBkUDF:FileCycleNo>05</BBkUDF:FileCycleNo>
<BBkUDF:FIToFICstmrDrctDbt>
<GrpHdr>
<MsgId>
<xsl:value-of select="/SCLSDD:BBkDNFBlkDirDeb/SCLSDD:FIToFICstmrDrctDbt/myTxNS:GrpHdr/myTxNS:MsgId"/>
</MsgId>
<CreDtTm>
<xsl:value-of select="/SCLSDD:BBkDNFBlkDirDeb/SCLSDD:FIToFICstmrDrctDbt/myTxNS:GrpHdr/myTxNS:CreDtTm"/>
</CreDtTm>
<NbOfTxs>
<xsl:value-of select="$_rjct_anzahl"/>
</NbOfTxs>
<TtlIntrBkSttlmAmt Ccy="EUR">
<xsl:value-of select="$_rjct_summe"/>
</TtlIntrBkSttlmAmt>
<IntrBkSttlmDt>
<xsl:value-of select="/SCLSDD:BBkDNFBlkDirDeb/SCLSDD:FIToFICstmrDrctDbt/myTxNS:GrpHdr/myTxNS:IntrBkSttlmDt"/>
</IntrBkSttlmDt>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
<ClrSys>
<Prtry>SCL</Prtry>
</ClrSys>
</SttlmInf>
<InstdAgt>
<FinInstnId>
<BIC>HYVEDEMXXX</BIC>
</FinInstnId>
</InstdAgt>
</GrpHdr>
<xsl:variable name="all_TxInf_Nodes" select="SCLSDD:BBkDNFBlkDirDeb/SCLSDD:FIToFICstmrDrctDbt/myTxNS:DrctDbtTxInf"/>
<xsl:for-each select="$all_TxInf_Nodes">
<!-- hier muss per If-Anweisung ermittelt werden, ob die Zahlung übernommen werden soll -->
<xsl:variable name="betrag" select="myTxNS:IntrBkSttlmAmt"/>
<xsl:variable name="iban" select="myTxNS:DbtrAcct/myTxNS:Id/myTxNS:IBAN"/>
<xsl:if test="(number($betrag)=number($_find_amount) and $iban=$_find_iban)">
<xsl:variable name="betrag" select="myTxNS:IntrBkSttlmAmt"/>
<!-- ermittelt den Betrag der Zahlung -->
<DrctDbtTxInf>
<xsl:apply-templates select="myTxNS:PmtId"/>
<xsl:apply-templates select="myTxNS:PmtTpInf"/>
<IntrBkSttlmAmt Ccy="EUR">
<xsl:value-of select="myTxNS:IntrBkSttlmAmt"/>
</IntrBkSttlmAmt>
<xsl:apply-templates select="myTxNS:ChrgBr"/>
<xsl:apply-templates select="myTxNS:ReqdColltnDt"/>
<xsl:apply-templates select="myTxNS:DrctDbtTx"/>
<xsl:apply-templates select="myTxNS:Cdtr"/>
<xsl:apply-templates select="myTxNS:CdtrAcct"/>
<xsl:apply-templates select="myTxNS:CdtrAgt"/>
<xsl:apply-templates select="myTxNS:UltmtCdtr"/>
<xsl:apply-templates select="myTxNS:InstgAgt"/>
<xsl:apply-templates select="myTxNS:Dbtr"/>
<xsl:apply-templates select="myTxNS:DbtrAcct"/>
<xsl:apply-templates select="myTxNS:DbtrAgt"/>
<xsl:apply-templates select="myTxNS:UltmDbtr"/>
<xsl:apply-templates select="myTxNS:Purp"/>
<xsl:apply-templates select="myTxNS:RmtInf"/>
</DrctDbtTxInf>
</xsl:if>
</xsl:for-each>
<xsl:for-each select="$all_TxInf_Nodes">
<!-- hier muss per If-Anweisung ermittelt werden, ob die Zahlung übernommen werden soll -->
<xsl:variable name="betrag" select="myTxNS:IntrBkSttlmAmt"/>
<xsl:variable name="iban" select="myTxNS:DbtrAcct/myTxNS:Id/myTxNS:IBAN"/>
<xsl:if test="(number($betrag)=number($_find_amount2) and $iban=$_find_iban2)">
<xsl:variable name="betrag" select="myTxNS:IntrBkSttlmAmt"/>
<!-- ermittelt den Betrag der Zahlung -->
<DrctDbtTxInf>
<xsl:apply-templates select="myTxNS:PmtId"/>
<xsl:apply-templates select="myTxNS:PmtTpInf"/>
<IntrBkSttlmAmt Ccy="EUR">
<xsl:value-of select="myTxNS:IntrBkSttlmAmt"/>
</IntrBkSttlmAmt>
<xsl:apply-templates select="myTxNS:ChrgBr"/>
<xsl:apply-templates select="myTxNS:ReqdColltnDt"/>
<xsl:apply-templates select="myTxNS:DrctDbtTx"/>
<xsl:apply-templates select="myTxNS:Cdtr"/>
<xsl:apply-templates select="myTxNS:CdtrAcct"/>
<xsl:apply-templates select="myTxNS:CdtrAgt"/>
<xsl:apply-templates select="myTxNS:UltmtCdtr"/>
<xsl:apply-templates select="myTxNS:InstgAgt"/>
<xsl:apply-templates select="myTxNS:Dbtr"/>
<xsl:apply-templates select="myTxNS:DbtrAcct"/>
<xsl:apply-templates select="myTxNS:DbtrAgt"/>
<xsl:apply-templates select="myTxNS:UltmDbtr"/>
<xsl:apply-templates select="myTxNS:Purp"/>
<xsl:apply-templates select="myTxNS:RmtInf"/>
</DrctDbtTxInf>
</xsl:if>
</xsl:for-each>
</BBkUDF:FIToFICstmrDrctDbt>
</BBkUDF:BBkUDFBlkDirDeb>
</xsl:template>
<xsl:template match="myTxNS:*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="myTxNS:*/*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="node()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
이 출력 파일의 첫 부분이다 (나머지는 올바른) :
<?xml version="1.0" encoding="UTF-8"?>
<BBkUDF:BBkUDFBlkDirDeb xmlns:BBkUDF="urn:BBkUDF:xsd:BBkUDFBlkDirDeb"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
namespace="urn:iso:std:iso:20022:tech:xsd:sdd:pacs.003.001.02"
xsi:schemaLocation="urn:BBkUDF:xsd:BBkUDFBlkDirDeb BBkUDFBlkDirDeb.xsd">
두 결과의 유일한 차이점은 나머지 입력 파일을 출력 파일로 올바르게 전송하는 데 사용되는 "네임 스페이스"입니다.
xslt-file에서 "namespace"(자리 표시 자)의 값을 예상 "xmlns"로 변경하면 생성 된 전체 파일이 손상됩니다. 다른 수준에 태그 "의 xmlns ="는 ""이 :(안 어디에 배치
I만을 대상/출력 파일에 다음과 같은 스키마 선언이 필요합니다
<BBkUDF:BBkUDFBlkDirDeb xsi:schemaLocation="urn:BBkUDF:xsd:BBkUDFBlkDirDeb BBkUDFBlkDirDeb.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:BBkUDF="urn:BBkUDF:xsd:BBkUDFBlkDirDeb" xmlns="urn:iso:std:iso:20022:tech:xsd:sdd:pacs.003.001.02">
That' 모든이야.
내가 다시 "어려운"나에게 피드백을 제공하는 것을 주저하지는하시기 바랍니다 썼다면. 감사 & BR 기독교
"XML 선언"은' xml version = '1.0'?>'같은 첫 번째 요소 앞에있는 구성입니다. 실제로 XML 선언이 아닌 네임 스페이스 선언에 문제가있는 것 같습니다. –
그래서 무엇이 문제이고, 주제와 텍스트가 XML 선언 (예 :' xml version = "1.0"?>)과 관련하여 말하면, 마지막 문장은 대상'xmlns'을 변경하는 것에 대해 이야기합니다. –
"말씨"에 대해 약간 혼란스럽게 생각해서 미안합니다 :) –