Ich habe überhaupt keine Programmierkenntnisse. Habe es aber geschafft, ein im Internet gefundenes XSLT-File so zu modifizieren, dass ich damit meine gewünschten Variablen einer xml-Datei auslesen kann. Habe verstanden, dass ich unter <METADATA> meine gewünschten Variablen im vorgegebenen Muster hinzufügen kann, und unter <RESULTSET> die entsprechenden Pfade angeben muss. Funktioniert wunderbar! Nur die Variable «xmlns» im obersten Knoten «Document» schaffe ich auch nach langem Tüfteln nicht auszulesen.
Wer kann mir sagen, was in der letzten Zeile unter <RESULTSET> stehen muss, damit ich für die Variable «xmlns» das folgende Ergebnis erhalte: urn:iso:std:iso:20022:tech:xsd:camt.054.001.04
So sieht der Anfang der xml-Datei aus:
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.04"> <BkToCstmrDbtCdtNtfctn> <GrpHdr> <MsgId>2021092700188143</MsgId> <CreDtTm>2021-09-27T09:27:34</CreDtTm> <MsgPgntn> <PgNb>1</PgNb> <LastPgInd>true</LastPgInd> </MsgPgntn> </GrpHdr> <Ntfctn> <Id>2021092788126144</Id> <ElctrncSeqNb>2</ElctrncSeqNb> <CreDtTm>2021-09-27T09:27:34</CreDtTm> <FrToDt> <FrDtTm>2021-06-28T00:00:00</FrDtTm> <ToDtTm>2021-09-26T23:59:59</ToDtTm> </FrToDt>
Und so das modifizierte XSLT-File:
<?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="urn:iso:std:iso:20022:tech:xsd:camt.054.001.04" version="1.0"> <!-- XSLT-stylesheet for FileMaker Pro and CAMT.054.xml-import. Katta Informatik GmbH, M. Liedtke, E. Fuellemann, Basel, [email protected] 20.03.2017 --> <xsl:template match="/ns0:Document"> <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> <ERRORCODE>0</ERRORCODE> <PRODUCT BUILD="" NAME="" VERSION="" /> <DATABASE DATEFORMAT="" LAYOUT="" NAME="" RECORDS="" TIMEFORMAT="hh:mm:ss" /> <METADATA> <FIELD EMPTYOK="YES" NAME="MsgId" TYPE="TEXT"/> <FIELD EMPTYOK="YES" NAME="CreDtTm" TYPE="TEXT"/> <FIELD EMPTYOK="YES" NAME="PgNb" TYPE="TEXT"/> <FIELD EMPTYOK="YES" NAME="LastPgInd" TYPE="TEXT"/> <FIELD EMPTYOK="YES" NAME="FrDtTm" TYPE="TEXT"/> <FIELD EMPTYOK="YES" NAME="ToDtTm" TYPE="TEXT"/> <FIELD EMPTYOK="YES" NAME="xmlns" TYPE="TEXT"/> </METADATA> <RESULTSET> <xsl:for-each select="ns0:BkToCstmrDbtCdtNtfctn"> <ROW> <COL><DATA><xsl:value-of select="ns0:GrpHdr/ns0:MsgId" /></DATA></COL> <COL><DATA><xsl:value-of select="ns0:GrpHdr/ns0:CreDtTm" /></DATA></COL> <COL><DATA><xsl:value-of select="ns0:GrpHdr/ns0:MsgPgntn/ns0:PgNb" /></DATA></COL> <COL><DATA><xsl:value-of select="ns0:GrpHdr/ns0:MsgPgntn/ns0:LastPgInd" /></DATA></COL> <COL><DATA><xsl:value-of select="ns0:Ntfctn/ns0:FrToDt/ns0:FrDtTm" /></DATA></COL> <COL><DATA><xsl:value-of select="ns0:Ntfctn/ns0:FrToDt/ns0:ToDtTm" /></DATA></COL> <COL><DATA><xsl:value-of select="../ns0:Document/@xmlns" /></DATA></COL> </ROW> </xsl:for-each> </RESULTSET> </FMPXMLRESULT> </xsl:template> </xsl:stylesheet>
Herzlichen Dank für eure Hilfe. Ich weiss jede Antwort zu schätzen. Rudolf
Comment